Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 19 May 2009 13:34:15 -0700
From:      Julian Elischer <julian@elischer.org>
To:        John Baldwin <jhb@freebsd.org>
Cc:        arch@FreeBSD.org
Subject:   Re: sglist(9)
Message-ID:  <4A1317C7.4000509@elischer.org>
In-Reply-To: <200905191458.50764.jhb@freebsd.org>
References:  <200905191458.50764.jhb@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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).

> that is backed by one or more physical address ranges.  To minimize locking, 
> the sglist objects themselves are immutable once they are shared.  The 
> unmapped disk I/O project is still very much a WIP (and I'm not even working 
> on any of the really hard bits myself).  However, I actually found this 
> object to be useful for something else I have been working on: the mmap() 
> extensions for the Nvidia amd64 driver.  For the Nvidia patches I have 
> created a new type of VM object that is very similar to OBJT_DEVICE objects 
> except that it uses a sglist to determine the physical pages backing the 
> object instead of calling the d_mmap() method for each page.  Anyway, adding 
> this little API is just the first in a series of patches needed for the 
> Nvidia driver work.  I plan to MFC them to 7.x relatively soon in the hopes 
> that we can soon have a supported Nvidia driver on amd64 on 7.x.
> 
> The current patches for all the Nvidia stuff is at 
> http://www.FreeBSD.org/~jhb/pat/
> 
> This particular patch to just add the sglist(9) API is at 
> http://www.FreeBSD.org/~jhb/patches/sglist.patch and is slightly more 
> polished in that it includes a manpage. :)
> 




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