lkml.org 
[lkml]   [1999]   [May]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH][2.3.0] Read-write locks instead semaphores on UTS structures
Jan-Simon wrote:
> read-write locks are a variant of spin locks.

what about implementing read-write semaphores?


> ideally the spinlock code (spin_lock and read_lock et al)
> would have debug versions that counted how many locks were
> held (in some per-cpu data structure), and have schedule()
> check that this number was zero before putting the process
> to sleep.
IMHO, several debug-checks should be added to the 2.3 kernels.
(everything based on CONFIG_??):
- count spinlocks

- every function that _could_ sleep should call schedule().
(copy_from_user, kmalloc(GFP_WAIT) etc.)
--> rare problems become frequent, easier to find.

- functions that assume that a certain spinlock is locked
should check that [eg. (current->lock_depth >= 0)].
--> missing synchronization can be detected immediately, and
a simple 'grep' finds these functions. Since the compiler
enforces the spelling, you don't need to 'grep "kernel.lock"',
'grep "kernel.flag"', ...

--
Manfred


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:51    [W:0.031 / U:0.192 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site