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