Messages in this thread | | | Date | Tue, 16 Nov 2021 14:05:56 +0100 | From | Peter Zijlstra <> | Subject | Re: [PATCH v2 1/2] scripts: ftrace - move the sort-processing in ftrace_init to compile time |
| |
On Tue, Nov 16, 2021 at 08:42:28PM +0800, Yinan Liu wrote: > > > 在 2021/11/16 下午4:07, Peter Zijlstra 写道: > > > /me hands a bucket of {} your way. > > --- a/kernel/trace/ftrace.c > +++ b/kernel/trace/ftrace.c > @@ -6406,8 +6406,10 @@ static int ftrace_process_locs(struct module *mod, > if (!count) > return 0; > > - sort(start, count, sizeof(*start), > - ftrace_cmp_ips, NULL); > + if (mod) { > + sort(start, count, sizeof(*start), > + ftrace_cmp_ips, NULL); > + } > > hi,peter > > you mean like this? I hope I'm not mistaken.
Exactly.
> > > Also, can't sorttable be ran on modules ? > > The .ko file will be relocated after insmod or modprobe. > And the mcount redirection in .ko is based on ".text", > ".init.text", ".ref.text", ".sched.text", ".spinlock.text", > ".irqentry .text", ".softirqentry.text", ".kprobes.text", ".cpuidle.text", > ".text.unlikely". These sections‘ loading > position are not in definite order. > > So sorting this part at compile time doesn't make much sense.
Bah.. I thought the sections would retain relative position at least, but alas. if that isn't done you're quite right that sorting seems pointless.
| |