On the other hand, this will require including <linux/irq.h> into various files that currently use __irq_section. But that header has a comment saying:
/* * Please do not include this file in generic code. There is currently * no requirement for any architecture to implement anything held * within this file. * * Thanks. --rmk */ Do we really want to put anything into that header? On Fri, Jan 29, 2016 at 12:33 PM, Alexander Potapenko <gli...@google.com> wrote: > Agreed. Once I receive more comments I will make a new patch set and > include this change as well. > > On Thu, Jan 28, 2016 at 3:53 PM, Steven Rostedt <rost...@goodmis.org> wrote: >> On Wed, 27 Jan 2016 19:25:09 +0100 >> Alexander Potapenko <gli...@google.com> wrote: >> >>> --- a/include/linux/ftrace.h >>> +++ b/include/linux/ftrace.h >>> @@ -762,6 +762,26 @@ struct ftrace_graph_ret { >>> typedef void (*trace_func_graph_ret_t)(struct ftrace_graph_ret *); /* >>> return */ >>> typedef int (*trace_func_graph_ent_t)(struct ftrace_graph_ent *); /* entry >>> */ >>> >>> +#if defined(CONFIG_FUNCTION_GRAPH_TRACER) || defined(CONFIG_KASAN) >>> +/* >>> + * We want to know which function is an entrypoint of a hardirq. >>> + */ >>> +#define __irq_entry >>> __attribute__((__section__(".irqentry.text"))) >>> +#define __softirq_entry \ >>> + __attribute__((__section__(".softirqentry.text"))) >>> + >>> +/* Limits of hardirq entrypoints */ >>> +extern char __irqentry_text_start[]; >>> +extern char __irqentry_text_end[]; >>> +/* Limits of softirq entrypoints */ >>> +extern char __softirqentry_text_start[]; >>> +extern char __softirqentry_text_end[]; >>> + >>> +#else >>> +#define __irq_entry >>> +#define __softirq_entry >>> +#endif >>> + >>> #ifdef CONFIG_FUNCTION_GRAPH_TRACER >>> >>> /* for init task */ >> >> Since this is no longer just used for function tracing, perhaps the >> code should be moved to include/linux/irq.h or something. >> >> -- Steve >> > > > > -- > Alexander Potapenko > Software Engineer > > Google Germany GmbH > Erika-Mann-Straße, 33 > 80636 München > > Geschäftsführer: Matthew Scott Sucherman, Paul Terence Manicle > Registergericht und -nummer: Hamburg, HRB 86891 > Sitz der Gesellschaft: Hamburg > Diese E-Mail ist vertraulich. Wenn Sie nicht der richtige Adressat sind, > leiten Sie diese bitte nicht weiter, informieren Sie den > Absender und löschen Sie die E-Mail und alle Anhänge. Vielen Dank. > This e-mail is confidential. If you are not the right addressee please > do not forward it, please inform the sender, and please erase this > e-mail including any attachments. Thanks. -- Alexander Potapenko Software Engineer Google Germany GmbH Erika-Mann-Straße, 33 80636 München Geschäftsführer: Matthew Scott Sucherman, Paul Terence Manicle Registergericht und -nummer: Hamburg, HRB 86891 Sitz der Gesellschaft: Hamburg Diese E-Mail ist vertraulich. Wenn Sie nicht der richtige Adressat sind, leiten Sie diese bitte nicht weiter, informieren Sie den Absender und löschen Sie die E-Mail und alle Anhänge. Vielen Dank. This e-mail is confidential. If you are not the right addressee please do not forward it, please inform the sender, and please erase this e-mail including any attachments. Thanks.