From: Vladislav Bolkhovitin <vst@vlnb.net>
To: Jeff Garzik <jgarzik@pobox.com>
Cc: David Miller <davem@davemloft.net>,
open-iscsi@googlegroups.com, rdreier@cisco.com,
rick.jones2@hp.com, Steve Wise <swise@opengridcomputing.com>,
Karen Xie <kxie@chelsio.com>,
netdev@vger.kernel.org, michaelc@cs.wisc.edu, daisyc@us.ibm.com,
wenxiong@us.ibm.com, bhua@us.ibm.com,
Dimitrios Michailidis <dm@chelsio.com>,
Casey Leedom <leedom@chelsio.com>,
linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [RFC][PATCH 1/1] cxgb3i: cxgb3 iSCSI initiator
Date: Thu, 14 Aug 2008 22:24:11 +0400 [thread overview]
Message-ID: <48A4784B.7030500@vlnb.net> (raw)
In-Reply-To: <48A33633.20800@pobox.com>
Jeff Garzik wrote:
> Vladislav Bolkhovitin wrote:
>> Divy Le Ray wrote:
>>> On Tuesday 12 August 2008 03:02:46 pm David Miller wrote:
>>>> From: Divy Le Ray <divy@chelsio.com>
>>>> Date: Tue, 12 Aug 2008 14:57:09 -0700
>>>>
>>>>> In any case, such a stateless solution is not yet designed, whereas
>>>>> accelerated iSCSI is available now, from us and other companies.
>>>> So, WHAT?!
>>>>
>>>> There are TOE pieces of crap out there too.
>>> Well, there is demand for accerated iscsi out there, which is the
>>> driving reason of our driver submission.
>> I'm, as an iSCSI target developer, strongly voting for hardware iSCSI
>> offload. Having possibility of the direct data placement is a *HUGE*
>> performance gain.
>
> Well, two responses here:
>
> * no one is arguing against hardware iSCSI offload. Rather, it is a
> problem with a specific implementation, one that falsely assumes two
> independent TCP stacks can co-exist peacefully on the same IP address
> and MAC.
>
> * direct data placement is possible without offloading the entire TCP
> stack onto a firmware/chip.
>
> There is plenty of room for hardware iSCSI offload...
Sure, nobody is arguing against that. My points are:
1. All those are things not for near future. I don't think it can be
implemented earlier than in a year time, but there is a huge demand for
high speed and low CPU overhead iSCSI _now_. Nobody's satisfied by the
fact that with the latest high end hardware he can saturate 10GbE link
on only less than 50%(!). Additionally, for me, as an iSCSI target
developer, it looks especially annoying that hardware requirements for
_clients_ (initiators) are significantly higher than for _server_
(target). This situation for me looks as a nonsense.
2. I believe, that iSCSI/TCP pair is sufficiently heavy weighted
protocol to be completely offloaded to hardware. All partial offloads
will never make it comparably efficient. It still would consume a lot of
CPU. For example, consider digests. Even if they computed by new CRC32C
instruction, the computation still would need a chunk of CPU power. I
think, at least as much as to copy the computed block to new location.
Can we save it? Sure, with hardware offload. The additional CPU load can
be acceptable if only data are transferred and there are no other
activities, but in real life this is quite rare. Consider, for instance,
a VPS server, like VMware. It always lacks CPU power and 30% CPU load
during data transfers makes a huge difference. Another example is a
target doing some processing of transferred data, like encryption or
de-duplication.
Note, I'm not advocating this particular cxgb3 driver. I have not
examined it closely enough and don't have sufficient knowledge about the
hardware to judge it. But I'm advocating the concept of full offload
HBAs, because they provide a real gain, which IMHO can't be reached by
any partial offloads.
Actually, in the Fibre Channel world from the very beginning the entire
FC protocol has been implemented on hardware and everybody have been
happy with that. Now FCoE is coming, which means that Linux kernel is
going to have implemented in software a big chunk of FC protocol. Then,
hopefully, nobody would declare all existing FC cards as a crap and
force FC vendors redesign their hardware to use Linux FC implementation
and make partial offloads for it? ;) Instead, several implementations
would live in a peace. The situation is the same with iSCSI. What we
need is only to find an acceptable way for two TCP implementations to
coexist. Then iSCSI on 10GbE hardware would have good chances to
outperform 8Gbps FC in both performance and CPU efficiency.
Vlad
next prev parent reply other threads:[~2008-08-14 18:24 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 [this message]
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
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=48A4784B.7030500@vlnb.net \
--to=vst@vlnb.net \
--cc=bhua@us.ibm.com \
--cc=daisyc@us.ibm.com \
--cc=davem@davemloft.net \
--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=rdreier@cisco.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).