Skip site navigation (1)Skip section navigation (2)
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>