This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap 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: synchronize_rcu


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


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