U Area Removal

Julian Elischer julian at elischer.org
Wed Nov 10 22:00:13 PST 2004


Scott Long wrote:
> David Schultz wrote:
> 
>> Over the years, the amount of data we have stored in each process' U
>> area has eroded to the point where all we have left are the following:
>>
>>   - A struct kinfo_proc that is only used for a.out core dumps.
>>     This can be reconstructed at the time of the core dump, so
>>     it doesn't need to be there.
>>
>>   - The struct pstats for the process, which takes a mere 216 bytes
>>     on i386.
>>
>> In exchange for the ability to swap out this 216-byte structure, we
>> keep around a 4096-byte page, a 132-byte vm_object, and a couple of
>> pointers.  Moreover, there is a small amount of runtime overhead
>> associated with this, and developers need to remember to PHOLD() and
>> PRELE() the process as appropriate.[1]
>>
>> I propose to remove the ability to swap the U area, allocating p_stats
>> from malloced memory instead.  Medium-term scheduling and swapping of
>> kernel stacks would be retained.  Here are the patches; !i386 testers
>> wanted:
>>
>>     http://www.freebsd.org/~das/patches/upages.diff
>>
>>
>> [1] Most of the instances of PHOLD() and PRELE() right now never
>>     needed to be there or have been unnecessary ever since the PCB
>>     was moved out of the U area.
> 

We've been slowly working towards this..
when we moved the pcb out to the thread this became inevitable..

go for it!


> 
> Go for it!  Just get some validation that amd64 and sparc64 work, and
> then do the deed.  I'll try testing at least amd64 right now.
> 
> Scott
> _______________________________________________
> freebsd-arch at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-arch
> To unsubscribe, send any mail to "freebsd-arch-unsubscribe at freebsd.org"



More information about the freebsd-arch mailing list