Date: Wed, 05 Feb 1997 19:33:54 -0800 (PST) From: Simon Shapiro <Shimon@i-Connect.Net> To: freebsd-scsi@freebsd.org, freebsd-hackers@freebsd.org Subject: Contigious (spelling?) allocation in kernel Message-ID: <XFMail.970205205354.Shimon@i-Connect.Net>
next in thread | raw e-mail | index | archive | help
I need to allocate a contigious (one piece :-) block of memory for a DMA scatter/gather list. The HBA knows how to do scatter gather, but wants a single pointer to a single block of memory that hoslds the entire list. The SG structure is very plain, 32bits for length and 32bits for physical address; 8 bytes. The thing is capable of up to 8192 entries, which give us a possible list of 64KB per request list. As each HBA can have up to 256 concurrent requests, with who knows how many more in the driver's queue, the list can grow quite impressively. Since most requests are smaller, it seems very wasteful to allocate all this memory upfront. So malloc is in order, but what are the options? Thanx, Simon
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.970205205354.Shimon>