Re: [PATCH v2 2/2] x86, range: Do not add new blank slot with add_range_with_merge

From: Yinghai Lu
Date: Tue Jun 11 2013 - 14:30:10 EST


On Tue, Jun 11, 2013 at 10:08 AM, Joshua C. <joshuacov@xxxxxxxxx> wrote:
> 2013/6/11 Yinghai Lu <yinghai@xxxxxxxxxx>:
>> On Tue, Jun 11, 2013 at 3:04 AM, Joshua C. <joshuacov@xxxxxxxxx> wrote:
>>> 2013/6/11 Joshua C. <joshuacov@xxxxxxxxx>:
>>>> 2013/6/10 Yinghai Lu <yinghai@xxxxxxxxxx>:
>>>>> On Mon, Jun 10, 2013 at 3:55 AM, Sergey Meirovich <rathamahata@xxxxxxxxx> wrote:
>>>>>
>>>>>> patches 1,2(latest one) have not helped me on 3.9.5:
>>>>>
>>>>> So v1:
>>>>> https://patchwork.kernel.org/patch/2694981/
>>>>> https://patchwork.kernel.org/patch/2694971/
>>>>>
>>>>> and v2:
>>>>> https://patchwork.kernel.org/patch/2695891/
>>>>> https://patchwork.kernel.org/patch/2695881/
>>>>>
>>>>> Neither of two versions fix the problem on your setup?
>>>>>
>>>>> Can you post boot log with mtrr_cleanup_debug on 3.9.4?
>>>>>
>>>>> Thanks
>>>>>
>>>>> Yinghai
>>>>
>>>> I got some warnings when trying to build v2 of the patches:
>>>>
>>>> # make -s ARCH=x86_64 V=1 -j4 bzImage
>>>> kernel/range.c: In function 'add_range_with_merge':
>>>> kernel/range.c:51:3: error: implicit declaration of function 'memmove'
>>>> [-Werror=implicit-function-declaration]
>>>> kernel/range.c:51:3: warning: incompatible implicit declaration of
>>>> built-in function 'memmove' [enabled by default]
>>>> cc1: some warnings being treated as errors
>>>> scripts/Makefile.build:307: recipe for target 'kernel/range.o' failed
>>>> make[1]: *** [kernel/range.o] Error 1
>>>> Makefile:793: recipe for target 'kernel' failed
>>>> make: *** [kernel] Error 2
>>>> make: *** Waiting for unfinished jobs....
>>>>
>>>>
>>>> --
>>>> --joshua
>>
>> it does not report warning when I compile it with
>>
>> gcc (SUSE Linux) 4.7.2 20130108 [gcc-4_7-branch revision 195012
>>
>>>
>>> A trivial fix for the above warnings:
>>>
>>> --- linux-2.6.orig/kernel/range.c
>>> +++ linux-2.6/kernel/range.c
>>> @@ -4,6 +4,7 @@
>>> #include <linux/kernel.h>
>>> #include <linux/init.h>
>>> #include <linux/sort.h>
>>> +#include <linux/string.h>
>>>
>>> #include <linux/range.h>
>>>
>
> I use fedora17 with gcc version 4.7.3 (git checkout on 20130411). I
> have no idea where this came from...

Ok. Your config should have CONFIG_DYNAMIC_DEBUG defined,
and my config does not have that defined.

we have linux/kernel.h
linux/printk.h
linux/dynamic_debug.h

dynamic_debug.h will include linux/string.h when CONFIG_DYNAMIC_DEBUG
is not defined.

Hi, Andrew,

How to fix this inconsistency caused by dynamic_debug.h

1. let linux/kernel.h include string.h directly
2. or let dynamic_debug include string.h always
3. let printk.h include string.h.
...

Yinghai
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/