netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Roland Dreier <rdreier@cisco.com>
To: David Miller <davem@davemloft.net>
Cc: rick.jones2@hp.com, jgarzik@pobox.com,
	swise@opengridcomputing.com, divy@chelsio.com, kxie@chelsio.com,
	netdev@vger.kernel.org, open-iscsi@googlegroups.com,
	michaelc@cs.wisc.edu, daisyc@us.ibm.com, wenxiong@us.ibm.com,
	bhua@us.ibm.com, dm@chelsio.com, leedom@chelsio.com,
	linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [RFC][PATCH 1/1] cxgb3i: cxgb3 iSCSI initiator
Date: Wed, 13 Aug 2008 14:27:50 -0700	[thread overview]
Message-ID: <ada3al8k3l5.fsf@cisco.com> (raw)
In-Reply-To: <20080811.145313.178992274.davem@davemloft.net> (David Miller's message of "Mon, 11 Aug 2008 14:53:13 -0700 (PDT)")

 > > How can you place iSCSI data properly with only stateless offloads?

 > By teaching the stateless offload how to parse the iSCSI headers
 > on the flow and place the data into pages at the correct offsets
 > such that you can place the pages hanging off of the SKB directly
 > into the page cache.

I don't see how this could work.  First, it seems that you have to let
the adapter know which connections are iSCSI connections so that it
knows when to try and parse iSCSI headers.  So you're already not
totally stateless.  Then, since (AFAIK -- I'm not an expert on iSCSI and
especially I'm not an expert on what common practice is for current
implementations) the iSCSI PDUs can start at any offset in the TCP
stream, I don't see how a stateless adapter can even find the PDU
headers to parse -- there's not any way that I know of to recognize
where a PDU boundary is without keeping track of the lengths of all the
PDUs that go by (ie you need per-connection state).

Even if the adapter could find the PDUs, I don't see how it could come
up with the correct offset to place the data -- PDUs with response data
just carry an opaque tag assigned by the iSCSI initiator.  Finally, if
there are ways around all of those difficulties, we would still have to
do major surgery to our block layer to cope with read requests that
complete into random pages, rather than using a scatter list passed into
the low-level driver.


But I think all this argument is missing the point anyway.  The real
issue is not hand-waving about what someone might build someday, but how
we want to support iSCSI offload with the existing Chelsio, Broadcom,
etc adapters.  The answer might be, "we don't," but I disagree with that
choice because:

 a. "No upstream support" really ends up being "enterprise distros and
    customers end up using hacky out-of-tree drivers and blaming us."

 b. It sends a bad message to vendors who put a lot of effort into
    writing a clean, mergable driver and responding to review if the
    answer is, "Sorry, your hardware is wrong so no driver for you."

Maybe the answer is that we just add the iSCSI HBA drivers with no help
from the networking stack, and ignore the port collision problem.  For
iSCSI initiators, it's really not an issue: for a 4-tuple to collide,
someone would have to use both offloaded and non-offloaded connections
to the same target and be unlucky in the source port chosen.  It would
be nice to be able to discuss solutions to port collisions, but it may
be that this is too emotional an issue for that to be possible.

 - R.

  parent reply	other threads:[~2008-08-13 21:27 UTC|newest]

Thread overview: 71+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-30  0:19 [RFC][PATCH 1/1] cxgb3i: cxgb3 iSCSI initiator Karen Xie
2008-07-30 18:15 ` Shyam_Iyer
2008-07-30 18:37   ` Karen Xie
2008-07-30 19:21 ` Roland Dreier
2008-07-30 19:35 ` Jeff Garzik
2008-07-30 21:35   ` Roland Dreier
2008-08-01  0:51     ` Divy Le Ray
2008-08-07 18:45       ` Divy Le Ray
2008-08-07 20:07         ` Mike Christie
2008-08-08 18:09         ` Steve Wise
2008-08-08 22:15           ` Jeff Garzik
2008-08-08 22:20             ` Jeff Garzik
2008-08-09  7:28             ` David Miller
2008-08-09 14:04               ` Steve Wise
2008-08-10  5:14               ` Roland Dreier
2008-08-10  5:47                 ` David Miller
2008-08-10  6:34                   ` Herbert Xu
2008-08-10 17:57                   ` Steve Wise
2008-08-11 16:09                   ` Roland Dreier
2008-08-11 21:09                     ` David Miller
2008-08-11 21:37                       ` Roland Dreier
2008-08-11 21:51                         ` David Miller
2008-08-11 23:20                       ` Steve Wise
2008-08-11 23:45                         ` Divy Le Ray
2008-08-12  0:22                         ` David Miller
2008-08-10  5:12             ` Roland Dreier
2008-08-10  5:46               ` David Miller
2008-08-11 16:07                 ` Roland Dreier
2008-08-11 21:08                   ` David Miller
2008-08-11 21:39                     ` Roland Dreier
2008-08-11 21:52                       ` David Miller
2008-08-11 18:13                 ` Rick Jones
2008-08-11 21:12                   ` David Miller
2008-08-11 21:41                     ` Roland Dreier
2008-08-11 21:53                       ` David Miller
2008-08-12 21:57                         ` Divy Le Ray
2008-08-12 22:01                           ` David Miller
2008-08-12 22:02                           ` David Miller
2008-08-12 22:21                             ` Divy Le Ray
2008-08-13  1:57                               ` Herbert Xu
2008-08-13 18:35                               ` Vladislav Bolkhovitin
2008-08-13 19:29                                 ` Jeff Garzik
2008-08-13 20:13                                   ` David Miller
2008-08-14 18:24                                   ` Vladislav Bolkhovitin
2008-08-14 21:59                                     ` Nicholas A. Bellinger
2008-08-13 20:23                                 ` David Miller
2008-08-14 18:27                                   ` Vladislav Bolkhovitin
2008-08-14 18:30                                     ` Vladislav Bolkhovitin
2008-08-13 21:27                         ` Roland Dreier [this message]
2008-08-13 22:08                           ` David Miller
2008-08-13 23:03                             ` Roland Dreier
2008-08-13 23:12                               ` David Miller
2008-08-14  1:26                                 ` Tom Tucker
2008-08-14  1:37                                   ` David Miller
2008-08-14  1:52                                     ` Steve Wise
2008-08-14  2:05                                       ` David Miller
2008-08-14  2:44                                         ` Steve Wise
2008-08-14  1:57                                     ` Tom Tucker
2008-08-14  2:07                                       ` David Miller
2008-08-14  2:09                                   ` David Miller
2008-08-14 20:45                     ` Andrew Gallatin
2008-08-14 22:23                       ` David Miller
2008-08-15 12:19                         ` Andrew Gallatin
2008-08-10  6:24               ` Herbert Xu
2008-08-10  9:19               ` Alan Cox
2008-08-10 12:49                 ` Jeff Garzik
2008-08-10 14:54                   ` James Bottomley
     [not found]                     ` <1218380086.3418.21.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2008-08-11 16:50                       ` Mike Christie
2008-07-31  1:24   ` Karen Xie
2008-07-31 12:45     ` Boaz Harrosh
2008-07-31 12:33 ` Boaz Harrosh

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=ada3al8k3l5.fsf@cisco.com \
    --to=rdreier@cisco.com \
    --cc=bhua@us.ibm.com \
    --cc=daisyc@us.ibm.com \
    --cc=davem@davemloft.net \
    --cc=divy@chelsio.com \
    --cc=dm@chelsio.com \
    --cc=jgarzik@pobox.com \
    --cc=kxie@chelsio.com \
    --cc=leedom@chelsio.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=michaelc@cs.wisc.edu \
    --cc=netdev@vger.kernel.org \
    --cc=open-iscsi@googlegroups.com \
    --cc=rick.jones2@hp.com \
    --cc=swise@opengridcomputing.com \
    --cc=wenxiong@us.ibm.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).