From: KOSAKI Motohiro <kosaki.motohiro@gmail.com>
To: Davidlohr Bueso <davidlohr@hp.com>
Cc: Manfred Spraul <manfred@colorfullife.com>,
Andrew Morton <akpm@linux-foundation.org>,
aswin@hp.com, LKML <linux-kernel@vger.kernel.org>,
"linux-mm@kvack.org" <linux-mm@kvack.org>,
Greg Thelen <gthelen@google.com>,
Kamezawa Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Subject: Re: [PATCH] ipc,shm: disable shmmax and shmall by default
Date: Sat, 5 Apr 2014 14:24:26 -0400 [thread overview]
Message-ID: <CAHGf_=pvN96SgLYdR3jPn8VaEfAjq-LX=r=PQRvPGqi6xFJoxQ@mail.gmail.com> (raw)
In-Reply-To: <1396587632.2499.5.camel@buesod1.americas.hpqcorp.net>
On Fri, Apr 4, 2014 at 1:00 AM, Davidlohr Bueso <davidlohr@hp.com> wrote:
> On Thu, 2014-04-03 at 19:39 -0400, KOSAKI Motohiro wrote:
>> On Thu, Apr 3, 2014 at 3:50 PM, Davidlohr Bueso <davidlohr@hp.com> wrote:
>> > On Thu, 2014-04-03 at 21:02 +0200, Manfred Spraul wrote:
>> >> Hi Davidlohr,
>> >>
>> >> On 04/03/2014 02:20 AM, Davidlohr Bueso wrote:
>> >> > The default size for shmmax is, and always has been, 32Mb.
>> >> > Today, in the XXI century, it seems that this value is rather small,
>> >> > making users have to increase it via sysctl, which can cause
>> >> > unnecessary work and userspace application workarounds[1].
>> >> >
>> >> > Instead of choosing yet another arbitrary value, larger than 32Mb,
>> >> > this patch disables the use of both shmmax and shmall by default,
>> >> > allowing users to create segments of unlimited sizes. Users and
>> >> > applications that already explicitly set these values through sysctl
>> >> > are left untouched, and thus does not change any of the behavior.
>> >> >
>> >> > So a value of 0 bytes or pages, for shmmax and shmall, respectively,
>> >> > implies unlimited memory, as opposed to disabling sysv shared memory.
>> >> > This is safe as 0 cannot possibly be used previously as SHMMIN is
>> >> > hardcoded to 1 and cannot be modified.
>> >
>> >> Are we sure that no user space apps uses shmctl(IPC_INFO) and prints a
>> >> pretty error message if shmall is too small?
>> >> We would break these apps.
>> >
>> > Good point. 0 bytes/pages would definitely trigger an unexpected error
>> > message if users did this. But on the other hand I'm not sure this
>> > actually is a _real_ scenario, since upon overflow the value can still
>> > end up being 0, which is totally bogus and would cause the same
>> > breakage.
>> >
>> > So I see two possible workarounds:
>> > (i) Use ULONG_MAX for the shmmax default instead. This would make shmall
>> > default to 1152921504606846720 and 268435456, for 64 and 32bit systems,
>> > respectively.
>> >
>> > (ii) Keep the 0 bytes, but add a new a "transition" tunable that, if set
>> > (default off), would allow 0 bytes to be unlimited. With time, users
>> > could hopefully update their applications and we could eventually get
>> > rid of it. This _seems_ to be the less aggressive way to go.
>>
>> Do you mean
>>
>> set 0: IPC_INFO return shmmax = 0.
>> set 1: IPC_INFO return shmmax = ULONG_MAX.
>>
>> ?
>>
>> That makes sense.
>
> Well I was mostly referring to:
>
> set 0: leave things as there are now.
> set 1: this patch.
I don't recommend this approach because many user never switch 1 and
finally getting API fragmentation.
> I don't think it makes much sense to set unlimited for both 0 and
> ULONG_MAX, that would probably just create even more confusion.
>
> But then again, we shouldn't even care about breaking things with shmmax
> or shmall with 0 value, it just makes no sense from a user PoV. shmmax
> cannot be 0 unless there's an overflow, which voids any valid cases, and
> thus shmall cannot be 0 either as it would go against any values set for
> shmmax. I think it's safe to ignore this.
Agreed.
IMHO, until you find out any incompatibility issue of this, we don't
need the switch
because we can't make good workaround for that. I'd suggest to merge your patch
and see what happen.
--
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 prev parent reply other threads:[~2014-04-05 18:24 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-31 3:06 [PATCH] ipc,shm: increase default size for shmmax Davidlohr Bueso
2014-03-31 21:32 ` Andrew Morton
2014-03-31 22:59 ` Davidlohr Bueso
2014-03-31 23:13 ` Andrew Morton
2014-03-31 23:25 ` Davidlohr Bueso
2014-04-01 0:05 ` Andrew Morton
2014-04-01 6:29 ` Kamezawa Hiroyuki
2014-04-01 19:19 ` Andrew Morton
2014-04-01 20:15 ` KOSAKI Motohiro
2014-04-01 20:26 ` Davidlohr Bueso
2014-04-02 0:11 ` Kamezawa Hiroyuki
2014-04-02 1:02 ` Kamezawa Hiroyuki
2014-04-02 14:55 ` One Thousand Gnomes
2014-04-02 23:47 ` Kamezawa Hiroyuki
2014-04-01 17:01 ` Davidlohr Bueso
2014-04-01 18:10 ` KOSAKI Motohiro
2014-04-01 18:31 ` Davidlohr Bueso
2014-04-01 19:51 ` KOSAKI Motohiro
2014-04-01 21:01 ` Davidlohr Bueso
2014-04-01 21:12 ` KOSAKI Motohiro
2014-04-01 21:29 ` Andrew Morton
2014-04-01 21:41 ` KOSAKI Motohiro
2014-04-01 21:48 ` Andrew Morton
2014-04-01 22:02 ` Davidlohr Bueso
2014-04-01 22:08 ` Andrew Morton
2014-04-13 18:05 ` Manfred Spraul
2014-04-13 23:15 ` Davidlohr Bueso
2014-04-16 22:46 ` Andrew Morton
2014-04-16 23:19 ` Davidlohr Bueso
2014-04-17 10:41 ` Michael Kerrisk
2014-04-17 16:41 ` Manfred Spraul
2014-04-17 20:19 ` Michael Kerrisk (man-pages)
2014-04-01 22:49 ` KOSAKI Motohiro
2014-04-01 23:28 ` Davidlohr Bueso
2014-04-01 23:56 ` KOSAKI Motohiro
2014-04-02 0:40 ` Davidlohr Bueso
2014-04-02 1:08 ` Greg Thelen
2014-04-02 1:58 ` Kamezawa Hiroyuki
2014-04-02 2:11 ` Greg Thelen
2014-04-03 0:20 ` [PATCH] ipc,shm: disable shmmax and shmall by default Davidlohr Bueso
2014-04-03 14:07 ` Kamezawa Hiroyuki
2014-04-03 19:02 ` Manfred Spraul
2014-04-03 19:50 ` Davidlohr Bueso
2014-04-03 23:39 ` KOSAKI Motohiro
2014-04-04 5:00 ` Davidlohr Bueso
2014-04-05 18:24 ` KOSAKI Motohiro [this message]
2014-04-06 6:42 ` Manfred Spraul
2014-04-06 16:54 ` Davidlohr Bueso
2014-04-03 22:29 ` KOSAKI Motohiro
2014-04-03 23:47 ` KOSAKI Motohiro
2014-04-11 18:28 ` Manfred Spraul
2014-04-11 20:27 ` Davidlohr Bueso
2014-04-11 20:48 ` Davidlohr Bueso
2014-04-12 8:50 ` Manfred Spraul
2014-04-12 15:33 ` Davidlohr Bueso
2014-04-01 21:43 ` [PATCH] ipc,shm: increase default size for shmmax Davidlohr Bueso
2014-04-01 19:26 ` Andrew Morton
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='CAHGf_=pvN96SgLYdR3jPn8VaEfAjq-LX=r=PQRvPGqi6xFJoxQ@mail.gmail.com' \
--to=kosaki.motohiro@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=aswin@hp.com \
--cc=davidlohr@hp.com \
--cc=gthelen@google.com \
--cc=kamezawa.hiroyu@jp.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=manfred@colorfullife.com \
/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