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>