From: Rusty Russell <rusty@rustcorp.com.au>
To: Oleg Nesterov <oleg@redhat.com>,
Rasmus Villemoes <linux@rasmusvillemoes.dk>
Cc: Andrew Morton <akpm@linux-foundation.org>,
"H. Peter Anvin" <hpa@zytor.com>,
"Peter Zijlstra \(Intel\)" <peterz@infradead.org>,
Geert Uytterhoeven <geert@linux-m68k.org>,
Prarit Bhargava <prarit@redhat.com>,
Fabian Frederick <fabf@skynet.be>,
Johannes Weiner <hannes@cmpxchg.org>,
linux-kernel@vger.kernel.org
Subject: Re: [RFC/PATCH] init/main.c: Simplify initcall_blacklisted()
Date: Tue, 20 Jan 2015 11:35:39 +1030 [thread overview]
Message-ID: <87y4oyb6sc.fsf@rustcorp.com.au> (raw)
In-Reply-To: <20150119191924.GA19153@redhat.com>
Oleg Nesterov <oleg@redhat.com> writes:
> On 01/17, Rasmus Villemoes wrote:
>>
>> Using kasprintf to get the function name makes us look up the name
>> twice, along with all the vsnprintf overhead of parsing the format
>> string etc. It also means there is an allocation failure case to deal
>> with. Since symbol_string in vsprintf.c would anyway allocate an array
>> of size KSYM_SYMBOL_LEN on the stack, that might as well be done up
>> here.
>>
>> Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
>> ---
>>
>> Notes:
>> I don't know how expensive it is to do the symbol lookup for each
>> initcall. It might be worthwhile adding an
>>
>> if (list_empty(&blacklisted_initcalls))
>> return false;
>>
>> at the very beginning of initcall_blacklisted(), since this is a debug
>> feature and the blacklist is indeed usually empty.
>
> If we want to optimize this... I am wondering if we can change
> initcall_blacklist()
>
> - entry->buf = alloc_bootmem(strlen(str_entry) + 1);
> + ebtry->fn = kallsyms_lookup_name(str_entry);
>
> and then change initcall_blacklisted() to just compare the pointers.
That would make far, far more sense. It would fail for modules of
course, but that might be OK. Prarit, this was your code; does it
matter?
Cheers,
Rusty.
next prev parent reply other threads:[~2015-01-20 1:47 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-17 0:25 [RFC/PATCH] init/main.c: Simplify initcall_blacklisted() Rasmus Villemoes
2015-01-19 19:19 ` Oleg Nesterov
2015-01-20 1:05 ` Rusty Russell [this message]
2015-01-20 10:49 ` Prarit Bhargava
2015-01-20 18:05 ` Oleg Nesterov
2015-01-20 18:39 ` Prarit Bhargava
2016-03-21 23:14 ` [PATCH resend] " Rasmus Villemoes
2016-03-22 3:27 ` Rusty Russell
2016-03-23 23:54 ` Rasmus Villemoes
2016-03-24 17:16 ` Prarit Bhargava
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87y4oyb6sc.fsf@rustcorp.com.au \
--to=rusty@rustcorp.com.au \
--cc=akpm@linux-foundation.org \
--cc=fabf@skynet.be \
--cc=geert@linux-m68k.org \
--cc=hannes@cmpxchg.org \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@rasmusvillemoes.dk \
--cc=oleg@redhat.com \
--cc=peterz@infradead.org \
--cc=prarit@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.