Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 14 Dec 2004 19:37:41 -0600
From:      "Scott M. Ferris" <sferris@gmail.com>
To:        Kip Macy <kmacy@netapp.com>
Cc:        Peter Blok <pblok@bsd4all.org>
Subject:   Re: My project wish-list for the next 12 months
Message-ID:  <1eea89cd04121417376b64086e@mail.gmail.com>
In-Reply-To: <Pine.LNX.4.44.0412141704150.1921-100000@siml3.eng.netapp.com>
References:  <1eea89cd041214114766fd34dc@mail.gmail.com> <Pine.LNX.4.44.0412141704150.1921-100000@siml3.eng.netapp.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 14 Dec 2004 17:05:25 -0800 (PST), Kip Macy <kmacy@netapp.com> wrote:
> > Hardware-based iSCSI HBAs solve this by having their own memory and
> > TCP stack separate from the OS.  Software-only iSCSI initiators such
> > as linux-iscsi usually just hope it doesn't happen, and that's why I
> > don't usually recommend software-only iSCSI initiators to anyone.
> 
> How is that any better than having the SW iscsi initiator pre-allocate a pool of
> memory for its use at startup?

You could preallocate, but the hard part would be getting the OS
network stack to allocate from the iSCSI driver's preallocated memory
pool, instead of calling the usual kernel memory allocator (or more
likely as a fallback if the normal kernel allocation fails).  How do
you tell the TCP stack and NIC drivers to allocate control blocks,
mbufs, and anything else they might need from the preallocated iSCSI
pool?  It's not a problem in theory, but in practice that's not
something you usually see in the API for the network stack.

-- 
Scott M. Ferris



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1eea89cd04121417376b64086e>