Resurfacing... I put together some "steamroller" race tests, that race a pair of operations (e.g., kill() and exit()) against each other, varying the start times of each operation in an attempt to find any destructive races between the two operations. There are but five pairs of operations coded up thus far, wanted to get thoughts and suggestions. (Forget about continuously varying the start time of three operations unless you are quite a bit more patient than am I -- it already takes several minutes to run some of the tests.) I have no idea where to put this, so, for the moment have attached a bzip2-ed tarball. This actually does find problems with the RCU'ed signal paths, and am thinking of solutions, none of which are particularly attractive. One is to "lock down" tasks that might receive the signal, but this gets complicated and ugly quickly. Another is to create a new per-task lock that must be held when changing the "shape" of the task -- RCU still protects the task list and the sighand structure, but the race with (say) reparenting is protected by the new lock. Thoughts? Thanx, Paul
Attachment:
signaltorture.2005.09.08a.tar.bz2
Description: Binary data
- Prev by Date: [PATCH] 8250.c: Fix to make 16C950 UARTs work
- Next by Date: Re: [PATCH] ppc: Merge tlb.h
- Previous by thread: [PATCH] 8250.c: Fix to make 16C950 UARTs work
- Next by thread: [RFC] Scheduler hooks to support separate ia64 MCA/INIT stacks
- Index(es):