Julian Seward wrote:
>>> What does messing with the scheduling get you that standard race
>>> detection algorithms don't?
>> Of course, you only see the error if it actually happens.  Darryl is
>> trying to force the problems to occur.
> 
> I'm not sure I'm convinced about that.  A lockset based race detector
> can report violations of a locking discipline, that could lead to
> races, even if they didn't happen in this particular run.  Indeed, 
> that insensitivity to scheduling is basically the main advantage of
> the lockset algorithm family.

Not looking to replace that technique, no one technique is best; I'm 
looking to supplement it.

Providing a new debugging angle on the "threading problem" for which the 
developer can see and verify his design is working as expected.  That 
the developer can dictate the rules/law of operation and have a tool 
perform runtime verification of those laws.  But before that getting the 
necessary data to perform that type of audit is the main task.


Writing testcases to prove the design of some widget or sub-system 
interaction would be the way to prove that component is designed well. 
The work can also be reused when migrating the code to another 
platform/host/cpu/environment for re-verification there.

The thingy being checked could be a threading primitive or could be 
basic interaction verification of operation with key parts of a program.


For the most part my scheduling discussion is really to address the 
"sequential access to memory view" of what is going on.  Since I can not 
see how you can provide that without only one thread running 
application/client code at any one time.

It's much less about trying to force problem to occur, since there is a 
pretty easy way to achieve that with nanosleep() just after taking a 
lock.  It's not ideal but it would work fine with testcases.  The memory 
audit is far more important a goal at this stage.


Darryl

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Valgrind-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/valgrind-users

Reply via email to