public inbox for systemtap@sourceware.org
 help / color / mirror / Atom feed
* synchronize_rcu
@ 2017-10-05 16:08 Roman Savchenko
  2017-10-06 16:21 ` synchronize_rcu David Smith
  0 siblings, 1 reply; 4+ messages in thread
From: Roman Savchenko @ 2017-10-05 16:08 UTC (permalink / raw)
  To: systemtap

Hi All,

I'm using kernel based on some PREAMT_RT patches (4.1.15-rt17). This kernel
does not provide synchronize_rcu in Modules.symver, that triggers an error:
"No implementation for stp_synchronize_sched!". But it provides
rcu_synchronize_sched. I found in kernel code such define:

./include/linux/jrcu.h:#define synchronize_rcu
rcu_synchronize_sched

So I did the same:

output_exportconf(s, o, "rcu_synchronize_sched",
"STAPCONF_SYNCHRONIZE_RCU");

Am I correct?

Many thanks,
Roman Savchenko

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

* Re: synchronize_rcu
  2017-10-05 16:08 synchronize_rcu Roman Savchenko
@ 2017-10-06 16:21 ` David Smith
  2017-10-09 13:07   ` synchronize_rcu Roman Savchenko
  0 siblings, 1 reply; 4+ messages in thread
From: David Smith @ 2017-10-06 16:21 UTC (permalink / raw)
  To: Roman Savchenko; +Cc: systemtap

That sounds reasonable. Does it seem to work? If so, please send us a
patch and we'll include it.

On Thu, Oct 5, 2017 at 11:08 AM, Roman Savchenko <gmstima@gmail.com> wrote:
> Hi All,
>
> I'm using kernel based on some PREAMT_RT patches (4.1.15-rt17). This kernel
> does not provide synchronize_rcu in Modules.symver, that triggers an error:
> "No implementation for stp_synchronize_sched!". But it provides
> rcu_synchronize_sched. I found in kernel code such define:
>
> ./include/linux/jrcu.h:#define synchronize_rcu
> rcu_synchronize_sched
>
> So I did the same:
>
> output_exportconf(s, o, "rcu_synchronize_sched",
> "STAPCONF_SYNCHRONIZE_RCU");
>
> Am I correct?
>
> Many thanks,
> Roman Savchenko



-- 
David Smith
Principal Software Engineer
Red Hat

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

* Re: synchronize_rcu
  2017-10-06 16:21 ` synchronize_rcu David Smith
@ 2017-10-09 13:07   ` Roman Savchenko
  2017-10-09 14:02     ` synchronize_rcu David Smith
  0 siblings, 1 reply; 4+ messages in thread
From: Roman Savchenko @ 2017-10-09 13:07 UTC (permalink / raw)
  To: David Smith; +Cc: systemtap

Hi David,

