This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: RFA: nptl threading support for schedlock.exp


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
> 

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]