[LTP] [PATCH] proc01: handle EOPNOTSUPP if !hugepages_supported()
Cyril Hrubis
chrubis@suse.cz
Tue Jun 7 18:09:24 CEST 2016
Hi!
> 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.
I've stumbled upon this failure as well, I was about to prod you to
submit exactly this patch. Acked, and thanks :).
--
Cyril Hrubis
chrubis@suse.cz
More information about the ltp
mailing list