Kernel work/fixes

From: Dave Hudson <dave_at_nospam.org>
Date: Sun Nov 13 1994 - 14:54:38 PST

Hi All,

I just thought I'd mention some work I've recently done on the kernel (in
case anyone else was thinking of working on the same code):

Added a mechanism to move threads into the real-time and background
scheduling priorities and to query the priority that a particular thread
has.

Fixed the ID handling in libc to allow a <root> ID to be held as a group ID.
Also patched libusr to get the permissions granted by a particular ID
correct (not really kernel fixes I know :-))

Modified the kernel ID manipulation code to keep the process
permission/protection bits in sync with the ID of the owner.

Modified the pstat() mechanism to allow additional information to be
available (eg free memory, load averages, etc)

Fixed an internal bug in the msg_accept() code to remove an unwanted
v_sema(&p->p_sema). This meant that almost all attempts to grab the process
semaphore (on any server that had ever had a client) suceeded instead of
blocking if another update to per-process information was being handled.

Fixed a bug in free_proc() that caused system reboots if the pid_sema was
being held when a process was being removed from the process list. The
process vas was being freed up before the attempt to grab the semaphore; if
we fell asleep on the semaphore we ended up reloading 0 into CR3 during the
resume(). This last one could be demonstrated by trying:

        while true; do ps; done

on one VC, whilst running:

        while true; do ls; done

on another. I found this would reboot my systems within a couple of
seconds.

                        Regards,
                        Dave
Received on Sun Nov 13 14:56:55 1994

This archive was generated by hypermail 2.1.8 : Thu Sep 22 2005 - 15:12:10 PDT