NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

kern/38828: uvm_swapout_threads seems broken

>Number:         38828
>Category:       kern
>Synopsis:       uvm_swapout_threads seems broken
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Jun 02 09:15:00 +0000 2008
>Originator:     Andrew Doran
>Release:        4.99.62
The NetBSD Project
uvm_swapout_threads() scans the global lwp list, releases proc_lock and
then tries to swap out a chosen thread. There is nothing to stop the
chosen thread from disappearing after proc_lock is released.

Code inspection.
- Add some complicated code to handle it.


- Kill the idea of swapping out kernel stacks. There are many other data 
  structures that could be swapped, and it seems that in the year 2008 KVA 
  space shortage on 32 bit platforms is a bigger problem. Additionally, we 
  regularly run into kernel bugs where it's expected that the stack won't 
  be swapped out, but it can be.

Home | Main Index | Thread Index | Old Index