lkml.org 
[lkml]   [2021]   [Jan]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: [RFC PATCH 6/8] preempt/dynamic: Provide preempt_schedule[_notrace]() static calls
    On Wed, Jan 27, 2021 at 09:59:14AM -0600, Josh Poimboeuf wrote:
    > On Wed, Jan 27, 2021 at 12:27:09PM +0100, Peter Zijlstra wrote:
    > > On Wed, Jan 27, 2021 at 10:13:47AM +0100, Peter Zijlstra wrote:
    > > > On Tue, Jan 26, 2021 at 05:57:30PM -0600, Josh Poimboeuf wrote:
    > >
    > > > > Well, I hate it, but I'm not sure I have any better ideas. It should be
    > > > > possible to use kallsyms, instead of the rb-tree/register nonsense. Not
    > > > > sure about the performance impact though. Might be a good reason to
    > > > > speed up kallsyms!
    > > >
    > > > Oh right, let me see if I can make that work.
    > >
    > > Something like so compiles.. but it does make the whole thing depend on
    > > KALLSYMS_ALL, which is somewhat yuck.
    > >
    > > Also, kallsyms_lookup_name() is horrible, but not trivial to fix because
    > > of that compression scheme used.
    >
    > The KALLSYMS_ALL dependency doesn't bother me personally but I assume
    > some of the tinyconfig folks might not appreciate it being on
    > permanently.

    I suppose this ought to cure the _ALL thing.

    diff --git a/scripts/kallsyms.c b/scripts/kallsyms.c
    index 7ecd2ccba531..83586cc4d954 100644
    --- a/scripts/kallsyms.c
    +++ b/scripts/kallsyms.c
    @@ -260,6 +260,12 @@ static int symbol_valid(const struct sym_entry *s)
    {
    const char *name = sym_name(s);

    + /*
    + * Always emit __SCK__ symbols for static_call_add_module().
    + */
    + if (!strncmp(name, "__SCK__", 7))
    + return 1;
    +
    /* if --all-symbols is not specified, then symbols outside the text
    * and inittext sections are discarded */
    if (!all_symbols) {
    \
     
     \ /
      Last update: 2021-01-27 17:23    [W:3.666 / U:0.040 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site