Yes it seems to work. I'm not sure that this patch is generic purpose,
because the kernel is RTOS RedHawk and this changes is from JRCU
implementation (some discussion threads https://lwn.net/Articles/431885/,
http://lkml.iu.edu/hypermail/linux/kernel/1103.1/02281.html). And it does
not pass 'make check', but I am not sure that tests' failures go from rcu,
e.g.:

FAIL: stap -p4 -e { probe nfs.proc.read_done { println(server_ip) } }
FAIL: stap -p4 -e { probe nfs.proc.read_setup { println(count) } }

semantic error: invalid access '->task' vs 'void*': operator '->' at
/root/projects/systemtap/build/share/systemtap/tapset/linux/nfs_proc.stpm:16:21
        source:     ( get_ip(&@nfs_data->task) )
                                       ^

So should I send patch?

Regards,
Roman


2017-10-06 19:20 GMT+03:00 David Smith <dsmith@redhat.com>:

> That sounds reasonable. Does it seem to work? If so, please send us a
> patch and we'll include it.
>
> On Thu, Oct 5, 2017 at 11:08 AM, Roman Savchenko <gmstima@gmail.com>
> wrote:
> > Hi All,
> >
> > I'm using kernel based on some PREAMT_RT patches (4.1.15-rt17). This
> kernel
> > does not provide synchronize_rcu in Modules.symver, that triggers an
> error:
> > "No implementation for stp_synchronize_sched!". But it provides
> > rcu_synchronize_sched. I found in kernel code such define:
> >
> > ./include/linux/jrcu.h:#define synchronize_rcu
> > rcu_synchronize_sched
> >
> > So I did the same:
> >
> > output_exportconf(s, o, "rcu_synchronize_sched",
> > "STAPCONF_SYNCHRONIZE_RCU");
> >
> > Am I correct?
> >
> > Many thanks,
> > Roman Savchenko
>
>
>
> --
> David Smith
> Principal Software Engineer
> Red Hat
>

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

* Re: synchronize_rcu
  2017-10-09 13:07   ` synchronize_rcu Roman Savchenko
@ 2017-10-09 14:02     ` David Smith
  0 siblings, 0 replies; 4+ messages in thread
From: David Smith @ 2017-10-09 14:02 UTC (permalink / raw)
  To: Roman Savchenko; +Cc: systemtap

On Mon, Oct 9, 2017 at 8:06 AM, Roman Savchenko <gmstima@gmail.com> wrote:
> Hi David,
>
> Yes it seems to work. I'm not sure that this patch is generic purpose,
> because the kernel is RTOS RedHawk and this changes is from JRCU

Ah. Am I correct in thinking that RedHawk's kernel changes are still
proprietary and have little chance of making it to the upstream
kernel? If so, I'm not sure how much interest we have in supporting
it.

> implementation (some discussion threads https://lwn.net/Articles/431885/,
> http://lkml.iu.edu/hypermail/linux/kernel/1103.1/02281.html). And it does
> not pass 'make check', but I am not sure that tests' failures go from rcu,
> e.g.:
>
> FAIL: stap -p4 -e { probe nfs.proc.read_done { println(server_ip) } }
> FAIL: stap -p4 -e { probe nfs.proc.read_setup { println(count) } }
>
> semantic error: invalid access '->task' vs 'void*': operator '->' at
> /root/projects/systemtap/build/share/systemtap/tapset/linux/nfs_proc.stpm:16:21
>         source:     ( get_ip(&@nfs_data->task) )
>                                        ^

That doesn't really look like a failure related to what you are doing.
That appears to be an error in the nfs_proc.stp tapset, perhaps just
related to your somewhat odd kernel.

> So should I send patch?

Sure, go ahead and send the patch. If nothing else, it could help
other RedHawk users that have similar problems.

> Regards,
> Roman
>
>
> 2017-10-06 19:20 GMT+03:00 David Smith <dsmith@redhat.com>:
>>
>> That sounds reasonable. Does it seem to work? If so, please send us a
>> patch and we'll include it.
>>
>> On Thu, Oct 5, 2017 at 11:08 AM, Roman Savchenko <gmstima@gmail.com>
>> wrote:
>> > Hi All,
>> >
>> > I'm using kernel based on some PREAMT_RT patches (4.1.15-rt17). This
>> > kernel
>> > does not provide synchronize_rcu in Modules.symver, that triggers an
>> > error:
>> > "No implementation for stp_synchronize_sched!". But it provides
>> > rcu_synchronize_sched. I found in kernel code such define:
>> >
>> > ./include/linux/jrcu.h:#define synchronize_rcu
>> > rcu_synchronize_sched
>> >
>> > So I did the same:
>> >
>> > output_exportconf(s, o, "rcu_synchronize_sched",
>> > "STAPCONF_SYNCHRONIZE_RCU");
>> >
>> > Am I correct?
>> >
>> > Many thanks,
>> > Roman Savchenko
>>
>>
>>
>> --
>> David Smith
>> Principal Software Engineer
>> Red Hat
>
>



-- 
David Smith
Principal Software Engineer
Red Hat

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

end of thread, other threads:[~2017-10-09 14:02 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-10-05 16:08 synchronize_rcu Roman Savchenko
2017-10-06 16:21 ` synchronize_rcu David Smith
2017-10-09 13:07   ` synchronize_rcu Roman Savchenko
2017-10-09 14:02     ` synchronize_rcu David Smith

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