Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 14 Dec 2004 21:15:34 -0800
From:      "Macy, Kip" <Kip.Macy@netapp.com>
To:        "Scott M. Ferris" <sferris@gmail.com>
Cc:        Peter Blok <pblok@bsd4all.org>
Subject:   RE: My project wish-list for the next 12 months
Message-ID:  <A14D796A8FBC5A4FB7A674384E324CB407DB3A83@burgundy-fe.eng.netapp.com>

next in thread | raw e-mail | index | archive | help
Mbuf clusters can easily be allocated from their own pool, but I guess
you're probably right about various bits of incidental memory
allocation.

					-Kip

-----Original Message-----
From: Scott M. Ferris [mailto:sferris@gmail.com]=20
Sent: Tuesday, December 14, 2004 5:38 PM
To: Macy, Kip
Cc: Danny Braniss; hackers@freebsd.org; Peter Blok
Subject: Re: My project wish-list for the next 12 months


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=20
> > 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.
>=20
> 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.

--=20
Scott M. Ferris



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