Re: [GIT PULL] kbuild changes for v4.9-rc1
From: Alexey Dobriyan <hidden>
Date: 2016-10-17 11:33:05
Also in:
linux-arch, lkml
On Mon, Oct 17, 2016 at 2:17 PM, Geert Uytterhoeven [off-list ref] wrote:
Hi Alexey, On Mon, Oct 17, 2016 at 1:12 PM, Alexey Dobriyan [off-list ref] wrote:quoted
On Mon, Oct 17, 2016 at 1:01 PM, Adam Borowski [off-list ref] wrote:quoted
On Mon, Oct 17, 2016 at 05:59:51PM +1100, Nicholas Piggin wrote:quoted
On Mon, 17 Oct 2016 08:51:31 +0200 Adam Borowski [off-list ref] wrote:quoted
--- /dev/null +++ b/include/asm-generic/asm-prototypes.h@@ -0,0 +1,7 @@ +#include <linux/bitops.h> +extern void *__memset(void *, int, __kernel_size_t); +extern void *__memcpy(void *, const void *, __kernel_size_t); +extern void *__memmove(void *, const void *, __kernel_size_t); +extern void *memset(void *, int, __kernel_size_t); +extern void *memcpy(void *, const void *, __kernel_size_t); +extern void *memmove(void *, const void *, __kernel_size_t);Before too late, those extern keywords aren't needed and only slowdown compilation.Do you have any profiling data backing this?
It is easy to obtain. Here is top 10 with runtime bigger than 0.50%: _int_malloc ht_lookup_with_hash _cpp_lex_direct cpp_get_token_1 ggc_internal_alloc_statm _int_free malloc_consolidate lex_identifier enter_macro_context c_lex_with_flags bitmap_set_bit malloc grokdeclarator htab_find_slot_with_hash c_lex_one_token _cpp_lex_token pop_scopev c_parser_declspecs Imagine you're a compiler. Those extern's are tokens. They need to be parsed (byte-by-byte), allocated, and, in case of "extern" with prototype, thrown away. They make line longer forcing people to dance around with splitting per 80 characters and generally making everything somewhat slower. Might as well don't new ones. bitops.h is wrong header as well. Why do you need bitops for bunch of function prototypes?