[PATCH] Fix the conflicted for_each_cpu macro with 2.6.28-rc4
Wenji Huang
wenji.huang@oracle.com
Tue Nov 18 01:56:00 GMT 2008
William Cohen wrote:
> Wenji Huang wrote:
>> This patch will change for_each_cpu macro definition to avoid
>> name collusion in 2.6.28-rc4. See mainline commit:
>> cb56d98e2a7530615899597551db685d68a2e852.
>>
>> ---
>> runtime/counter.c | 4 ++--
>> runtime/map-stat.c | 4 ++--
>> runtime/map.c | 14 +++++++-------
>> runtime/pmap-gen.c | 6 +++---
>> runtime/runtime.h | 10 ++++++++--
>> runtime/stat.c | 6 +++---
>> runtime/transport/procfs.c | 6 +++---
>> 7 files changed, 28 insertions(+), 22 deletions(-)
>
>> --- a/runtime/runtime.h
>> +++ b/runtime/runtime.h
>> @@ -39,8 +39,14 @@
>> #define STP_OLD_TRANSPORT
>> #endif
>>
>> -#ifndef for_each_cpu
>> -#define for_each_cpu(cpu) for_each_cpu_mask((cpu), cpu_possible_map)
>> +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,28)
>> +#ifndef stp_for_each_cpu
>> +#define stp_for_each_cpu(cpu) for_each_cpu((cpu), cpu_possible_map)
>> +#endif
>> +#else
>> +#ifndef stp_for_each_cpu
>> +#define stp_for_each_cpu(cpu) for_each_cpu_mask((cpu),
>> cpu_possible_map)
>> +#endif
>> #endif
>
> I noticed this problem occurring with the i686 testing of the new
> systemtap rpm on f10. Looking through the git tree for the kernel I
> found when the change was checked in:
>
> http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=15c8b6c1aaaf1c4edd67e2f02e4d8e1bd1a51c0d
>
>
> It looks like this is older than a 2.6.28 change, May 9, 2008. This will
> also be in 2.6.27 kernels.
>
> -Will
Thanks for your review.
The change happened on
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=cb56d98e2a7530615899597551db685d68a2e852
Nov 9, 2008, just several days ago. And I also checked the stable tree
2.6.27.x, for_each_cpu isn't defined there.
Regards,
Wenji
More information about the Systemtap
mailing list