Date: Wed, 20 May 2009 10:02:00 -0400 From: John Baldwin <jhb@freebsd.org> To: Julian Elischer <julian@elischer.org> Cc: arch@freebsd.org Subject: Re: sglist(9) Message-ID: <200905201002.00533.jhb@freebsd.org> In-Reply-To: <4A1317C7.4000509@elischer.org> References: <200905191458.50764.jhb@freebsd.org> <4A1317C7.4000509@elischer.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday 19 May 2009 4:34:15 pm Julian Elischer wrote: > John Baldwin wrote: > > So one of the things I worked on while hacking away at unmapped disk I/O > > requests was a little API to manage scatter/gather lists of phyiscal > > addresses. The basic premise is that a sglist describes a logical object > > I was JUST looking at this because of some Linux code I was looking > at, that uses a predefined sg list that I think it is getting from > Linux. (you may look to se what the Linux sg list code does/has). I looked at scatterlist yesterday and it appears to be a bit more DMA-centric whereas sglist is more intended to describe a range of memory pages. However, the APIs are somewhat similar (sg_chain() is a lot like sglist_join() for example). They have a header structure and a list of scatter/gather elemenets which is also very similar. The one thing they do differently is that whereas sglist(9) always uses a single array of scatter/gather list elements of variable length, they allocate "blocks" of scatter/gather list elements and then chain multiple blocks together if needed. -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200905201002.00533.jhb>