[openib-general] kernel VM monitor for memory registration caching

Gleb Natapov glebn at voltaire.com
Tue Aug 2 01:17:30 PDT 2005


On Mon, Aug 01, 2005 at 06:47:41PM +0300, Muli Ben-Yehuda wrote:
> On Mon, Aug 01, 2005 at 06:04:27PM +0300, Gleb Natapov wrote:
> 
> > I don't like the idea of splitting VMAs if we can manage without it. You'll 
> > end up having to many of them.
> 
> ... or you end up duplicating the VMA functionality on a sub-vma
> level. Consider:
> 
> You have a single vma with some number of pages, where some random
> pages are registered and some aren't. You need to be able to check for
> a given page whetehr it's registered or not, so you build some data
> structure based on the stard and end address (or page, or whatever),
> so that you can check if a given address is within a registered
> page. But this is exactly the sort of thing that the VMA level is
> built for: use the red black tree to find the vma for a given address,
> then check if the vma is registered.
> 
> Linux can already cope with a large number  of vma's, I think that a
> solution that does not split vma's will end up with either artificial
> limitations (can't have more than two different regions within a vma)
> or reimplementing vma layer functionality. Of course, I could be
> completely wrong :-)
The registrations are more complex than vma. Registrations can overlap
vma can't. Unfortunately we will need to split vma for different reason:
VM_DONTCOPY. Other then that Pete's solution already works with more then
one registration in vma :)

--
			Gleb.



More information about the general mailing list