Thanks for report. Sorry for late respond. I was on my Spring Festival vacation.
quoted
kismet warnings: (new ones prefixed by >>)
quoted
quoted
kismet: WARNING: unmet direct dependencies detected for HUGETLBFS when selected by PPC_8xx
WARNING: unmet direct dependencies detected for HUGETLBFS
Depends on [n]: (X86 || IA64 || SPARC64 || ARCH_SUPPORTS_HUGETLBFS [=y] || BROKEN [=n]) && (SYSFS [=n] || SYSCTL [=n])
Selected by [y]:
- PPC_8xx [=y] && <choice>
I am a bit confused. HUGETLBFS depends on SYSFS or SYSCTL. How can it be selected while SYSFS [=n] || SYSCTL [=n]?
Or am I miss something?
CONFIG_HUGETLBFS is selected by CONFIG_PPC_8xx, see commit 34536d780683 ("powerpc/8xx: Add a function to early map kernel via huge pages")
Thanks for your providing. But I'm saying that since HUGETLBFS depends on (SYSFS or SYSCTL), how CONFIG_PPC_8xx succeeds to select it while
SYSFS and SYSCTL are disabled? I'm not really familiar with Kconfig but I assume Kconfig will confirm that the dependencies are satisfied
before HUGETLBFS is enabled. Or am I miss something?
Thank.
.
Thanks for report. Sorry for late respond. I was on my Spring Festival vacation.
quoted
kismet warnings: (new ones prefixed by >>)
quoted
quoted
kismet: WARNING: unmet direct dependencies detected for HUGETLBFS when selected by PPC_8xx
WARNING: unmet direct dependencies detected for HUGETLBFS
Depends on [n]: (X86 || IA64 || SPARC64 || ARCH_SUPPORTS_HUGETLBFS [=y] || BROKEN [=n]) && (SYSFS [=n] || SYSCTL [=n])
Selected by [y]:
- PPC_8xx [=y] && <choice>
I am a bit confused. HUGETLBFS depends on SYSFS or SYSCTL. How can it be selected while SYSFS [=n] || SYSCTL [=n]?
Or am I miss something?
CONFIG_HUGETLBFS is selected by CONFIG_PPC_8xx, see commit 34536d780683 ("powerpc/8xx: Add a function to early map kernel via huge pages")
Thanks for your providing. But I'm saying that since HUGETLBFS depends on (SYSFS or SYSCTL), how CONFIG_PPC_8xx succeeds to select it while
SYSFS and SYSCTL are disabled? I'm not really familiar with Kconfig but I assume Kconfig will confirm that the dependencies are satisfied
before HUGETLBFS is enabled. Or am I miss something?
I suggest you read https://docs.kernel.org/kbuild/kconfig-language.html
Extract:
Note:
select should be used with care. select will force a symbol to a
value without visiting the dependencies. By abusing select you are able
to select a symbol FOO even if FOO depends on BAR that is not set.
Christophe
Thanks for report. Sorry for late respond. I was on my Spring Festival vacation.
quoted
kismet warnings: (new ones prefixed by >>)
quoted
quoted
kismet: WARNING: unmet direct dependencies detected for HUGETLBFS when selected by PPC_8xx
WARNING: unmet direct dependencies detected for HUGETLBFS
Depends on [n]: (X86 || IA64 || SPARC64 || ARCH_SUPPORTS_HUGETLBFS [=y] || BROKEN [=n]) && (SYSFS [=n] || SYSCTL [=n])
Selected by [y]:
- PPC_8xx [=y] && <choice>
I am a bit confused. HUGETLBFS depends on SYSFS or SYSCTL. How can it be selected while SYSFS [=n] || SYSCTL [=n]?
Or am I miss something?
CONFIG_HUGETLBFS is selected by CONFIG_PPC_8xx, see commit 34536d780683 ("powerpc/8xx: Add a function to early map kernel via huge pages")
Thanks for your providing. But I'm saying that since HUGETLBFS depends on (SYSFS or SYSCTL), how CONFIG_PPC_8xx succeeds to select it while
SYSFS and SYSCTL are disabled? I'm not really familiar with Kconfig but I assume Kconfig will confirm that the dependencies are satisfied
before HUGETLBFS is enabled. Or am I miss something?
Extract:
Note:
select should be used with care. select will force a symbol to a value without visiting the dependencies. By abusing select you are able to select a symbol FOO even if FOO depends on BAR that is not set.
IMHO, it seems it's the use of "select" breaks the dependencies and leads to the kismet warnings. So it might be better to fix the PPC_8xx side.
Thanks.
.
Thanks for report. Sorry for late respond. I was on my Spring Festival vacation.
quoted
kismet warnings: (new ones prefixed by >>)
quoted
quoted
kismet: WARNING: unmet direct dependencies detected for HUGETLBFS when selected by PPC_8xx
WARNING: unmet direct dependencies detected for HUGETLBFS
Depends on [n]: (X86 || IA64 || SPARC64 || ARCH_SUPPORTS_HUGETLBFS [=y] || BROKEN [=n]) && (SYSFS [=n] || SYSCTL [=n])
Selected by [y]:
- PPC_8xx [=y] && <choice>
I am a bit confused. HUGETLBFS depends on SYSFS or SYSCTL. How can it be selected while SYSFS [=n] || SYSCTL [=n]?
Or am I miss something?
CONFIG_HUGETLBFS is selected by CONFIG_PPC_8xx, see commit 34536d780683 ("powerpc/8xx: Add a function to early map kernel via huge pages")
Thanks for your providing. But I'm saying that since HUGETLBFS depends on (SYSFS or SYSCTL), how CONFIG_PPC_8xx succeeds to select it while
SYSFS and SYSCTL are disabled? I'm not really familiar with Kconfig but I assume Kconfig will confirm that the dependencies are satisfied
before HUGETLBFS is enabled. Or am I miss something?
Extract:
Note:
select should be used with care. select will force a symbol to a value without visiting the dependencies. By abusing select you are able to select a symbol FOO even if FOO depends on BAR that is not set.
IMHO, it seems it's the use of "select" breaks the dependencies and leads to the kismet warnings. So it might be better to fix the PPC_8xx side.
The dependencies are wrong, I have a kernel without CONFIG_SYSFS and
without CONFIG_SYSCTL and hugetlbfs works perfecly well.
I boot the kernel with following parameters:
hugepagesz=512k hugepages=8 hugepagesz=8M hugepages=2
dmesg shows:
[ 0.560754] HugeTLB: registered 512 KiB page size, pre-allocated 8 pages
[ 0.567293] HugeTLB: 0 KiB vmemmap can be freed for a 512 KiB page
[ 0.593912] HugeTLB: registered 8.00 MiB page size, pre-allocated 2 pages
[ 0.600543] HugeTLB: 0 KiB vmemmap can be freed for a 8.00 MiB page
hugetlb selftest works well:
:~# ./map_hugetlb 4 19
TAP version 13
1..1
# 512 kB hugepages
# Mapping 4 Mbytes
# Returned address is 0x77800000
# First hex is 0
# First hex is 10203
ok 1 Read correct data
# Totals: pass:1 fail:0 xfail:0 xpass:0 skip:0 error:0
~# ./map_hugetlb 16 23
TAP version 13
1..1
# 8192 kB hugepages
# Mapping 16 Mbytes
# Returned address is 0x76800000
# First hex is 0
# First hex is 10203
ok 1 Read correct data
# Totals: pass:1 fail:0 xfail:0 xpass:0 skip:0 error:0
So I think your commit f8142cf94d47 ("hugetlb: make hugetlb depends on
SYSFS or SYSCTL") is just wrong and has to be reverted.
Christophe
Thanks for report. Sorry for late respond. I was on my Spring Festival vacation.
quoted
kismet warnings: (new ones prefixed by >>)
quoted
quoted
kismet: WARNING: unmet direct dependencies detected for HUGETLBFS when selected by PPC_8xx
WARNING: unmet direct dependencies detected for HUGETLBFS
Depends on [n]: (X86 || IA64 || SPARC64 || ARCH_SUPPORTS_HUGETLBFS [=y] || BROKEN [=n]) && (SYSFS [=n] || SYSCTL [=n])
Selected by [y]:
- PPC_8xx [=y] && <choice>
I am a bit confused. HUGETLBFS depends on SYSFS or SYSCTL. How can it be selected while SYSFS [=n] || SYSCTL [=n]?
Or am I miss something?
CONFIG_HUGETLBFS is selected by CONFIG_PPC_8xx, see commit 34536d780683 ("powerpc/8xx: Add a function to early map kernel via huge pages")
Thanks for your providing. But I'm saying that since HUGETLBFS depends on (SYSFS or SYSCTL), how CONFIG_PPC_8xx succeeds to select it while
SYSFS and SYSCTL are disabled? I'm not really familiar with Kconfig but I assume Kconfig will confirm that the dependencies are satisfied
before HUGETLBFS is enabled. Or am I miss something?
Extract:
Note:
select should be used with care. select will force a symbol to a value without visiting the dependencies. By abusing select you are able to select a symbol FOO even if FOO depends on BAR that is not set.
IMHO, it seems it's the use of "select" breaks the dependencies and leads to the kismet warnings. So it might be better to fix the PPC_8xx side.
The dependencies are wrong, I have a kernel without CONFIG_SYSFS and without CONFIG_SYSCTL and hugetlbfs works perfecly well.
I boot the kernel with following parameters:
hugepagesz=512k hugepages=8 hugepagesz=8M hugepages=2
I think you are right. Hugetlb can still be used with boot parameter while CONFIG_SYSFS and CONFIG_SYSCTL are disabled.
So my commit should be reverted.
Thanks.
.