RFA: nptl threading support for schedlock.exp
J. Johnston
jjohnstn@redhat.com
Thu May 8 19:23:00 GMT 2003
Patch checked in. Thanks.
-- Jeff J.
Daniel Jacobowitz wrote:
> On Wed, May 07, 2003 at 05:11:38PM -0400, Elena Zannoni wrote:
>
>>J. Johnston writes:
>> > The following changes schedlock.exp for running with nptl threads.
>> > Under the nptl model, a very small time slice is not divided up equally
>> > as it was in the past with linuxthreads.
>> >
>> > The test case is also changed to ensure that one of the child threads
>> > is used to test schedule locking instead of the main thread. In early
>> > testing with nptl, a kernel problem was identified when the main thread
>> > was locked and an interrupt signal was sent.
>> >
>> > Ok to commit?
>>
>>Seems ok, Daniel? Can this go in?
>>It is all passes with the NPTL patches that are still pending.
>
>
> Looks good to me too.
>
>
>> >
>> > -- Jeff J.
>> >
>> > 2003-04-23 Jeff Johnston <jjohnstn@redhat.com>
>> >
>> > * gdb.threads/schedlock.exp: Remove assumption that all threads will run in a
>> > particular small time slice. Also ensure we break in one of the child threads
>> > rather than the main thread.
>> >
>> > Index: schedlock.exp
>> > ===================================================================
>> > RCS file: /cvs/src/src/gdb/testsuite/gdb.threads/schedlock.exp,v
>> > retrieving revision 1.3
>> > diff -u -r1.3 schedlock.exp
>> > --- schedlock.exp 4 Jan 2003 23:05:05 -0000 1.3
>> > +++ schedlock.exp 23 Apr 2003 18:31:05 -0000
>> > @@ -112,8 +112,8 @@
>> >
>> > stop_process "stop all threads ($msg)"
>> >
>> > - # Make sure we're in one of the looping threads.
>> > - gdb_breakpoint [gdb_get_line_number "schedlock.exp: main loop"]
>> > + # Make sure we're in one of the non-main looping threads.
>> > + gdb_breakpoint [concat [gdb_get_line_number "schedlock.exp: main loop"] " if arg != 5"]
>> > gdb_continue_to_breakpoint "return to loop ($msg)"
>> > delete_breakpoints
>> > }
>> > @@ -230,12 +230,11 @@
>> > set start_args $cont_args
>> > set cont_args [get_args]
>> >
>> > +set num_other_threads 0
>> > for {set i 0} {[expr $i < 6]} {set i [expr $i + 1]} {
>> > if {[lindex $start_args $i] == [lindex $cont_args $i]} {
>> > if {$i == $curthread} {
>> > fail "current thread stepped (didn't run)"
>> > - } else {
>> > - fail "other thread $i ran (didn't run) (1)"
>> > }
>> > } else {
>> > if {$i == $curthread} {
>> > @@ -245,9 +244,14 @@
>> > fail "current thread stepped (wrong amount)"
>> > }
>> > } else {
>> > - pass "other thread $i ran (1)"
>> > + set num_other_threads [expr $num_other_threads + 1]
>> > }
>> > }
>> > +}
>> > +if {$num_other_threads > 0} {
>> > + pass "other threads ran (1)"
>> > +} else {
>> > + fail "other threads ran (no other threads ran) (1)"
>> > }
>> >
>> > # Test continue with scheduler locking
>>
>
>
More information about the Gdb-patches
mailing list