From: Ravikiran G Thirumalai <kiran@scalex86.org>
To: linux-kernel@vger.kernel.org, linux-mm@kvack.org
Subject: Cannot use SHM_HUGETLB as a regular user
Date: Wed, 4 Feb 2009 14:04:28 -0800 [thread overview]
Message-ID: <20090204220428.GA6794@localdomain> (raw)
Looks like a regular user cannot shmget more than 64k of memory using hugetlb!!
Atleast if we go by Documentation/vm/hugetlbpage.txt
Quote Documentation/vm/hugetlbpage.txt:
"Users who wish to use hugetlb page via shared memory segment should be a
member of a supplementary group and system admin needs to configure that
gid into /proc/sys/vm/hugetlb_shm_group."
However, setting up hugetlb_shm_group with the right gid does not work!
Looks like hugetlb uses mlock based rlimits which cause shmget
with SHM_HUGETLB to fail with -ENOMEM. Setting up right rlimits for mlock
through /etc/security/limits.conf works though (regardless of
hugetlb_shm_group).
I understand most oracle users use this rlimit to use largepages.
But why does this need to be based on mlock!? We do have shmmax and shmall
to restrict this resource.
As I see it we have the following options to fix this inconsistency:
1. Do not depend on RLIMIT_MEMLOCK for hugetlb shm mappings. If a user
has CAP_IPC_LOCK or if user belongs to /proc/sys/vm/hugetlb_shm_group,
he should be able to use shm memory according to shmmax and shmall OR
2. Update the hugetlbpage documentation to mention the resource limit based
limitation, and remove the useless /proc/sys/vm/hugetlb_shm_group sysctl
Which one is better? I am leaning towards 1. and have a patch ready for 1.
but I might be missing some historical reason for using RLIMIT_MEMLOCK with
SHM_HUGETLB.
Thanks,
Kiran
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next reply other threads:[~2009-02-04 22:04 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-02-04 22:04 Ravikiran G Thirumalai [this message]
2009-02-04 22:11 ` Cannot use SHM_HUGETLB as a regular user wli
2009-02-05 0:41 ` [patch] mm: Fix SHM_HUGETLB to work with users in hugetlb_shm_group Ravikiran G Thirumalai
2009-02-05 2:03 ` KOSAKI Motohiro
2009-02-05 17:06 ` Nishanth Aravamudan
2009-02-05 13:25 ` Mel Gorman
2009-02-05 19:08 ` Ravikiran G Thirumalai
2009-02-05 23:32 ` wli
2009-02-06 1:28 ` Ravikiran G Thirumalai
2009-02-10 11:09 ` Mel Gorman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090204220428.GA6794@localdomain \
--to=kiran@scalex86.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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 NNTP newsgroup(s).