From: Chris Leech <cleech@redhat.com>
To: Mike Christie <michael.christie@oracle.com>
Cc: skashyap@marvell.com, lduncan@suse.com, njavali@marvell.com,
mrangankar@marvell.com, GR-QLogic-Storage-Upstream@marvell.com,
martin.petersen@oracle.com, linux-scsi@vger.kernel.org,
jejb@linux.ibm.com
Subject: Re: [PATCH 07/10] scsi: iscsi: Merge suspend fields
Date: Fri, 8 Apr 2022 18:56:41 -0700 [thread overview]
Message-ID: <YlDn2dGFua2/XUXl@localhost> (raw)
In-Reply-To: <20220408001314.5014-8-michael.christie@oracle.com>
On Thu, Apr 07, 2022 at 07:13:11PM -0500, Mike Christie wrote:
> Move the tx and rx suspend fields into one flags field.
>
> Reviewed-by: Lee Duncan <lduncan@suse.com>
> Signed-off-by: Mike Christie <michael.christie@oracle.com>
> ---
> drivers/scsi/bnx2i/bnx2i_hwi.c | 2 +-
> drivers/scsi/bnx2i/bnx2i_iscsi.c | 2 +-
> drivers/scsi/cxgbi/libcxgbi.c | 6 +++---
> drivers/scsi/libiscsi.c | 20 ++++++++++----------
> drivers/scsi/libiscsi_tcp.c | 2 +-
> include/scsi/libiscsi.h | 9 +++++----
> 6 files changed, 21 insertions(+), 20 deletions(-)
Reviewed-by: Chris Leech <cleech@redhat.com>
> diff --git a/drivers/scsi/bnx2i/bnx2i_hwi.c b/drivers/scsi/bnx2i/bnx2i_hwi.c
> index 5521469ce678..e16327a4b4c9 100644
> --- a/drivers/scsi/bnx2i/bnx2i_hwi.c
> +++ b/drivers/scsi/bnx2i/bnx2i_hwi.c
> @@ -1977,7 +1977,7 @@ static int bnx2i_process_new_cqes(struct bnx2i_conn *bnx2i_conn)
> if (nopin->cq_req_sn != qp->cqe_exp_seq_sn)
> break;
>
> - if (unlikely(test_bit(ISCSI_SUSPEND_BIT, &conn->suspend_rx))) {
> + if (unlikely(test_bit(ISCSI_CONN_FLAG_SUSPEND_RX, &conn->flags))) {
> if (nopin->op_code == ISCSI_OP_NOOP_IN &&
> nopin->itt == (u16) RESERVED_ITT) {
> printk(KERN_ALERT "bnx2i: Unsolicited "
> diff --git a/drivers/scsi/bnx2i/bnx2i_iscsi.c b/drivers/scsi/bnx2i/bnx2i_iscsi.c
> index fe86fd61a995..15fbd09baa94 100644
> --- a/drivers/scsi/bnx2i/bnx2i_iscsi.c
> +++ b/drivers/scsi/bnx2i/bnx2i_iscsi.c
> @@ -1721,7 +1721,7 @@ static int bnx2i_tear_down_conn(struct bnx2i_hba *hba,
> struct iscsi_conn *conn = ep->conn->cls_conn->dd_data;
>
> /* Must suspend all rx queue activity for this ep */
> - set_bit(ISCSI_SUSPEND_BIT, &conn->suspend_rx);
> + set_bit(ISCSI_CONN_FLAG_SUSPEND_RX, &conn->flags);
> }
> /* CONN_DISCONNECT timeout may or may not be an issue depending
> * on what transcribed in TCP layer, different targets behave
> diff --git a/drivers/scsi/cxgbi/libcxgbi.c b/drivers/scsi/cxgbi/libcxgbi.c
> index 8c7d4dda4cf2..4365d52c6430 100644
> --- a/drivers/scsi/cxgbi/libcxgbi.c
> +++ b/drivers/scsi/cxgbi/libcxgbi.c
> @@ -1634,11 +1634,11 @@ void cxgbi_conn_pdu_ready(struct cxgbi_sock *csk)
> log_debug(1 << CXGBI_DBG_PDU_RX,
> "csk 0x%p, conn 0x%p.\n", csk, conn);
>
> - if (unlikely(!conn || conn->suspend_rx)) {
> + if (unlikely(!conn || test_bit(ISCSI_CONN_FLAG_SUSPEND_RX, &conn->flags))) {
> log_debug(1 << CXGBI_DBG_PDU_RX,
> - "csk 0x%p, conn 0x%p, id %d, suspend_rx %lu!\n",
> + "csk 0x%p, conn 0x%p, id %d, conn flags 0x%lx!\n",
> csk, conn, conn ? conn->id : 0xFF,
> - conn ? conn->suspend_rx : 0xFF);
> + conn ? conn->flags : 0xFF);
> return;
> }
>
> diff --git a/drivers/scsi/libiscsi.c b/drivers/scsi/libiscsi.c
> index d09926e6c8a8..5e7bd5a3b430 100644
> --- a/drivers/scsi/libiscsi.c
> +++ b/drivers/scsi/libiscsi.c
> @@ -1392,8 +1392,8 @@ static bool iscsi_set_conn_failed(struct iscsi_conn *conn)
> if (conn->stop_stage == 0)
> session->state = ISCSI_STATE_FAILED;
>
> - set_bit(ISCSI_SUSPEND_BIT, &conn->suspend_tx);
> - set_bit(ISCSI_SUSPEND_BIT, &conn->suspend_rx);
> + set_bit(ISCSI_CONN_FLAG_SUSPEND_TX, &conn->flags);
> + set_bit(ISCSI_CONN_FLAG_SUSPEND_RX, &conn->flags);
> return true;
> }
>
> @@ -1454,7 +1454,7 @@ static int iscsi_xmit_task(struct iscsi_conn *conn, struct iscsi_task *task,
> * Do this after dropping the extra ref because if this was a requeue
> * it's removed from that list and cleanup_queued_task would miss it.
> */
> - if (test_bit(ISCSI_SUSPEND_BIT, &conn->suspend_tx)) {
> + if (test_bit(ISCSI_CONN_FLAG_SUSPEND_TX, &conn->flags)) {
> /*
> * Save the task and ref in case we weren't cleaning up this
> * task and get woken up again.
> @@ -1532,7 +1532,7 @@ static int iscsi_data_xmit(struct iscsi_conn *conn)
> int rc = 0;
>
> spin_lock_bh(&conn->session->frwd_lock);
> - if (test_bit(ISCSI_SUSPEND_BIT, &conn->suspend_tx)) {
> + if (test_bit(ISCSI_CONN_FLAG_SUSPEND_TX, &conn->flags)) {
> ISCSI_DBG_SESSION(conn->session, "Tx suspended!\n");
> spin_unlock_bh(&conn->session->frwd_lock);
> return -ENODATA;
> @@ -1746,7 +1746,7 @@ int iscsi_queuecommand(struct Scsi_Host *host, struct scsi_cmnd *sc)
> goto fault;
> }
>
> - if (test_bit(ISCSI_SUSPEND_BIT, &conn->suspend_tx)) {
> + if (test_bit(ISCSI_CONN_FLAG_SUSPEND_TX, &conn->flags)) {
> reason = FAILURE_SESSION_IN_RECOVERY;
> sc->result = DID_REQUEUE << 16;
> goto fault;
> @@ -1935,7 +1935,7 @@ static void fail_scsi_tasks(struct iscsi_conn *conn, u64 lun, int error)
> void iscsi_suspend_queue(struct iscsi_conn *conn)
> {
> spin_lock_bh(&conn->session->frwd_lock);
> - set_bit(ISCSI_SUSPEND_BIT, &conn->suspend_tx);
> + set_bit(ISCSI_CONN_FLAG_SUSPEND_TX, &conn->flags);
> spin_unlock_bh(&conn->session->frwd_lock);
> }
> EXPORT_SYMBOL_GPL(iscsi_suspend_queue);
> @@ -1953,7 +1953,7 @@ void iscsi_suspend_tx(struct iscsi_conn *conn)
> struct Scsi_Host *shost = conn->session->host;
> struct iscsi_host *ihost = shost_priv(shost);
>
> - set_bit(ISCSI_SUSPEND_BIT, &conn->suspend_tx);
> + set_bit(ISCSI_CONN_FLAG_SUSPEND_TX, &conn->flags);
> if (ihost->workq)
> flush_workqueue(ihost->workq);
> }
> @@ -1961,7 +1961,7 @@ EXPORT_SYMBOL_GPL(iscsi_suspend_tx);
>
> static void iscsi_start_tx(struct iscsi_conn *conn)
> {
> - clear_bit(ISCSI_SUSPEND_BIT, &conn->suspend_tx);
> + clear_bit(ISCSI_CONN_FLAG_SUSPEND_TX, &conn->flags);
> iscsi_conn_queue_work(conn);
> }
>
> @@ -3330,8 +3330,8 @@ int iscsi_conn_bind(struct iscsi_cls_session *cls_session,
> /*
> * Unblock xmitworker(), Login Phase will pass through.
> */
> - clear_bit(ISCSI_SUSPEND_BIT, &conn->suspend_rx);
> - clear_bit(ISCSI_SUSPEND_BIT, &conn->suspend_tx);
> + clear_bit(ISCSI_CONN_FLAG_SUSPEND_RX, &conn->flags);
> + clear_bit(ISCSI_CONN_FLAG_SUSPEND_TX, &conn->flags);
> return 0;
> }
> EXPORT_SYMBOL_GPL(iscsi_conn_bind);
> diff --git a/drivers/scsi/libiscsi_tcp.c b/drivers/scsi/libiscsi_tcp.c
> index 2e9ffe3d1a55..883005757ddb 100644
> --- a/drivers/scsi/libiscsi_tcp.c
> +++ b/drivers/scsi/libiscsi_tcp.c
> @@ -927,7 +927,7 @@ int iscsi_tcp_recv_skb(struct iscsi_conn *conn, struct sk_buff *skb,
> */
> conn->last_recv = jiffies;
>
> - if (unlikely(conn->suspend_rx)) {
> + if (unlikely(test_bit(ISCSI_CONN_FLAG_SUSPEND_RX, &conn->flags))) {
> ISCSI_DBG_TCP(conn, "Rx suspended!\n");
> *status = ISCSI_TCP_SUSPENDED;
> return 0;
> diff --git a/include/scsi/libiscsi.h b/include/scsi/libiscsi.h
> index e76c94697c1b..84086c240228 100644
> --- a/include/scsi/libiscsi.h
> +++ b/include/scsi/libiscsi.h
> @@ -53,8 +53,10 @@ enum {
>
> #define ISID_SIZE 6
>
> -/* Connection suspend "bit" */
> -#define ISCSI_SUSPEND_BIT 1
> +/* Connection flags */
> +#define ISCSI_CONN_FLAG_SUSPEND_TX BIT(0)
> +#define ISCSI_CONN_FLAG_SUSPEND_RX BIT(1)
> +
>
> #define ISCSI_ITT_MASK 0x1fff
> #define ISCSI_TOTAL_CMDS_MAX 4096
> @@ -211,8 +213,7 @@ struct iscsi_conn {
> struct list_head cmdqueue; /* data-path cmd queue */
> struct list_head requeue; /* tasks needing another run */
> struct work_struct xmitwork; /* per-conn. xmit workqueue */
> - unsigned long suspend_tx; /* suspend Tx */
> - unsigned long suspend_rx; /* suspend Rx */
> + unsigned long flags; /* ISCSI_CONN_FLAGs */
>
> /* negotiated params */
> unsigned max_recv_dlength; /* initiator_max_recv_dsl*/
> --
> 2.25.1
>
next prev parent reply other threads:[~2022-04-09 1:56 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-08 0:13 [PATCH 00/10] iscsi fixes Mike Christie
2022-04-08 0:13 ` [PATCH 01/10] scsi: iscsi: Move iscsi_ep_disconnect Mike Christie
2022-04-09 1:36 ` Chris Leech
2022-04-08 0:13 ` [PATCH 02/10] scsi: iscsi: Fix offload conn cleanup when iscsid restarts Mike Christie
2022-04-08 17:21 ` Lee Duncan
2022-04-09 1:36 ` Chris Leech
2022-04-08 0:13 ` [PATCH 03/10] scsi: iscsi: Release endpoint ID when its freed Mike Christie
2022-04-08 17:39 ` Lee Duncan
2022-04-09 1:40 ` Chris Leech
2022-04-11 7:22 ` wubo (T)
2022-04-08 0:13 ` [PATCH 04/10] scsi: iscsi: Fix endpoint reuse regression Mike Christie
2022-04-08 17:40 ` Lee Duncan
2022-04-09 1:41 ` Chris Leech
2022-04-08 0:13 ` [PATCH 05/10] scsi: iscsi: Fix conn cleanup and stop race during iscsid restart Mike Christie
2022-04-08 17:48 ` Lee Duncan
2022-04-09 1:46 ` Chris Leech
2022-04-08 0:13 ` [PATCH 06/10] scsi: iscsi: Fix unbound endpoint error handling Mike Christie
2022-04-08 17:55 ` Lee Duncan
2022-04-09 1:54 ` Chris Leech
2022-04-08 0:13 ` [PATCH 07/10] scsi: iscsi: Merge suspend fields Mike Christie
2022-04-09 1:56 ` Chris Leech [this message]
2022-04-08 0:13 ` [PATCH 08/10] scsi: iscsi: Fix nop handling during conn recovery Mike Christie
2022-04-09 1:59 ` Chris Leech
2022-04-08 0:13 ` [PATCH 09/10] scsi: qedi: Fix failed disconnect handling Mike Christie
2022-04-08 16:49 ` [EXT] " Manish Rangankar
2022-04-08 17:58 ` Lee Duncan
2022-04-09 2:00 ` Chris Leech
2022-04-08 0:13 ` [PATCH 10/10] scsi: iscsi: Add Mike Christie as co-maintainer Mike Christie
2022-04-08 17:59 ` Lee Duncan
2022-04-09 1:57 ` Chris Leech
2022-04-08 16:47 ` [EXT] [PATCH 00/10] iscsi fixes Manish Rangankar
2022-04-12 2:36 ` Martin K. Petersen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YlDn2dGFua2/XUXl@localhost \
--to=cleech@redhat.com \
--cc=GR-QLogic-Storage-Upstream@marvell.com \
--cc=jejb@linux.ibm.com \
--cc=lduncan@suse.com \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.com \
--cc=michael.christie@oracle.com \
--cc=mrangankar@marvell.com \
--cc=njavali@marvell.com \
--cc=skashyap@marvell.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.