* [PATCH] resource, kunit: add dependency on SPARSEMEM
@ 2024-09-22 22:50 Guenter Roeck
2024-09-23 1:11 ` Huang, Ying
2024-09-23 12:58 ` Geert Uytterhoeven
0 siblings, 2 replies; 19+ messages in thread
From: Guenter Roeck @ 2024-09-22 22:50 UTC (permalink / raw)
To: Andrew Morton; +Cc: linux-kernel, Guenter Roeck, Huang Ying
Building allmodconfig images on systems with SPARSEMEM=n results in
the following message.
WARNING: unmet direct dependencies detected for GET_FREE_REGION
Depends on [n]: SPARSEMEM [=n]
Selected by [m]:
- RESOURCE_KUNIT_TEST [=m] && RUNTIME_TESTING_MENU [=y] && KUNIT [=m]
and the build ultimately fails.
GET_FREE_REGION depends on SPARSEMEM, so any configuration selecting it
also depends on SPARSEMEM. Add the missing dependency.
Effectively that means that RESOURCE_KUNIT_TEST is now restricted to
systems with SPARSEMEM=y, but that can not be helped.
Fixes: 99185c10d5d9 ("resource, kunit: add test case for region_intersects()")
Cc: Huang Ying <ying.huang@intel.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
---
lib/Kconfig.debug | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index bc8faa4509e1..52184c51b6dc 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -2635,7 +2635,7 @@ config HASH_KUNIT_TEST
config RESOURCE_KUNIT_TEST
tristate "KUnit test for resource API" if !KUNIT_ALL_TESTS
- depends on KUNIT
+ depends on KUNIT && SPARSEMEM
default KUNIT_ALL_TESTS
select GET_FREE_REGION
help
--
2.45.2
^ permalink raw reply related [flat|nested] 19+ messages in thread
* Re: [PATCH] resource, kunit: add dependency on SPARSEMEM
2024-09-22 22:50 [PATCH] resource, kunit: add dependency on SPARSEMEM Guenter Roeck
@ 2024-09-23 1:11 ` Huang, Ying
2024-09-23 12:58 ` Geert Uytterhoeven
1 sibling, 0 replies; 19+ messages in thread
From: Huang, Ying @ 2024-09-23 1:11 UTC (permalink / raw)
To: Guenter Roeck; +Cc: Andrew Morton, linux-kernel, Arnd Bergmann, Naresh Kamboju
Guenter Roeck <linux@roeck-us.net> writes:
> Building allmodconfig images on systems with SPARSEMEM=n results in
> the following message.
>
> WARNING: unmet direct dependencies detected for GET_FREE_REGION
> Depends on [n]: SPARSEMEM [=n]
> Selected by [m]:
> - RESOURCE_KUNIT_TEST [=m] && RUNTIME_TESTING_MENU [=y] && KUNIT [=m]
>
> and the build ultimately fails.
>
> GET_FREE_REGION depends on SPARSEMEM, so any configuration selecting it
> also depends on SPARSEMEM. Add the missing dependency.
>
> Effectively that means that RESOURCE_KUNIT_TEST is now restricted to
> systems with SPARSEMEM=y, but that can not be helped.
>
> Fixes: 99185c10d5d9 ("resource, kunit: add test case for region_intersects()")
> Cc: Huang Ying <ying.huang@intel.com>
> Cc: Andrew Morton <akpm@linux-foundation.org>
> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Thanks for fixing. It's better to fix this via remove dependency of
SPARSEMEM from GET_FREE_REGION. However, we need to sort out some merge
conflict before that. So, I think this patch is good as a quick fix.
Acked-by: "Huang, Ying" <ying.huang@intel.com>
> ---
> lib/Kconfig.debug | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
> index bc8faa4509e1..52184c51b6dc 100644
> --- a/lib/Kconfig.debug
> +++ b/lib/Kconfig.debug
> @@ -2635,7 +2635,7 @@ config HASH_KUNIT_TEST
>
> config RESOURCE_KUNIT_TEST
> tristate "KUnit test for resource API" if !KUNIT_ALL_TESTS
> - depends on KUNIT
> + depends on KUNIT && SPARSEMEM
> default KUNIT_ALL_TESTS
> select GET_FREE_REGION
> help
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH] resource, kunit: add dependency on SPARSEMEM
2024-09-22 22:50 [PATCH] resource, kunit: add dependency on SPARSEMEM Guenter Roeck
2024-09-23 1:11 ` Huang, Ying
@ 2024-09-23 12:58 ` Geert Uytterhoeven
2024-09-23 13:39 ` Guenter Roeck
1 sibling, 1 reply; 19+ messages in thread
From: Geert Uytterhoeven @ 2024-09-23 12:58 UTC (permalink / raw)
To: Guenter Roeck; +Cc: Andrew Morton, linux-kernel, Huang Ying
Hi Günter,
On Mon, Sep 23, 2024 at 12:50 AM Guenter Roeck <linux@roeck-us.net> wrote:
> Building allmodconfig images on systems with SPARSEMEM=n results in
> the following message.
>
> WARNING: unmet direct dependencies detected for GET_FREE_REGION
> Depends on [n]: SPARSEMEM [=n]
> Selected by [m]:
> - RESOURCE_KUNIT_TEST [=m] && RUNTIME_TESTING_MENU [=y] && KUNIT [=m]
>
> and the build ultimately fails.
Really? What's the build error?
It does build for me on m68k, after fixing:
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -101,7 +101,7 @@ extern int mmap_rnd_compat_bits __read_mostly;
# ifdef MAX_PHYSMEM_BITS
# define PHYSMEM_END ((1ULL << MAX_PHYSMEM_BITS) - 1)
# else
-# define PHYSMEM_END (-1ULL)
+# define PHYSMEM_END ((phys_addr_t)-1)
# endif
#endif
> GET_FREE_REGION depends on SPARSEMEM, so any configuration selecting it
> also depends on SPARSEMEM. Add the missing dependency.
>
> Effectively that means that RESOURCE_KUNIT_TEST is now restricted to
> systems with SPARSEMEM=y, but that can not be helped.
Perhaps the individual test(s) that do depend on GET_FREE_REGION should
be protected by #ifdef CONFIG_GET_FREE_REGION instead? However,
I have no idea which parts depend on that, as apparently all tests
succeed on m68k/ARAnyM, with CONFIG_SPARSEMEM=n:
KTAP version 1
1..1
KTAP version 1
# Subtest: resource
# module: resource_kunit
1..3
ok 1 resource_test_union
ok 2 resource_test_intersection
ok 3 resource_test_region_intersects
# resource: pass:3 fail:0 skip:0 total:3
# Totals: pass:3 fail:0 skip:0 total:3
ok 1 resource
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH] resource, kunit: add dependency on SPARSEMEM
2024-09-23 12:58 ` Geert Uytterhoeven
@ 2024-09-23 13:39 ` Guenter Roeck
2024-09-23 13:47 ` Geert Uytterhoeven
2024-09-24 1:21 ` Huang, Ying
0 siblings, 2 replies; 19+ messages in thread
From: Guenter Roeck @ 2024-09-23 13:39 UTC (permalink / raw)
To: Geert Uytterhoeven; +Cc: Andrew Morton, linux-kernel, Huang Ying
On 9/23/24 05:58, Geert Uytterhoeven wrote:
> Hi Günter,
>
> On Mon, Sep 23, 2024 at 12:50 AM Guenter Roeck <linux@roeck-us.net> wrote:
>> Building allmodconfig images on systems with SPARSEMEM=n results in
>> the following message.
>>
>> WARNING: unmet direct dependencies detected for GET_FREE_REGION
>> Depends on [n]: SPARSEMEM [=n]
>> Selected by [m]:
>> - RESOURCE_KUNIT_TEST [=m] && RUNTIME_TESTING_MENU [=y] && KUNIT [=m]
>>
>> and the build ultimately fails.
>
> Really? What's the build error?
I saw it on hexagon, and I didn't bother writing down the actual build error
message. But it turns out you are correct, the m68k machine does build with
CONFIG_RESOURCE_KUNIT_TEST=y even though SPARSEMEM and with it GET_FREE_REGION
are not set. Never mind, I don't really want or have time to argue. I'll just
disable CONFIG_RESOURCE_KUNIT_TEST when building hexagon images and wherever
else I see the problem.
> It does build for me on m68k, after fixing:
>
> --- a/include/linux/mm.h
> +++ b/include/linux/mm.h
> @@ -101,7 +101,7 @@ extern int mmap_rnd_compat_bits __read_mostly;
> # ifdef MAX_PHYSMEM_BITS
> # define PHYSMEM_END ((1ULL << MAX_PHYSMEM_BITS) - 1)
> # else
> -# define PHYSMEM_END (-1ULL)
> +# define PHYSMEM_END ((phys_addr_t)-1)
> # endif
> #endif
>
>> GET_FREE_REGION depends on SPARSEMEM, so any configuration selecting it
>> also depends on SPARSEMEM. Add the missing dependency.
>>
>> Effectively that means that RESOURCE_KUNIT_TEST is now restricted to
>> systems with SPARSEMEM=y, but that can not be helped.
>
> Perhaps the individual test(s) that do depend on GET_FREE_REGION should
> be protected by #ifdef CONFIG_GET_FREE_REGION instead? However,
> I have no idea which parts depend on that, as apparently all tests
> succeed on m68k/ARAnyM, with CONFIG_SPARSEMEM=n:
>
> KTAP version 1
> 1..1
> KTAP version 1
> # Subtest: resource
> # module: resource_kunit
> 1..3
> ok 1 resource_test_union
> ok 2 resource_test_intersection
> ok 3 resource_test_region_intersects
> # resource: pass:3 fail:0 skip:0 total:3
> # Totals: pass:3 fail:0 skip:0 total:3
> ok 1 resource
>
Interesting that you get that to boot. The q800 machine crashes for me
when trying to boot it in qemu with the latest upstream kernel, in function
__pte_offset_map_lock(). It bisects to commit 394290cba966 ("mm: turn
USE_SPLIT_PTE_PTLOCKS / USE_SPLIT_PTE_PTLOCKS into Kconfig options").
Reverting that patch fixes the crash for me. I guess you are not seeing that ?
Thanks,
Guenter
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH] resource, kunit: add dependency on SPARSEMEM
2024-09-23 13:39 ` Guenter Roeck
@ 2024-09-23 13:47 ` Geert Uytterhoeven
2024-09-23 14:23 ` Guenter Roeck
2024-09-23 14:54 ` Guenter Roeck
2024-09-24 1:21 ` Huang, Ying
1 sibling, 2 replies; 19+ messages in thread
From: Geert Uytterhoeven @ 2024-09-23 13:47 UTC (permalink / raw)
To: Guenter Roeck; +Cc: Andrew Morton, linux-kernel, Huang Ying
Hi Günter,
On Mon, Sep 23, 2024 at 3:39 PM Guenter Roeck <linux@roeck-us.net> wrote:
> Interesting that you get that to boot. The q800 machine crashes for me
> when trying to boot it in qemu with the latest upstream kernel, in function
> __pte_offset_map_lock(). It bisects to commit 394290cba966 ("mm: turn
> USE_SPLIT_PTE_PTLOCKS / USE_SPLIT_PTE_PTLOCKS into Kconfig options").
> Reverting that patch fixes the crash for me. I guess you are not seeing that ?
I never used qemu -M q800.
I have just verified that -M virt boots fine?
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH] resource, kunit: add dependency on SPARSEMEM
2024-09-23 13:47 ` Geert Uytterhoeven
@ 2024-09-23 14:23 ` Guenter Roeck
2024-09-23 14:54 ` Guenter Roeck
1 sibling, 0 replies; 19+ messages in thread
From: Guenter Roeck @ 2024-09-23 14:23 UTC (permalink / raw)
To: Geert Uytterhoeven; +Cc: Andrew Morton, linux-kernel, Huang Ying
On 9/23/24 06:47, Geert Uytterhoeven wrote:
> Hi Günter,
>
> On Mon, Sep 23, 2024 at 3:39 PM Guenter Roeck <linux@roeck-us.net> wrote:
>> Interesting that you get that to boot. The q800 machine crashes for me
>> when trying to boot it in qemu with the latest upstream kernel, in function
>> __pte_offset_map_lock(). It bisects to commit 394290cba966 ("mm: turn
>> USE_SPLIT_PTE_PTLOCKS / USE_SPLIT_PTE_PTLOCKS into Kconfig options").
>> Reverting that patch fixes the crash for me. I guess you are not seeing that ?
>
> I never used qemu -M q800.
> I have just verified that -M virt boots fine?
>
m68k doesn't define a NR_CPUs configuration option. The new "config
SPLIT_PTE_PTLOCKS" depends on "NR_CPUS >= 4" but for some reason that
evaluates to true if there is no NR_CPUS configuration option.
It is interesting that this does not affect the 'virt' machine.
Guenter
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH] resource, kunit: add dependency on SPARSEMEM
2024-09-23 13:47 ` Geert Uytterhoeven
2024-09-23 14:23 ` Guenter Roeck
@ 2024-09-23 14:54 ` Guenter Roeck
2024-09-23 16:01 ` Geert Uytterhoeven
1 sibling, 1 reply; 19+ messages in thread
From: Guenter Roeck @ 2024-09-23 14:54 UTC (permalink / raw)
To: Geert Uytterhoeven; +Cc: Andrew Morton, linux-kernel, Huang Ying
On 9/23/24 06:47, Geert Uytterhoeven wrote:
> Hi Günter,
>
> On Mon, Sep 23, 2024 at 3:39 PM Guenter Roeck <linux@roeck-us.net> wrote:
>> Interesting that you get that to boot. The q800 machine crashes for me
>> when trying to boot it in qemu with the latest upstream kernel, in function
>> __pte_offset_map_lock(). It bisects to commit 394290cba966 ("mm: turn
>> USE_SPLIT_PTE_PTLOCKS / USE_SPLIT_PTE_PTLOCKS into Kconfig options").
>> Reverting that patch fixes the crash for me. I guess you are not seeing that ?
>
> I never used qemu -M q800.
> I have just verified that -M virt boots fine?
>
Not for me :-(
Run /sbin/init as init process
Unable to handle kernel NULL pointer dereference at virtual address 00000014
Oops: 00000000
PC: [<000ca784>] __pte_offset_map_lock+0x36/0x7e
This is with virt_defconfig.
Guenter
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH] resource, kunit: add dependency on SPARSEMEM
2024-09-23 14:54 ` Guenter Roeck
@ 2024-09-23 16:01 ` Geert Uytterhoeven
2024-09-23 16:25 ` Guenter Roeck
0 siblings, 1 reply; 19+ messages in thread
From: Geert Uytterhoeven @ 2024-09-23 16:01 UTC (permalink / raw)
To: Guenter Roeck; +Cc: Andrew Morton, linux-kernel, Huang Ying
Hi Günter.
On Mon, Sep 23, 2024 at 4:55 PM Guenter Roeck <linux@roeck-us.net> wrote:
> On 9/23/24 06:47, Geert Uytterhoeven wrote:
> > On Mon, Sep 23, 2024 at 3:39 PM Guenter Roeck <linux@roeck-us.net> wrote:
> >> Interesting that you get that to boot. The q800 machine crashes for me
> >> when trying to boot it in qemu with the latest upstream kernel, in function
> >> __pte_offset_map_lock(). It bisects to commit 394290cba966 ("mm: turn
> >> USE_SPLIT_PTE_PTLOCKS / USE_SPLIT_PTE_PTLOCKS into Kconfig options").
> >> Reverting that patch fixes the crash for me. I guess you are not seeing that ?
> >
> > I never used qemu -M q800.
> > I have just verified that -M virt boots fine?
>
> Not for me :-(
>
> Run /sbin/init as init process
> Unable to handle kernel NULL pointer dereference at virtual address 00000014
> Oops: 00000000
> PC: [<000ca784>] __pte_offset_map_lock+0x36/0x7e
>
> This is with virt_defconfig.
Before, I was using my current development tree, which has lots of
local patches. So I retried with commit 394290cba966.
Boots fine into Debian:
root@debian:~# cat /etc/issue
Debian GNU/Linux bullseye/sid \n \l
root@debian:~# uname -r
6.11.0-rc6-virt-00033-g394290cba966
root@debian:~#
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH] resource, kunit: add dependency on SPARSEMEM
2024-09-23 16:01 ` Geert Uytterhoeven
@ 2024-09-23 16:25 ` Guenter Roeck
0 siblings, 0 replies; 19+ messages in thread
From: Guenter Roeck @ 2024-09-23 16:25 UTC (permalink / raw)
To: Geert Uytterhoeven; +Cc: Andrew Morton, linux-kernel, Huang Ying
[-- Attachment #1: Type: text/plain, Size: 1400 bytes --]
On 9/23/24 09:01, Geert Uytterhoeven wrote:
> Hi Günter.
>
> On Mon, Sep 23, 2024 at 4:55 PM Guenter Roeck <linux@roeck-us.net> wrote:
>> On 9/23/24 06:47, Geert Uytterhoeven wrote:
>>> On Mon, Sep 23, 2024 at 3:39 PM Guenter Roeck <linux@roeck-us.net> wrote:
>>>> Interesting that you get that to boot. The q800 machine crashes for me
>>>> when trying to boot it in qemu with the latest upstream kernel, in function
>>>> __pte_offset_map_lock(). It bisects to commit 394290cba966 ("mm: turn
>>>> USE_SPLIT_PTE_PTLOCKS / USE_SPLIT_PTE_PTLOCKS into Kconfig options").
>>>> Reverting that patch fixes the crash for me. I guess you are not seeing that ?
>>>
>>> I never used qemu -M q800.
>>> I have just verified that -M virt boots fine?
>>
>> Not for me :-(
>>
>> Run /sbin/init as init process
>> Unable to handle kernel NULL pointer dereference at virtual address 00000014
>> Oops: 00000000
>> PC: [<000ca784>] __pte_offset_map_lock+0x36/0x7e
>>
>> This is with virt_defconfig.
>
> Before, I was using my current development tree, which has lots of
> local patches. So I retried with commit 394290cba966.
> Boots fine into Debian:
>
Interesting. I have a lot of debug and kunit test options enabled. Turns out
I can boot cleanly with an unmodified virt_defconfig, but the crash is seen
if I enable the various debug and test options. I attached the defconfig
I used for reference.
Guenter
[-- Attachment #2: defconfig.debug.gz --]
[-- Type: application/gzip, Size: 1181 bytes --]
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH] resource, kunit: add dependency on SPARSEMEM
2024-09-23 13:39 ` Guenter Roeck
2024-09-23 13:47 ` Geert Uytterhoeven
@ 2024-09-24 1:21 ` Huang, Ying
2024-09-24 2:41 ` Guenter Roeck
2024-09-24 7:56 ` Geert Uytterhoeven
1 sibling, 2 replies; 19+ messages in thread
From: Huang, Ying @ 2024-09-24 1:21 UTC (permalink / raw)
To: Guenter Roeck
Cc: Geert Uytterhoeven, Andrew Morton, linux-kernel, Linus Torvalds
Guenter Roeck <linux@roeck-us.net> writes:
> On 9/23/24 05:58, Geert Uytterhoeven wrote:
>> Hi Günter,
>> On Mon, Sep 23, 2024 at 12:50 AM Guenter Roeck <linux@roeck-us.net>
>> wrote:
>>> Building allmodconfig images on systems with SPARSEMEM=n results in
>>> the following message.
>>>
>>> WARNING: unmet direct dependencies detected for GET_FREE_REGION
>>> Depends on [n]: SPARSEMEM [=n]
>>> Selected by [m]:
>>> - RESOURCE_KUNIT_TEST [=m] && RUNTIME_TESTING_MENU [=y] && KUNIT [=m]
>>>
>>> and the build ultimately fails.
>> Really? What's the build error?
>
> I saw it on hexagon, and I didn't bother writing down the actual build error
> message. But it turns out you are correct, the m68k machine does build with
> CONFIG_RESOURCE_KUNIT_TEST=y even though SPARSEMEM and with it GET_FREE_REGION
> are not set. Never mind, I don't really want or have time to argue. I'll just
> disable CONFIG_RESOURCE_KUNIT_TEST when building hexagon images and wherever
> else I see the problem.
>
>> It does build for me on m68k, after fixing:
>> --- a/include/linux/mm.h
>> +++ b/include/linux/mm.h
>> @@ -101,7 +101,7 @@ extern int mmap_rnd_compat_bits __read_mostly;
>> # ifdef MAX_PHYSMEM_BITS
>> # define PHYSMEM_END ((1ULL << MAX_PHYSMEM_BITS) - 1)
>> # else
>> -# define PHYSMEM_END (-1ULL)
>> +# define PHYSMEM_END ((phys_addr_t)-1)
>> # endif
>> #endif
After Linus' fix for PHYSMEM_END, GET_FREE_REGION doesn't need to depend
on SPARSEMEM anymore. So, I think we can remove the dependency. Can
you check whether the following patch work for you on top of latest
upstream kernel (with Linus' fix).
------------------------8<-------------------------------
From ce1a930f74192a4a85c20564098470356f8c2ed4 Mon Sep 17 00:00:00 2001
From: Huang Ying <ying.huang@intel.com>
Date: Mon, 23 Sep 2024 09:24:03 +0800
Subject: [PATCH] resource: Remove dependency on SPARSEMEM from GET_FREE_REGION
We want to use the functions configured via GET_FREE_REGION in
resource kunit tests. However, GET_FREE_REGION depends on SPARSEMEM.
This makes resource kunit tests cannot be built on some architectures
lacking SPARSEMEM. In fact, these functions doesn't depend on
SPARSEMEM now. So, remove dependency on SPARSEMEM from
GET_FREE_REGION.
Signed-off-by: "Huang, Ying" <ying.huang@intel.com>
Cc: Guenter Roeck <linux@roeck-us.net>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Nathan Chancellor <nathan@kernel.org>
Cc: Arnd Bergmann <arnd@arndb.de>
---
mm/Kconfig | 1 -
1 file changed, 1 deletion(-)
diff --git a/mm/Kconfig b/mm/Kconfig
index b72e7d040f78..f287b0d1c5fc 100644
--- a/mm/Kconfig
+++ b/mm/Kconfig
@@ -1060,7 +1060,6 @@ config HMM_MIRROR
depends on MMU
config GET_FREE_REGION
- depends on SPARSEMEM
bool
config DEVICE_PRIVATE
--
2.39.2
^ permalink raw reply related [flat|nested] 19+ messages in thread
* Re: [PATCH] resource, kunit: add dependency on SPARSEMEM
2024-09-24 1:21 ` Huang, Ying
@ 2024-09-24 2:41 ` Guenter Roeck
2024-10-10 6:40 ` Huang, Ying
2024-09-24 7:56 ` Geert Uytterhoeven
1 sibling, 1 reply; 19+ messages in thread
From: Guenter Roeck @ 2024-09-24 2:41 UTC (permalink / raw)
To: Huang, Ying
Cc: Geert Uytterhoeven, Andrew Morton, linux-kernel, Linus Torvalds
On 9/23/24 18:21, Huang, Ying wrote:
> Guenter Roeck <linux@roeck-us.net> writes:
>
>> On 9/23/24 05:58, Geert Uytterhoeven wrote:
>>> Hi Günter,
>>> On Mon, Sep 23, 2024 at 12:50 AM Guenter Roeck <linux@roeck-us.net>
>>> wrote:
>>>> Building allmodconfig images on systems with SPARSEMEM=n results in
>>>> the following message.
>>>>
>>>> WARNING: unmet direct dependencies detected for GET_FREE_REGION
>>>> Depends on [n]: SPARSEMEM [=n]
>>>> Selected by [m]:
>>>> - RESOURCE_KUNIT_TEST [=m] && RUNTIME_TESTING_MENU [=y] && KUNIT [=m]
>>>>
>>>> and the build ultimately fails.
>>> Really? What's the build error?
>>
>> I saw it on hexagon, and I didn't bother writing down the actual build error
>> message. But it turns out you are correct, the m68k machine does build with
>> CONFIG_RESOURCE_KUNIT_TEST=y even though SPARSEMEM and with it GET_FREE_REGION
>> are not set. Never mind, I don't really want or have time to argue. I'll just
>> disable CONFIG_RESOURCE_KUNIT_TEST when building hexagon images and wherever
>> else I see the problem.
>>
>>> It does build for me on m68k, after fixing:
>>> --- a/include/linux/mm.h
>>> +++ b/include/linux/mm.h
>>> @@ -101,7 +101,7 @@ extern int mmap_rnd_compat_bits __read_mostly;
>>> # ifdef MAX_PHYSMEM_BITS
>>> # define PHYSMEM_END ((1ULL << MAX_PHYSMEM_BITS) - 1)
>>> # else
>>> -# define PHYSMEM_END (-1ULL)
>>> +# define PHYSMEM_END ((phys_addr_t)-1)
>>> # endif
>>> #endif
>
> After Linus' fix for PHYSMEM_END, GET_FREE_REGION doesn't need to depend
> on SPARSEMEM anymore. So, I think we can remove the dependency. Can
> you check whether the following patch work for you on top of latest
> upstream kernel (with Linus' fix).
>
It works for m68k. I'll run a complete test on all architectures/platforms
tonight.
Guenter
> ------------------------8<-------------------------------
>>From ce1a930f74192a4a85c20564098470356f8c2ed4 Mon Sep 17 00:00:00 2001
> From: Huang Ying <ying.huang@intel.com>
> Date: Mon, 23 Sep 2024 09:24:03 +0800
> Subject: [PATCH] resource: Remove dependency on SPARSEMEM from GET_FREE_REGION
>
> We want to use the functions configured via GET_FREE_REGION in
> resource kunit tests. However, GET_FREE_REGION depends on SPARSEMEM.
> This makes resource kunit tests cannot be built on some architectures
> lacking SPARSEMEM. In fact, these functions doesn't depend on
> SPARSEMEM now. So, remove dependency on SPARSEMEM from
> GET_FREE_REGION.
>
> Signed-off-by: "Huang, Ying" <ying.huang@intel.com>
> Cc: Guenter Roeck <linux@roeck-us.net>
> Cc: Geert Uytterhoeven <geert@linux-m68k.org>
> Cc: Nathan Chancellor <nathan@kernel.org>
> Cc: Arnd Bergmann <arnd@arndb.de>
> ---
> mm/Kconfig | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/mm/Kconfig b/mm/Kconfig
> index b72e7d040f78..f287b0d1c5fc 100644
> --- a/mm/Kconfig
> +++ b/mm/Kconfig
> @@ -1060,7 +1060,6 @@ config HMM_MIRROR
> depends on MMU
>
> config GET_FREE_REGION
> - depends on SPARSEMEM
> bool
>
> config DEVICE_PRIVATE
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH] resource, kunit: add dependency on SPARSEMEM
2024-09-24 1:21 ` Huang, Ying
2024-09-24 2:41 ` Guenter Roeck
@ 2024-09-24 7:56 ` Geert Uytterhoeven
2024-09-24 8:21 ` Huang, Ying
1 sibling, 1 reply; 19+ messages in thread
From: Geert Uytterhoeven @ 2024-09-24 7:56 UTC (permalink / raw)
To: Huang, Ying; +Cc: Guenter Roeck, Andrew Morton, linux-kernel, Linus Torvalds
Hi Huang,
On Tue, Sep 24, 2024 at 3:25 AM Huang, Ying <ying.huang@intel.com> wrote:
> Guenter Roeck <linux@roeck-us.net> writes:
> > On 9/23/24 05:58, Geert Uytterhoeven wrote:
> >> Hi Günter,
> >> On Mon, Sep 23, 2024 at 12:50 AM Guenter Roeck <linux@roeck-us.net>
> >> wrote:
> >>> Building allmodconfig images on systems with SPARSEMEM=n results in
> >>> the following message.
> >>>
> >>> WARNING: unmet direct dependencies detected for GET_FREE_REGION
> >>> Depends on [n]: SPARSEMEM [=n]
> >>> Selected by [m]:
> >>> - RESOURCE_KUNIT_TEST [=m] && RUNTIME_TESTING_MENU [=y] && KUNIT [=m]
> After Linus' fix for PHYSMEM_END, GET_FREE_REGION doesn't need to depend
> on SPARSEMEM anymore. So, I think we can remove the dependency. Can
> you check whether the following patch work for you on top of latest
> upstream kernel (with Linus' fix).
Yes it does, thanks!
One remaining issue is that RESOURCE_KUNIT_TEST selects GET_FREE_REGION.
IMHO merely enabling a test should not enable extra functionality
in the kernel. Can the individual test(s) that do depend on
GET_FREE_REGION be protected by #ifdef CONFIG_GET_FREE_REGION instead?
Thanks again!
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH] resource, kunit: add dependency on SPARSEMEM
2024-09-24 7:56 ` Geert Uytterhoeven
@ 2024-09-24 8:21 ` Huang, Ying
2024-09-26 18:45 ` Dan Williams
0 siblings, 1 reply; 19+ messages in thread
From: Huang, Ying @ 2024-09-24 8:21 UTC (permalink / raw)
To: Geert Uytterhoeven, Dan Williams
Cc: Guenter Roeck, Andrew Morton, linux-kernel, Linus Torvalds
Geert Uytterhoeven <geert@linux-m68k.org> writes:
> Hi Huang,
>
> On Tue, Sep 24, 2024 at 3:25 AM Huang, Ying <ying.huang@intel.com> wrote:
>> Guenter Roeck <linux@roeck-us.net> writes:
>> > On 9/23/24 05:58, Geert Uytterhoeven wrote:
>> >> Hi Günter,
>> >> On Mon, Sep 23, 2024 at 12:50 AM Guenter Roeck <linux@roeck-us.net>
>> >> wrote:
>> >>> Building allmodconfig images on systems with SPARSEMEM=n results in
>> >>> the following message.
>> >>>
>> >>> WARNING: unmet direct dependencies detected for GET_FREE_REGION
>> >>> Depends on [n]: SPARSEMEM [=n]
>> >>> Selected by [m]:
>> >>> - RESOURCE_KUNIT_TEST [=m] && RUNTIME_TESTING_MENU [=y] && KUNIT [=m]
>
>> After Linus' fix for PHYSMEM_END, GET_FREE_REGION doesn't need to depend
>> on SPARSEMEM anymore. So, I think we can remove the dependency. Can
>> you check whether the following patch work for you on top of latest
>> upstream kernel (with Linus' fix).
>
> Yes it does, thanks!
>
> One remaining issue is that RESOURCE_KUNIT_TEST selects GET_FREE_REGION.
> IMHO merely enabling a test should not enable extra functionality
> in the kernel. Can the individual test(s) that do depend on
> GET_FREE_REGION be protected by #ifdef CONFIG_GET_FREE_REGION instead?
After checking GET_FREE_REGION, I don't think that it's a special
functionality. I guess it's selectable because it depends on SPARSEMEM
and to reduce code size.
Hi, Dan, please correct me if I'm wrong here.
So, to reduce #ifdef in .c file as much as possible and make code
simpler, I prefer to select it for RESOURCE_KUNIT_TEST.
--
Best Regards,
Huang, Ying
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH] resource, kunit: add dependency on SPARSEMEM
2024-09-24 8:21 ` Huang, Ying
@ 2024-09-26 18:45 ` Dan Williams
2024-09-27 1:41 ` Huang, Ying
0 siblings, 1 reply; 19+ messages in thread
From: Dan Williams @ 2024-09-26 18:45 UTC (permalink / raw)
To: Huang, Ying, Geert Uytterhoeven, Dan Williams
Cc: Guenter Roeck, Andrew Morton, linux-kernel, Linus Torvalds
Huang, Ying wrote:
> Geert Uytterhoeven <geert@linux-m68k.org> writes:
>
> > Hi Huang,
> >
> > On Tue, Sep 24, 2024 at 3:25 AM Huang, Ying <ying.huang@intel.com> wrote:
> >> Guenter Roeck <linux@roeck-us.net> writes:
> >> > On 9/23/24 05:58, Geert Uytterhoeven wrote:
> >> >> Hi Günter,
> >> >> On Mon, Sep 23, 2024 at 12:50 AM Guenter Roeck <linux@roeck-us.net>
> >> >> wrote:
> >> >>> Building allmodconfig images on systems with SPARSEMEM=n results in
> >> >>> the following message.
> >> >>>
> >> >>> WARNING: unmet direct dependencies detected for GET_FREE_REGION
> >> >>> Depends on [n]: SPARSEMEM [=n]
> >> >>> Selected by [m]:
> >> >>> - RESOURCE_KUNIT_TEST [=m] && RUNTIME_TESTING_MENU [=y] && KUNIT [=m]
> >
> >> After Linus' fix for PHYSMEM_END, GET_FREE_REGION doesn't need to depend
> >> on SPARSEMEM anymore. So, I think we can remove the dependency. Can
> >> you check whether the following patch work for you on top of latest
> >> upstream kernel (with Linus' fix).
> >
> > Yes it does, thanks!
> >
> > One remaining issue is that RESOURCE_KUNIT_TEST selects GET_FREE_REGION.
> > IMHO merely enabling a test should not enable extra functionality
> > in the kernel. Can the individual test(s) that do depend on
> > GET_FREE_REGION be protected by #ifdef CONFIG_GET_FREE_REGION instead?
>
> After checking GET_FREE_REGION, I don't think that it's a special
> functionality. I guess it's selectable because it depends on SPARSEMEM
> and to reduce code size.
>
> Hi, Dan, please correct me if I'm wrong here.
Right, the only reason it is selectable is just to be mindful is
micro-bloat in kernel/resource.c for the small number of drivers that
need that call.
> So, to reduce #ifdef in .c file as much as possible and make code
> simpler, I prefer to select it for RESOURCE_KUNIT_TEST.
I agree with the result, but for a different rationale.
RESOURCE_KUNIT_TEST is simply another "driver" that needs
GET_FREE_REGION. So while I agree with the general idea that "enabling a
test should not enable extra functionality", in this case the *test* is
the extra functionality and GET_FREE_REGION comes along for the ride.
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH] resource, kunit: add dependency on SPARSEMEM
2024-09-26 18:45 ` Dan Williams
@ 2024-09-27 1:41 ` Huang, Ying
0 siblings, 0 replies; 19+ messages in thread
From: Huang, Ying @ 2024-09-27 1:41 UTC (permalink / raw)
To: Dan Williams
Cc: Geert Uytterhoeven, Guenter Roeck, Andrew Morton, linux-kernel,
Linus Torvalds
Dan Williams <dan.j.williams@intel.com> writes:
> Huang, Ying wrote:
>> Geert Uytterhoeven <geert@linux-m68k.org> writes:
>>
>> > Hi Huang,
>> >
>> > On Tue, Sep 24, 2024 at 3:25 AM Huang, Ying <ying.huang@intel.com> wrote:
>> >> Guenter Roeck <linux@roeck-us.net> writes:
>> >> > On 9/23/24 05:58, Geert Uytterhoeven wrote:
>> >> >> Hi Günter,
>> >> >> On Mon, Sep 23, 2024 at 12:50 AM Guenter Roeck <linux@roeck-us.net>
>> >> >> wrote:
>> >> >>> Building allmodconfig images on systems with SPARSEMEM=n results in
>> >> >>> the following message.
>> >> >>>
>> >> >>> WARNING: unmet direct dependencies detected for GET_FREE_REGION
>> >> >>> Depends on [n]: SPARSEMEM [=n]
>> >> >>> Selected by [m]:
>> >> >>> - RESOURCE_KUNIT_TEST [=m] && RUNTIME_TESTING_MENU [=y] && KUNIT [=m]
>> >
>> >> After Linus' fix for PHYSMEM_END, GET_FREE_REGION doesn't need to depend
>> >> on SPARSEMEM anymore. So, I think we can remove the dependency. Can
>> >> you check whether the following patch work for you on top of latest
>> >> upstream kernel (with Linus' fix).
>> >
>> > Yes it does, thanks!
>> >
>> > One remaining issue is that RESOURCE_KUNIT_TEST selects GET_FREE_REGION.
>> > IMHO merely enabling a test should not enable extra functionality
>> > in the kernel. Can the individual test(s) that do depend on
>> > GET_FREE_REGION be protected by #ifdef CONFIG_GET_FREE_REGION instead?
>>
>> After checking GET_FREE_REGION, I don't think that it's a special
>> functionality. I guess it's selectable because it depends on SPARSEMEM
>> and to reduce code size.
>>
>> Hi, Dan, please correct me if I'm wrong here.
>
> Right, the only reason it is selectable is just to be mindful is
> micro-bloat in kernel/resource.c for the small number of drivers that
> need that call.
Thanks for explanation.
>> So, to reduce #ifdef in .c file as much as possible and make code
>> simpler, I prefer to select it for RESOURCE_KUNIT_TEST.
>
> I agree with the result, but for a different rationale.
>
> RESOURCE_KUNIT_TEST is simply another "driver" that needs
> GET_FREE_REGION. So while I agree with the general idea that "enabling a
> test should not enable extra functionality", in this case the *test* is
> the extra functionality and GET_FREE_REGION comes along for the ride.
Thanks, this sounds totally reasonable for me.
--
Best Regards,
Huang, Ying
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH] resource, kunit: add dependency on SPARSEMEM
2024-09-24 2:41 ` Guenter Roeck
@ 2024-10-10 6:40 ` Huang, Ying
2024-10-10 16:01 ` Guenter Roeck
0 siblings, 1 reply; 19+ messages in thread
From: Huang, Ying @ 2024-10-10 6:40 UTC (permalink / raw)
To: Guenter Roeck
Cc: Geert Uytterhoeven, Andrew Morton, linux-kernel, Linus Torvalds
Hi, Guenter,
Guenter Roeck <linux@roeck-us.net> writes:
> On 9/23/24 18:21, Huang, Ying wrote:
>> Guenter Roeck <linux@roeck-us.net> writes:
>>
>>> On 9/23/24 05:58, Geert Uytterhoeven wrote:
>>>> Hi Günter,
>>>> On Mon, Sep 23, 2024 at 12:50 AM Guenter Roeck <linux@roeck-us.net>
>>>> wrote:
>>>>> Building allmodconfig images on systems with SPARSEMEM=n results in
>>>>> the following message.
>>>>>
>>>>> WARNING: unmet direct dependencies detected for GET_FREE_REGION
>>>>> Depends on [n]: SPARSEMEM [=n]
>>>>> Selected by [m]:
>>>>> - RESOURCE_KUNIT_TEST [=m] && RUNTIME_TESTING_MENU [=y] && KUNIT [=m]
>>>>>
>>>>> and the build ultimately fails.
>>>> Really? What's the build error?
>>>
>>> I saw it on hexagon, and I didn't bother writing down the actual build error
>>> message. But it turns out you are correct, the m68k machine does build with
>>> CONFIG_RESOURCE_KUNIT_TEST=y even though SPARSEMEM and with it GET_FREE_REGION
>>> are not set. Never mind, I don't really want or have time to argue. I'll just
>>> disable CONFIG_RESOURCE_KUNIT_TEST when building hexagon images and wherever
>>> else I see the problem.
>>>
>>>> It does build for me on m68k, after fixing:
>>>> --- a/include/linux/mm.h
>>>> +++ b/include/linux/mm.h
>>>> @@ -101,7 +101,7 @@ extern int mmap_rnd_compat_bits __read_mostly;
>>>> # ifdef MAX_PHYSMEM_BITS
>>>> # define PHYSMEM_END ((1ULL << MAX_PHYSMEM_BITS) - 1)
>>>> # else
>>>> -# define PHYSMEM_END (-1ULL)
>>>> +# define PHYSMEM_END ((phys_addr_t)-1)
>>>> # endif
>>>> #endif
>> After Linus' fix for PHYSMEM_END, GET_FREE_REGION doesn't need to
>> depend
>> on SPARSEMEM anymore. So, I think we can remove the dependency. Can
>> you check whether the following patch work for you on top of latest
>> upstream kernel (with Linus' fix).
>>
>
> It works for m68k. I'll run a complete test on all architectures/platforms
> tonight.
Does it work in the complete test?
--
Thanks,
Huang, Ying
>> ------------------------8<-------------------------------
>>>From ce1a930f74192a4a85c20564098470356f8c2ed4 Mon Sep 17 00:00:00 2001
>> From: Huang Ying <ying.huang@intel.com>
>> Date: Mon, 23 Sep 2024 09:24:03 +0800
>> Subject: [PATCH] resource: Remove dependency on SPARSEMEM from GET_FREE_REGION
>> We want to use the functions configured via GET_FREE_REGION in
>> resource kunit tests. However, GET_FREE_REGION depends on SPARSEMEM.
>> This makes resource kunit tests cannot be built on some architectures
>> lacking SPARSEMEM. In fact, these functions doesn't depend on
>> SPARSEMEM now. So, remove dependency on SPARSEMEM from
>> GET_FREE_REGION.
>> Signed-off-by: "Huang, Ying" <ying.huang@intel.com>
>> Cc: Guenter Roeck <linux@roeck-us.net>
>> Cc: Geert Uytterhoeven <geert@linux-m68k.org>
>> Cc: Nathan Chancellor <nathan@kernel.org>
>> Cc: Arnd Bergmann <arnd@arndb.de>
>> ---
>> mm/Kconfig | 1 -
>> 1 file changed, 1 deletion(-)
>> diff --git a/mm/Kconfig b/mm/Kconfig
>> index b72e7d040f78..f287b0d1c5fc 100644
>> --- a/mm/Kconfig
>> +++ b/mm/Kconfig
>> @@ -1060,7 +1060,6 @@ config HMM_MIRROR
>> depends on MMU
>> config GET_FREE_REGION
>> - depends on SPARSEMEM
>> bool
>> config DEVICE_PRIVATE
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH] resource, kunit: add dependency on SPARSEMEM
2024-10-10 6:40 ` Huang, Ying
@ 2024-10-10 16:01 ` Guenter Roeck
2024-10-12 3:43 ` Huang, Ying
0 siblings, 1 reply; 19+ messages in thread
From: Guenter Roeck @ 2024-10-10 16:01 UTC (permalink / raw)
To: Huang, Ying
Cc: Geert Uytterhoeven, Andrew Morton, linux-kernel, Linus Torvalds
On 10/9/24 23:40, Huang, Ying wrote:
> Hi, Guenter,
>
> Guenter Roeck <linux@roeck-us.net> writes:
>
>> On 9/23/24 18:21, Huang, Ying wrote:
>>> Guenter Roeck <linux@roeck-us.net> writes:
>>>
>>>> On 9/23/24 05:58, Geert Uytterhoeven wrote:
>>>>> Hi Günter,
>>>>> On Mon, Sep 23, 2024 at 12:50 AM Guenter Roeck <linux@roeck-us.net>
>>>>> wrote:
>>>>>> Building allmodconfig images on systems with SPARSEMEM=n results in
>>>>>> the following message.
>>>>>>
>>>>>> WARNING: unmet direct dependencies detected for GET_FREE_REGION
>>>>>> Depends on [n]: SPARSEMEM [=n]
>>>>>> Selected by [m]:
>>>>>> - RESOURCE_KUNIT_TEST [=m] && RUNTIME_TESTING_MENU [=y] && KUNIT [=m]
>>>>>>
>>>>>> and the build ultimately fails.
>>>>> Really? What's the build error?
>>>>
>>>> I saw it on hexagon, and I didn't bother writing down the actual build error
>>>> message. But it turns out you are correct, the m68k machine does build with
>>>> CONFIG_RESOURCE_KUNIT_TEST=y even though SPARSEMEM and with it GET_FREE_REGION
>>>> are not set. Never mind, I don't really want or have time to argue. I'll just
>>>> disable CONFIG_RESOURCE_KUNIT_TEST when building hexagon images and wherever
>>>> else I see the problem.
>>>>
>>>>> It does build for me on m68k, after fixing:
>>>>> --- a/include/linux/mm.h
>>>>> +++ b/include/linux/mm.h
>>>>> @@ -101,7 +101,7 @@ extern int mmap_rnd_compat_bits __read_mostly;
>>>>> # ifdef MAX_PHYSMEM_BITS
>>>>> # define PHYSMEM_END ((1ULL << MAX_PHYSMEM_BITS) - 1)
>>>>> # else
>>>>> -# define PHYSMEM_END (-1ULL)
>>>>> +# define PHYSMEM_END ((phys_addr_t)-1)
>>>>> # endif
>>>>> #endif
>>> After Linus' fix for PHYSMEM_END, GET_FREE_REGION doesn't need to
>>> depend
>>> on SPARSEMEM anymore. So, I think we can remove the dependency. Can
>>> you check whether the following patch work for you on top of latest
>>> upstream kernel (with Linus' fix).
>>>
>>
>> It works for m68k. I'll run a complete test on all architectures/platforms
>> tonight.
>
> Does it work in the complete test?
>
Sorry, I dropped that one. Yes, it does.
Thanks,
Guenter
> --
> Thanks,
> Huang, Ying
>
>>> ------------------------8<-------------------------------
>>> >From ce1a930f74192a4a85c20564098470356f8c2ed4 Mon Sep 17 00:00:00 2001
>>> From: Huang Ying <ying.huang@intel.com>
>>> Date: Mon, 23 Sep 2024 09:24:03 +0800
>>> Subject: [PATCH] resource: Remove dependency on SPARSEMEM from GET_FREE_REGION
>>> We want to use the functions configured via GET_FREE_REGION in
>>> resource kunit tests. However, GET_FREE_REGION depends on SPARSEMEM.
>>> This makes resource kunit tests cannot be built on some architectures
>>> lacking SPARSEMEM. In fact, these functions doesn't depend on
>>> SPARSEMEM now. So, remove dependency on SPARSEMEM from
>>> GET_FREE_REGION.
>>> Signed-off-by: "Huang, Ying" <ying.huang@intel.com>
>>> Cc: Guenter Roeck <linux@roeck-us.net>
>>> Cc: Geert Uytterhoeven <geert@linux-m68k.org>
>>> Cc: Nathan Chancellor <nathan@kernel.org>
>>> Cc: Arnd Bergmann <arnd@arndb.de>
>>> ---
>>> mm/Kconfig | 1 -
>>> 1 file changed, 1 deletion(-)
>>> diff --git a/mm/Kconfig b/mm/Kconfig
>>> index b72e7d040f78..f287b0d1c5fc 100644
>>> --- a/mm/Kconfig
>>> +++ b/mm/Kconfig
>>> @@ -1060,7 +1060,6 @@ config HMM_MIRROR
>>> depends on MMU
>>> config GET_FREE_REGION
>>> - depends on SPARSEMEM
>>> bool
>>> config DEVICE_PRIVATE
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH] resource, kunit: add dependency on SPARSEMEM
2024-10-10 16:01 ` Guenter Roeck
@ 2024-10-12 3:43 ` Huang, Ying
2024-10-12 9:36 ` Guenter Roeck
0 siblings, 1 reply; 19+ messages in thread
From: Huang, Ying @ 2024-10-12 3:43 UTC (permalink / raw)
To: Guenter Roeck
Cc: Geert Uytterhoeven, Andrew Morton, linux-kernel, Linus Torvalds
Guenter Roeck <linux@roeck-us.net> writes:
> On 10/9/24 23:40, Huang, Ying wrote:
>> Hi, Guenter,
>> Guenter Roeck <linux@roeck-us.net> writes:
>>
>>> On 9/23/24 18:21, Huang, Ying wrote:
>>>> Guenter Roeck <linux@roeck-us.net> writes:
>>>>
>>>>> On 9/23/24 05:58, Geert Uytterhoeven wrote:
>>>>>> Hi Günter,
>>>>>> On Mon, Sep 23, 2024 at 12:50 AM Guenter Roeck <linux@roeck-us.net>
>>>>>> wrote:
>>>>>>> Building allmodconfig images on systems with SPARSEMEM=n results in
>>>>>>> the following message.
>>>>>>>
>>>>>>> WARNING: unmet direct dependencies detected for GET_FREE_REGION
>>>>>>> Depends on [n]: SPARSEMEM [=n]
>>>>>>> Selected by [m]:
>>>>>>> - RESOURCE_KUNIT_TEST [=m] && RUNTIME_TESTING_MENU [=y] && KUNIT [=m]
>>>>>>>
>>>>>>> and the build ultimately fails.
>>>>>> Really? What's the build error?
>>>>>
>>>>> I saw it on hexagon, and I didn't bother writing down the actual build error
>>>>> message. But it turns out you are correct, the m68k machine does build with
>>>>> CONFIG_RESOURCE_KUNIT_TEST=y even though SPARSEMEM and with it GET_FREE_REGION
>>>>> are not set. Never mind, I don't really want or have time to argue. I'll just
>>>>> disable CONFIG_RESOURCE_KUNIT_TEST when building hexagon images and wherever
>>>>> else I see the problem.
>>>>>
>>>>>> It does build for me on m68k, after fixing:
>>>>>> --- a/include/linux/mm.h
>>>>>> +++ b/include/linux/mm.h
>>>>>> @@ -101,7 +101,7 @@ extern int mmap_rnd_compat_bits __read_mostly;
>>>>>> # ifdef MAX_PHYSMEM_BITS
>>>>>> # define PHYSMEM_END ((1ULL << MAX_PHYSMEM_BITS) - 1)
>>>>>> # else
>>>>>> -# define PHYSMEM_END (-1ULL)
>>>>>> +# define PHYSMEM_END ((phys_addr_t)-1)
>>>>>> # endif
>>>>>> #endif
>>>> After Linus' fix for PHYSMEM_END, GET_FREE_REGION doesn't need to
>>>> depend
>>>> on SPARSEMEM anymore. So, I think we can remove the dependency. Can
>>>> you check whether the following patch work for you on top of latest
>>>> upstream kernel (with Linus' fix).
>>>>
>>>
>>> It works for m68k. I'll run a complete test on all architectures/platforms
>>> tonight.
>> Does it work in the complete test?
>>
>
> Sorry, I dropped that one. Yes, it does.
>
Thanks a lot! Can I add your Tested-by in the formal version?
--
Best Regards,
Huang, Ying
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH] resource, kunit: add dependency on SPARSEMEM
2024-10-12 3:43 ` Huang, Ying
@ 2024-10-12 9:36 ` Guenter Roeck
0 siblings, 0 replies; 19+ messages in thread
From: Guenter Roeck @ 2024-10-12 9:36 UTC (permalink / raw)
To: Huang, Ying
Cc: Geert Uytterhoeven, Andrew Morton, linux-kernel, Linus Torvalds
On 10/11/24 20:43, Huang, Ying wrote:
> Guenter Roeck <linux@roeck-us.net> writes:
>
>> On 10/9/24 23:40, Huang, Ying wrote:
>>> Hi, Guenter,
>>> Guenter Roeck <linux@roeck-us.net> writes:
>>>
>>>> On 9/23/24 18:21, Huang, Ying wrote:
>>>>> Guenter Roeck <linux@roeck-us.net> writes:
>>>>>
>>>>>> On 9/23/24 05:58, Geert Uytterhoeven wrote:
>>>>>>> Hi Günter,
>>>>>>> On Mon, Sep 23, 2024 at 12:50 AM Guenter Roeck <linux@roeck-us.net>
>>>>>>> wrote:
>>>>>>>> Building allmodconfig images on systems with SPARSEMEM=n results in
>>>>>>>> the following message.
>>>>>>>>
>>>>>>>> WARNING: unmet direct dependencies detected for GET_FREE_REGION
>>>>>>>> Depends on [n]: SPARSEMEM [=n]
>>>>>>>> Selected by [m]:
>>>>>>>> - RESOURCE_KUNIT_TEST [=m] && RUNTIME_TESTING_MENU [=y] && KUNIT [=m]
>>>>>>>>
>>>>>>>> and the build ultimately fails.
>>>>>>> Really? What's the build error?
>>>>>>
>>>>>> I saw it on hexagon, and I didn't bother writing down the actual build error
>>>>>> message. But it turns out you are correct, the m68k machine does build with
>>>>>> CONFIG_RESOURCE_KUNIT_TEST=y even though SPARSEMEM and with it GET_FREE_REGION
>>>>>> are not set. Never mind, I don't really want or have time to argue. I'll just
>>>>>> disable CONFIG_RESOURCE_KUNIT_TEST when building hexagon images and wherever
>>>>>> else I see the problem.
>>>>>>
>>>>>>> It does build for me on m68k, after fixing:
>>>>>>> --- a/include/linux/mm.h
>>>>>>> +++ b/include/linux/mm.h
>>>>>>> @@ -101,7 +101,7 @@ extern int mmap_rnd_compat_bits __read_mostly;
>>>>>>> # ifdef MAX_PHYSMEM_BITS
>>>>>>> # define PHYSMEM_END ((1ULL << MAX_PHYSMEM_BITS) - 1)
>>>>>>> # else
>>>>>>> -# define PHYSMEM_END (-1ULL)
>>>>>>> +# define PHYSMEM_END ((phys_addr_t)-1)
>>>>>>> # endif
>>>>>>> #endif
>>>>> After Linus' fix for PHYSMEM_END, GET_FREE_REGION doesn't need to
>>>>> depend
>>>>> on SPARSEMEM anymore. So, I think we can remove the dependency. Can
>>>>> you check whether the following patch work for you on top of latest
>>>>> upstream kernel (with Linus' fix).
>>>>>
>>>>
>>>> It works for m68k. I'll run a complete test on all architectures/platforms
>>>> tonight.
>>> Does it work in the complete test?
>>>
>>
>> Sorry, I dropped that one. Yes, it does.
>>
>
> Thanks a lot! Can I add your Tested-by in the formal version?
>
Sure, go ahead.
Tested-by: Guenter Roeck <linux@roeck-us.net>
Guenter
^ permalink raw reply [flat|nested] 19+ messages in thread
end of thread, other threads:[~2024-10-12 9:36 UTC | newest]
Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-22 22:50 [PATCH] resource, kunit: add dependency on SPARSEMEM Guenter Roeck
2024-09-23 1:11 ` Huang, Ying
2024-09-23 12:58 ` Geert Uytterhoeven
2024-09-23 13:39 ` Guenter Roeck
2024-09-23 13:47 ` Geert Uytterhoeven
2024-09-23 14:23 ` Guenter Roeck
2024-09-23 14:54 ` Guenter Roeck
2024-09-23 16:01 ` Geert Uytterhoeven
2024-09-23 16:25 ` Guenter Roeck
2024-09-24 1:21 ` Huang, Ying
2024-09-24 2:41 ` Guenter Roeck
2024-10-10 6:40 ` Huang, Ying
2024-10-10 16:01 ` Guenter Roeck
2024-10-12 3:43 ` Huang, Ying
2024-10-12 9:36 ` Guenter Roeck
2024-09-24 7:56 ` Geert Uytterhoeven
2024-09-24 8:21 ` Huang, Ying
2024-09-26 18:45 ` Dan Williams
2024-09-27 1:41 ` Huang, Ying
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).