Source-Changes-D archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: CVS commit: src/sys/uvm
hi,
> On Thu, Nov 25, 2010 at 04:18:25AM +0000, YAMAMOTO Takashi wrote:
>> hi,
>>
>> > Hi, thanks for review.
>> >
>> > On Thu, Nov 25, 2010 at 01:58:04AM +0000, YAMAMOTO Takashi wrote:
>> >> hi,
>> >>
>> >> - what's VM_PHYSSEG_OP_PG?
>> >
>> > It's to lookup vm_physseg by "struct vm_page *", relying on that
>> > "struct vm_page *[]" is allocated linearly. It'll be used to remove
>> > vm_page::phys_addr as we talked some time ago.
>>
>> i'm not sure if commiting this unused uncommented code now helps it.
>> some try-and-benchmark cycles might be necessary given that
>> vm_page <-> paddr conversion could be performace critical.
>
> If you really care performance, we can directly pass "struct vm_page
> *" to pmap_enter().
>
> We're doing "struct vm_page *" -> "paddr_t" just before pmap_enter(),
> then doing "paddr_t" -> "vm_physseg" reverse lookup again in
> pmap_enter() to check if a given PA is managed. What is really
> needed here is, to lookup "struct vm_page *" -> "vm_physseg" once
> and you'll know both paddr_t and managed or not.
i agree that the current code is not ideal in that respect.
otoh, i'm not sure if passing vm_physseg around is a good idea.
YAMAMOTO Takashi
>
>>
>> YAMAMOTO Takashi
>
> --
> Masao Uebayashi / Tombi Inc. / Tel: +81-90-9141-4635
Home |
Main Index |
Thread Index |
Old Index