sched_lock && thread_lock()

Attilio Rao attilio at FreeBSD.org
Thu May 24 14:30:31 UTC 2007


Alan Cox wrote:
> Attilio Rao wrote:
> 
>> Attilio Rao wrote:
>>
>>> Bruce Evans wrote:
>>>
>>>> 4 more translation errors breaking 8 counters altogether (v_vnodepgsin
>>>> is broken twice):
>>>
>>>
>>> Thanks a lot for the revision, there will be a pending patch in the 
>>> next hour.
>>
>>
>> Hello,
>> Let me know if this patch is right for you and if you have feedbacks, 
>> comments, etc:
>> http://users.gufi.org/~rookie/works/patches/schedlock/vmmeter3.diff
>>
>> This should fix translation errors Bruce has found and switching the 
>> _SET() method in order to being a simple assignment (as Bruce has 
>> suggested).
> 
> 
> Let me offer a simple rule of thumb for VMCNT_ADD() vs. PCPU_LAZY_INC(): 
> If the field is NOT under the section labeled "Distribution of page 
> usages." in vmmeter, then PCPU_LAZY_INC() is preferable to VMCNT_ADD() 
> implemented with an atomic op.

Ok, I've updated the patch following your suggestion.
I just left out that vmmeter fields which needs to be incremented not by 
one but by another value (since PCPU_LAZY_INC() just increments by 1).

Do you think it is more appropriate to expand the PCPU_LAZY_*() 
interface and let it cover increments not by 1 too?

It would let grow the patch notably since we need to touch all 
architectures for that however...

Thanks,
Attilio



More information about the freebsd-arch mailing list