[LTP] [PATCH] proc01: handle EOPNOTSUPP if !hugepages_supported()
Jan Stancek
jstancek@redhat.com
Tue Jun 7 16:54:56 CEST 2016
This patch adds an entry to known issue list. These 2 proc files
may return EOPNOTSUPP if CONFIG_HUGETLB_PAGE=Y and hugepages_supported()
is false:
/proc/sys/vm/nr_hugepages: errno=EOPNOTSUPP(95): Operation not supported
/proc/sys/vm/nr_overcommit_hugepages: errno=EOPNOTSUPP(95): Operation not supported
from mm/hugetlb.c:
--------------------------------- 8< ---------------------------------
static int hugetlb_sysctl_handler_common(bool obey_mempolicy,
struct ctl_table *table, int write,
void __user *buffer, size_t *length, loff_t *ppos)
{
struct hstate *h = &default_hstate;
unsigned long tmp = h->max_huge_pages;
int ret;
if (!hugepages_supported())
return -EOPNOTSUPP;
--------------------------------- >8 ---------------------------------
I've noticed this issue on s390 only after this commit:
commit 7f9be77555bb2e52de84e9dddf7b4eb20cc6e171
Author: Dominik Dingel <dingel@linux.vnet.ibm.com>
Date: Fri Jul 17 16:23:39 2015 -0700
s390/hugetlb: add hugepages_supported define
Also note, that kernel versions prior to 4.4 may fail with
ENOTSUPP, which has been changed to EOPNOTSUPP by:
commit 86613628b3d367743f71b945c203774c522404f4
Author: Jan Stancek <jstancek@redhat.com>
Date: Wed Mar 9 14:08:35 2016 -0800
mm/hugetlb: use EOPNOTSUPP in hugetlb sysctl handlers
Given that nobody complained running into this issue before,
it's assumed that this is not common and therefore this patch
adds only EOPNOTSUPP to list.
Signed-off-by: Jan Stancek <jstancek@redhat.com>
---
testcases/kernel/fs/proc/proc01.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/testcases/kernel/fs/proc/proc01.c b/testcases/kernel/fs/proc/proc01.c
index 2825b51dff95..409d6f9e32fe 100644
--- a/testcases/kernel/fs/proc/proc01.c
+++ b/testcases/kernel/fs/proc/proc01.c
@@ -108,6 +108,8 @@ static const struct mapping known_issues[] = {
{"read", "/proc/fs/nfsd/.getfd", EINVAL},
{"read", "/proc/self/net/rpc/use-gss-proxy", EAGAIN},
{"read", "/proc/sys/net/ipv6/conf/*/stable_secret", EIO},
+ {"read", "/proc/sys/vm/nr_hugepages", EOPNOTSUPP},
+ {"read", "/proc/sys/vm/nr_overcommit_hugepages", EOPNOTSUPP},
{"", "", 0}
};
--
1.8.3.1
More information about the ltp
mailing list