lkml.org 
[lkml]   [2011]   [May]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v2] kconfig: autogenerated config_is_xxx macro
On 16.5.2011 21:38, Arnaud Lacombe wrote:
> On Mon, May 16, 2011 at 3:03 PM, <Valdis.Kletnieks@vt.edu> wrote:
>> #if defined(CONFIG_NO_HZ) && defined(CONFIG_SMP)
>> if (!pinned && get_sysctl_timer_migration() && idle_cpu(cpu))
>> cpu = get_nohz_timer_target();
>> #endif
>> new_base = per_cpu(tvec_bases, cpu);
>>
>> If you convert this to an if statement, will it still compile? Which will
>> happen first, dead code elimination, or the warning that get_nohz_timer_target()
>> is an implicit declaration because the definition in the .h file is also
>> guarded by #ifdef CONFIG_NO_HZ?
>>
> I already exposed this case, but let's prove it:
> [proven]

Yes, probably a majority #ifdef CONFIG_FOO construct cannot be converted
to C if statements. And architecture specific code can only be built on
that architecture. But there are places where it is possible to let the
compiler eliminate the if(0) and at least Ingo likes it for x86, so I'll
merge it. The more build coverage the better.
I figure that this feature is not wanted outside of the kernel build,
though. So what about an option to 'conf' that controls whether these
macros will be generated?

Michal


\
 
 \ /
  Last update: 2011-05-16 22:07    [from the cache]
©2003-2014 Jasper Spaans. Advertise on this site