Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* RFA: nptl threading support for schedlock.exp
@ 2003-04-23 19:53 J. Johnston
  2003-05-07 21:06 ` Elena Zannoni
  0 siblings, 1 reply; 4+ messages in thread
From: J. Johnston @ 2003-04-23 19:53 UTC (permalink / raw)
  To: gdb-patches

[-- Attachment #1: Type: text/plain, Size: 707 bytes --]

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?

-- 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.


[-- Attachment #2: schedlock.nptl.patch --]
[-- Type: text/plain, Size: 1499 bytes --]

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: RFA: nptl threading support for schedlock.exp
  2003-04-23 19:53 RFA: nptl threading support for schedlock.exp J. Johnston
@ 2003-05-07 21:06 ` Elena Zannoni
  2003-05-07 21:19   ` Daniel Jacobowitz
  0 siblings, 1 reply; 4+ messages in thread
From: Elena Zannoni @ 2003-05-07 21:06 UTC (permalink / raw)
  To: J. Johnston, drow; +Cc: gdb-patches

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.

elena


 > 
 > -- 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


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: RFA: nptl threading support for schedlock.exp
  2003-05-07 21:06 ` Elena Zannoni
@ 2003-05-07 21:19   ` Daniel Jacobowitz
  2003-05-08 19:23     ` J. Johnston
  0 siblings, 1 reply; 4+ messages in thread
From: Daniel Jacobowitz @ 2003-05-07 21:19 UTC (permalink / raw)
  To: Elena Zannoni; +Cc: J. Johnston, gdb-patches

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


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: RFA: nptl threading support for schedlock.exp
  2003-05-07 21:19   ` Daniel Jacobowitz
@ 2003-05-08 19:23     ` J. Johnston
  0 siblings, 0 replies; 4+ messages in thread
From: J. Johnston @ 2003-05-08 19:23 UTC (permalink / raw)
  To: Daniel Jacobowitz; +Cc: Elena Zannoni, gdb-patches

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
>>
> 
> 



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2003-05-08 19:23 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-04-23 19:53 RFA: nptl threading support for schedlock.exp J. Johnston
2003-05-07 21:06 ` Elena Zannoni
2003-05-07 21:19   ` Daniel Jacobowitz
2003-05-08 19:23     ` J. Johnston

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox