public inbox for systemtap@sourceware.org
 help / color / mirror / Atom feed
* RT Patch set, SystemTap, tcp test fails
@ 2006-11-19 19:07 Dave Sperry
  2006-11-19 20:23 ` Frank Ch. Eigler
  0 siblings, 1 reply; 4+ messages in thread
From: Dave Sperry @ 2006-11-19 19:07 UTC (permalink / raw)
  To: systemtap, linux-rt-users

Hi I'm trying to get systemtap to work with Ingo Molnar's RT patch set
and have run into a few problems. My test setup is a dual Xeon IBM
intellistation with fc6 and 2.6.18-rt7 #1 SMP PREEMPT.

Running the last systemtap snapshot I get the results


                === systemtap Summary ===

# of expected passes            147
# of unexpected failures        4
# of expected failures          116
# of unknown successes          2
# of known failures             3
# of untested testcases         74

The the tcp test fails because the symbol HRTIMER_REL cannot be found.
detail for the tcp tests is.

 /home/sperryd/kernels/systap18rt7/src/testsuite/buildok/tcp_test.stp
-vvvv

 probe_1509 probe_1511 probe_1512 enter_kprobe_probe
enter_kretprobe_probe enter_hrtimer_probe systemtap_module_init
/tmp/stapc3sTb9/stap_638ce45d23c34f17540fb6c3ee1929a7_3720.c: In
function 'systemtap_module_init':
/tmp/stapc3sTb9/stap_638ce45d23c34f17540fb6c3ee1929a7_3720.c:1544:
error: 'HRTIMER_REL' undeclared (first use in this function)
/tmp/stapc3sTb9/stap_638ce45d23c34f17540fb6c3ee1929a7_3720.c:1544:
error: (Each undeclared identifier is reported only once
/tmp/stapc3sTb9/stap_638ce45d23c34f17540fb6c3ee1929a7_3720.c:1544:
error: for each function it appears in.)
cc1: warnings being treated as errors
/tmp/stapc3sTb9/stap_638ce45d23c34f17540fb6c3ee1929a7_3720.c:1545:
warning: assignment from incompatible pointer type
 systemtap_module_exit probe_start probe_exit __check_send_bytes
__check_recv_bytes __check_ports __check_rtos __check_state __check_mss
__check_ssthresh __check_cwnd


Is there a way to make systemtap RT aware?

Thanks
Dave


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

* Re: RT Patch set, SystemTap, tcp test fails
  2006-11-19 19:07 RT Patch set, SystemTap, tcp test fails Dave Sperry
@ 2006-11-19 20:23 ` Frank Ch. Eigler
  2006-11-20  3:33   ` David Sperry
  2006-11-20 10:09   ` Bill Rugolsky Jr.
  0 siblings, 2 replies; 4+ messages in thread
From: Frank Ch. Eigler @ 2006-11-19 20:23 UTC (permalink / raw)
  To: dave_sperry; +Cc: systemtap, linux-rt-users

Dave Sperry <dave_sperry@ieee.nospam.dot.org> writes:

> Hi I'm trying to get systemtap to work with Ingo Molnar's RT patch set
> and have run into a few problems. My test setup is a dual Xeon IBM
> intellistation with fc6 and 2.6.18-rt7 #1 SMP PREEMPT.
> [...]
> The the tcp test fails because the symbol HRTIMER_REL cannot be found.
> detail for the tcp tests is.

According to mingo's patch set, HRTIMER_REL and HRTIMER_ABS were
simply renamed to HRTIMER_MODE_REL and HRTIMER_MODE_ABS.  Since these
are enums instead of macros, a little #ifndef/#define hack would not
work.  Unless the RT patches identify themselves at compile time, it
may be tricky to generate code that works with both base and patched
kernel.

- FChE

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

* RE: RT Patch set, SystemTap, tcp test fails
  2006-11-19 20:23 ` Frank Ch. Eigler
@ 2006-11-20  3:33   ` David Sperry
  2006-11-20 10:09   ` Bill Rugolsky Jr.
  1 sibling, 0 replies; 4+ messages in thread
From: David Sperry @ 2006-11-20  3:33 UTC (permalink / raw)
  To: fche; +Cc: systemtap, linux-rt-users

Thanks for the response. Just to get a workaround I changed tapsets.cxx and
cleared up that particular error for my system. 


--- src_orig/tapsets.cxx	2006-11-17 15:35:47.000000000 -0500
+++ src/tapsets.cxx	2006-11-19 19:09:02.000000000 -0500
@@ -4332,13 +4332,13 @@ hrtimer_derived_probe_group::emit_module
 
   s.op->newline() << "for (i=0; i<" << probes.size() << "; i++) {";
   s.op->newline(1) << "struct stap_hrtimer_probe* stp = &
stap_hrtimer_probes [i];";
-  s.op->newline() << "hrtimer_init (& stp->hrtimer, CLOCK_MONOTONIC,
HRTIMER_REL);";
-  s.op->newline() << "stp->hrtimer.function = & enter_hrtimer_probe;";
+  s.op->newline() << "hrtimer_init (& stp->hrtimer, CLOCK_MONOTONIC,
HRTIMER_MODE_REL);";
+  s.op->newline() << "stp->hrtimer.function = (void *)(&
enter_hrtimer_probe);";
   // There is no hrtimer field to identify *this* (i-th) probe handler
   // callback.  So instead we'll deduce it at entry time.
   s.op->newline() << "(void) hrtimer_start (& stp->hrtimer, ";
   emit_interval (s.op);
-  s.op->line() << ", HRTIMER_REL);";
+  s.op->line() << ", HRTIMER_MODE_REL);";
   // Note: no partial failure rollback is needed: hrtimer_start only
   // "fails" if the timer was already active, which cannot be.
   s.op->newline(-1) << "}"; // for loop

Hopefully I didn't break something else

Dave

> -----Original Message-----
> From: fche@redhat.com [mailto:fche@redhat.com]
> Sent: Sunday, November 19, 2006 2:07 PM
> To: dave_sperry@ieee.org
> Cc: systemtap@sources.redhat.com; linux-rt-users@vger.kernel.org
> Subject: Re: RT Patch set, SystemTap, tcp test fails
> 
> Dave Sperry <dave_sperry@ieee.nospam.dot.org> writes:
> 
> > Hi I'm trying to get systemtap to work with Ingo Molnar's RT patch set
> > and have run into a few problems. My test setup is a dual Xeon IBM
> > intellistation with fc6 and 2.6.18-rt7 #1 SMP PREEMPT.
> > [...]
> > The the tcp test fails because the symbol HRTIMER_REL cannot be found.
> > detail for the tcp tests is.
> 
> According to mingo's patch set, HRTIMER_REL and HRTIMER_ABS were
> simply renamed to HRTIMER_MODE_REL and HRTIMER_MODE_ABS.  Since these
> are enums instead of macros, a little #ifndef/#define hack would not
> work.  Unless the RT patches identify themselves at compile time, it
> may be tricky to generate code that works with both base and patched
> kernel.
> 
> - FChE

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

* Re: RT Patch set, SystemTap, tcp test fails
  2006-11-19 20:23 ` Frank Ch. Eigler
  2006-11-20  3:33   ` David Sperry
@ 2006-11-20 10:09   ` Bill Rugolsky Jr.
  1 sibling, 0 replies; 4+ messages in thread
From: Bill Rugolsky Jr. @ 2006-11-20 10:09 UTC (permalink / raw)
  To: Frank Ch. Eigler; +Cc: dave_sperry, systemtap, linux-rt-users

On Sun, Nov 19, 2006 at 02:07:05PM -0500, Frank Ch. Eigler wrote:
> According to mingo's patch set, HRTIMER_REL and HRTIMER_ABS were
> simply renamed to HRTIMER_MODE_REL and HRTIMER_MODE_ABS.  Since these
> are enums instead of macros, a little #ifndef/#define hack would not
> work.  Unless the RT patches identify themselves at compile time, it
> may be tricky to generate code that works with both base and patched
> kernel.

The real-time patch replaces the enumeration constants:

 enum hrtimer_mode {
-       HRTIMER_ABS,    /* Time value is absolute */
-       HRTIMER_REL,    /* Time value is relative to now */
+       HRTIMER_MODE_ABS,       /* Time value is absolute */
+       HRTIMER_MODE_REL,       /* Time value is relative to now */
 };

It is possible to achieve backwards compatibility in enumerations by
simply declaring the deprecated names to have the values assigned to
the new names:

enum hrtimer_mode {
	HRTIMER_MODE_ABS,	/* Time value is absolute */
	HRTIMER_ABS = HRTIMER_MODE_ABS,	/* backwards compatibility */
	HRTIMER_MODE_REL,	/* Time value is relative to now */
	HRTIMER_REL = HRTIMER_MODE_REL,	/* backwards compatibility */
};

Regards,

	Bill Rugolsky

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

end of thread, other threads:[~2006-11-20  3:33 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-11-19 19:07 RT Patch set, SystemTap, tcp test fails Dave Sperry
2006-11-19 20:23 ` Frank Ch. Eigler
2006-11-20  3:33   ` David Sperry
2006-11-20 10:09   ` Bill Rugolsky Jr.

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).