Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 28 Jul 2010 23:05:19 -1000 (HST)
From:      Jeff Roberson <jroberson@jroberson.net>
To:        Alan Cox <alc@cs.rice.edu>
Cc:        svn-src-projects@freebsd.org, Jeff Roberson <jeff@FreeBSD.org>, src-committers@freebsd.org
Subject:   Re: svn commit: r210586 - projects/ofed/head/sys/ofed/include/linux
Message-ID:  <alpine.BSF.2.00.1007282303220.1414@desktop>
In-Reply-To: <4C50FB4A.4000505@cs.rice.edu>
References:  <201007290212.o6T2CN20099343@svn.freebsd.org> <4C50FB4A.4000505@cs.rice.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 28 Jul 2010, Alan Cox wrote:

> Jeff Roberson wrote:
>> Author: jeff
>> Date: Thu Jul 29 02:12:22 2010
>> New Revision: 210586
>> URL: http://svn.freebsd.org/changeset/base/210586
>> 
>> Log:
>>    - Refine various page allocation methods.  They all essentially override
>>      the page object pointer to cache the virtual address after allocation.
>>      This same trick is used in UMA to store the slab address and so it
>>      should be safe.
>> 
>
> You needn't do this.  The virtual address of a kernel_object or kmem_object 
> page is easily obtained:
>
>   VM_MIN_KERNEL_ADDRESS + IDX_TO_OFF(m->pindex)

Ah, of course.  I hadn't considered that.  Thanks.  I'll remove the other 
hackery.

On another note; linux guarantees multipage allocations are aligned on the 
first power of two size that satisfies the allocation.  I can do this with 
contigmalloc but they also guarantee that the virtual address is similarly 
aligned.  I don't think I've run across anything that requires it, but if 
I do, do we have any provision for allocating virtually aligned addresses?

Thanks,
Jeff

>
>
> Regards,
> Alan
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.BSF.2.00.1007282303220.1414>