Message ID | CALAqxLVW8+kVCrB-deEt6mixQLWpwC9TQ0Uw84ew4gJuoDVQ+A@mail.gmail.com |
---|---|
State | New |
Headers | show |
Hi John and Ingo, On 7 September 2016 at 08:10, John Stultz <john.stultz@linaro.org> wrote: > On Tue, Sep 6, 2016 at 2:49 AM, Ingo Molnar <mingo@kernel.org> wrote: >> >> * tip-bot for Baolin Wang <tipbot@zytor.com> wrote: >> >>> Commit-ID: a0a6e06d545a753740c9d8d5ce2c4fdd3ab1c021 >>> Gitweb: http://git.kernel.org/tip/a0a6e06d545a753740c9d8d5ce2c4fdd3ab1c021 >>> Author: Baolin Wang <baolin.wang@linaro.org> >>> AuthorDate: Mon, 22 Aug 2016 12:23:14 +0800 >>> Committer: John Stultz <john.stultz@linaro.org> >>> CommitDate: Wed, 31 Aug 2016 14:44:18 -0700 >>> >>> time: alarmtimer: Add tracepoints for alarmtimers >> >> FYI, this commit causes a build failure on the S390 defconfig: >> >> kernel/built-in.o:/home/mingo/tip/include/trace/events/alarmtimer.h:62: more undefined references to `rtc_ktime_to_tm' follow >> >> Removing that commit solved the build failure. Other architectures (that I >> checked) build fine. I am sorry for the build failure on S390. I will send out the new version to fix it ASAP. Thanks for John's help. > > Baolin: It looks like the issue is rtc_ktime_to_tm is defined in the > CONFIG_RTC_LIB optional drivers/rtc/rtc-lib.c, which s390 does not > include. > > Something like (forgive the whitespace damage, as this was copied and pasted): > diff --git a/include/trace/events/alarmtimer.h > b/include/trace/events/alarmtimer.h > index 6a34bc9..a4f78cc 100644 > --- a/include/trace/events/alarmtimer.h > +++ b/include/trace/events/alarmtimer.h > @@ -77,6 +77,7 @@ DECLARE_EVENT_CLASS(alarm_processing, > __string(name, process_name) > ), > > +#ifdef CONFIG_RTC_LIB > TP_fast_assign( > __entry->expires = alarm->node.expires.tv64; > __entry->second = rtc_ktime_to_tm(alarm->node.expires).tm_sec; > @@ -89,6 +90,20 @@ DECLARE_EVENT_CLASS(alarm_processing, > __assign_str(name, process_name); > ), > > +#else > + TP_fast_assign( > + __entry->expires = alarm->node.expires.tv64; > + __entry->second = 0; > + __entry->minute = 0; > + __entry->hour = 0; > + __entry->day = 0; > + __entry->mon = 0; > + __entry->year =0; > + __entry->alarm_type = alarm->type; > + __assign_str(name, process_name); > + ), > +#endif > + > TP_printk("process:%s alarmtimer type:%s expires:%llu " > "time: %hu-%u-%u %u:%u:%u", > __get_str(name), > > Seems to resolve it, but I think a better solution is needed. > > thanks > -john -- Baolin.wang Best Regards
diff --git a/include/trace/events/alarmtimer.h b/include/trace/events/alarmtimer.h index 6a34bc9..a4f78cc 100644 --- a/include/trace/events/alarmtimer.h +++ b/include/trace/events/alarmtimer.h @@ -77,6 +77,7 @@ DECLARE_EVENT_CLASS(alarm_processing, __string(name, process_name) ), +#ifdef CONFIG_RTC_LIB TP_fast_assign( __entry->expires = alarm->node.expires.tv64; __entry->second = rtc_ktime_to_tm(alarm->node.expires).tm_sec; @@ -89,6 +90,20 @@ DECLARE_EVENT_CLASS(alarm_processing, __assign_str(name, process_name); ), +#else + TP_fast_assign( + __entry->expires = alarm->node.expires.tv64; + __entry->second = 0; + __entry->minute = 0; + __entry->hour = 0; + __entry->day = 0; + __entry->mon = 0; + __entry->year =0; + __entry->alarm_type = alarm->type; + __assign_str(name, process_name); + ), +#endif + TP_printk("process:%s alarmtimer type:%s expires:%llu " "time: %hu-%u-%u %u:%u:%u", __get_str(name),