iscsi-target: move iscsit_thread_check_cpumask()
Move iscsit_thread_check_cpumask() to header file so that ISCSI_HW_OFFLOAD and other transport drivers can call this function to ensure both tx and rx thread runs on same cpu. Signed-off-by: Varun Prakash <varun@chelsio.com> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
This commit is contained in:
parent
8567270d8d
commit
c0b7373be8
|
@ -3580,32 +3580,6 @@ void iscsit_thread_get_cpumask(struct iscsi_conn *conn)
|
|||
cpumask_setall(conn->conn_cpumask);
|
||||
}
|
||||
|
||||
static inline void iscsit_thread_check_cpumask(
|
||||
struct iscsi_conn *conn,
|
||||
struct task_struct *p,
|
||||
int mode)
|
||||
{
|
||||
/*
|
||||
* mode == 1 signals iscsi_target_tx_thread() usage.
|
||||
* mode == 0 signals iscsi_target_rx_thread() usage.
|
||||
*/
|
||||
if (mode == 1) {
|
||||
if (!conn->conn_tx_reset_cpumask)
|
||||
return;
|
||||
conn->conn_tx_reset_cpumask = 0;
|
||||
} else {
|
||||
if (!conn->conn_rx_reset_cpumask)
|
||||
return;
|
||||
conn->conn_rx_reset_cpumask = 0;
|
||||
}
|
||||
/*
|
||||
* Update the CPU mask for this single kthread so that
|
||||
* both TX and RX kthreads are scheduled to run on the
|
||||
* same CPU.
|
||||
*/
|
||||
set_cpus_allowed_ptr(p, conn->conn_cpumask);
|
||||
}
|
||||
|
||||
static int
|
||||
iscsit_immediate_queue(struct iscsi_conn *conn, struct iscsi_cmd *cmd, int state)
|
||||
{
|
||||
|
|
|
@ -890,4 +890,30 @@ static inline u32 session_get_next_ttt(struct iscsi_session *session)
|
|||
}
|
||||
|
||||
extern struct iscsi_cmd *iscsit_find_cmd_from_itt(struct iscsi_conn *, itt_t);
|
||||
|
||||
static inline void iscsit_thread_check_cpumask(
|
||||
struct iscsi_conn *conn,
|
||||
struct task_struct *p,
|
||||
int mode)
|
||||
{
|
||||
/*
|
||||
* mode == 1 signals iscsi_target_tx_thread() usage.
|
||||
* mode == 0 signals iscsi_target_rx_thread() usage.
|
||||
*/
|
||||
if (mode == 1) {
|
||||
if (!conn->conn_tx_reset_cpumask)
|
||||
return;
|
||||
conn->conn_tx_reset_cpumask = 0;
|
||||
} else {
|
||||
if (!conn->conn_rx_reset_cpumask)
|
||||
return;
|
||||
conn->conn_rx_reset_cpumask = 0;
|
||||
}
|
||||
/*
|
||||
* Update the CPU mask for this single kthread so that
|
||||
* both TX and RX kthreads are scheduled to run on the
|
||||
* same CPU.
|
||||
*/
|
||||
set_cpus_allowed_ptr(p, conn->conn_cpumask);
|
||||
}
|
||||
#endif /* ISCSI_TARGET_CORE_H */
|
||||
|
|
Loading…
Reference in New Issue