public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@lst.de>
To: "Nicholas A. Bellinger" <nab@linux-iscsi.org>
Cc: Christoph Hellwig <hch@lst.de>,
	linux-iscsi-target-dev@googlegroups.com,
	target-devel <target-devel@vger.kernel.org>,
	linux-scsi <linux-scsi@vger.kernel.org>
Subject: Re: [PATCH 39/42] target: Call transport_new_cmd instead of adding to cmd queue
Date: Sat, 4 Jun 2011 16:18:42 +0200	[thread overview]
Message-ID: <20110604141842.GA13579@lst.de> (raw)
In-Reply-To: <1307154838.8419.55.camel@haakon2.linux-iscsi.org>

On Fri, Jun 03, 2011 at 07:33:58PM -0700, Nicholas A. Bellinger wrote:
> >  - what is the point of the transport_generic_process_write wrapper?
> 
> Minus the stubbed WRITE overflow copy stuff, this primarly used by
> tcm_loop to queue up the cmd's tasks for execution via
> transport_execute_tasks() instead of a direct fabric module call..
> 
> Currently tcm_loop is the only user of this as we know the full WRITE
> payload is available once the struct scsi_cmd as been dispatched via
> ->queuecommand().

As a first step the stubbed out code really should go away ASAP, it's
really rather confusing as it has little chance to work for the current
code base.  As a follow-on transport_generic_process_write should be
replaced by a direct call to transport_execute_tasks, to make it more
obvious what's going on here.

If we then plan to keep the direct task execution from the submitter
context we should document why we're doing that.  One option would be
to make ->write_pending return a boolean indicator whether we should
call transport_exectute_tasks from
transport_generic_write_pending/transport_generic_new_cmd, and thus
making it more obvious that's it's actually similar to the read path
in that respect.

I'm still not convinced that running the read/write/flush/discard tasks
from the caller is an all that good idea.  They will 100% block for the
file backend, and can block when we reach the request limit with iblock,
and the blocking behaviour might differ for different kinds of requests.


  reply	other threads:[~2011-06-04 14:18 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1306523240-15543-1-git-send-email-agrover@redhat.com>
2011-05-27 22:15 ` [PATCH 0/42 RESEND+NEW] Target updates for May 27 Nicholas A. Bellinger
2011-05-27 22:35   ` Christoph Hellwig
2011-05-27 23:39     ` Nicholas A. Bellinger
2011-05-28  7:43       ` Christoph Hellwig
2011-05-28 19:09         ` Nicholas A. Bellinger
2011-05-29  2:23         ` Andy Grover
2011-05-30 12:56           ` Christoph Hellwig
     [not found] ` <1306523240-15543-11-git-send-email-agrover@redhat.com>
2011-05-31  7:08   ` [PATCH 10/42] target: Rewrite transport_init_task_sg() Nicholas A. Bellinger
2011-05-31 21:04     ` Andy Grover
2011-05-31 21:08       ` Christoph Hellwig
2011-06-01  0:33         ` Nicholas A. Bellinger
     [not found] ` <1306523240-15543-38-git-send-email-agrover@redhat.com>
2011-05-31  9:00   ` [PATCH 37/42] target/iscsi: Do not use t_mem_list anymore Nicholas A. Bellinger
     [not found] ` <1306523240-15543-40-git-send-email-agrover@redhat.com>
2011-05-31  9:32   ` [PATCH 39/42] target: Call transport_new_cmd instead of adding to cmd queue Nicholas A. Bellinger
2011-05-31  9:48     ` Christoph Hellwig
2011-05-31 10:10       ` Nicholas A. Bellinger
2011-05-31 10:22         ` Christoph Hellwig
2011-05-31 11:22           ` Nicholas A. Bellinger
2011-05-31 10:17     ` Christoph Hellwig
2011-05-31 11:18       ` Nicholas A. Bellinger
2011-06-01  4:09         ` Christoph Hellwig
2011-06-04  2:33           ` Nicholas A. Bellinger
2011-06-04 14:18             ` Christoph Hellwig [this message]
     [not found] ` <1306523240-15543-42-git-send-email-agrover@redhat.com>
2011-05-31  9:58   ` [PATCH 41/42] target/iscsi: remove unsolicited_data_comp completion Nicholas A. Bellinger
     [not found] ` <1306523240-15543-43-git-send-email-agrover@redhat.com>
2011-05-31 10:59   ` [PATCH 42/42] target/file: Alloc iov[] off the stack Nicholas A. Bellinger

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=20110604141842.GA13579@lst.de \
    --to=hch@lst.de \
    --cc=linux-iscsi-target-dev@googlegroups.com \
    --cc=linux-scsi@vger.kernel.org \
    --cc=nab@linux-iscsi.org \
    --cc=target-devel@vger.kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox