2009-12-11 06:10:31

by Cong Wang

[permalink] [raw]
Subject: [Patch] ipc: HARD_MSGMAX should be higher not lower on 64bit

It looks weird that we have HARD_MSGMAX lower on 64bit than on 32bit,
since usually 64bit machines have more memory than 32bit machines.

Making it higher on 64bit seems reasonable, and keep the original
number on 32bit.

Cc: Serge E. Hallyn <[email protected]>
Cc: Cedric Le Goater <[email protected]>
Signed-off-by: WANG Cong <[email protected]>

---
diff --git a/include/linux/ipc_namespace.h b/include/linux/ipc_namespace.h
index e408722..07baa38 100644
--- a/include/linux/ipc_namespace.h
+++ b/include/linux/ipc_namespace.h
@@ -87,7 +87,7 @@ extern int mq_init_ns(struct ipc_namespace *ns);
/* default values */
#define DFLT_QUEUESMAX 256 /* max number of message queues */
#define DFLT_MSGMAX 10 /* max number of messages in each queue */
-#define HARD_MSGMAX (131072/sizeof(void *))
+#define HARD_MSGMAX (32768*sizeof(void *)/4)
#define DFLT_MSGSIZEMAX 8192 /* max message size */
#else
static inline int mq_init_ns(struct ipc_namespace *ns) { return 0; }


2009-12-11 14:44:50

by Serge E. Hallyn

[permalink] [raw]
Subject: Re: [Patch] ipc: HARD_MSGMAX should be higher not lower on 64bit

Quoting Amerigo Wang ([email protected]):
> It looks weird that we have HARD_MSGMAX lower on 64bit than on 32bit,
> since usually 64bit machines have more memory than 32bit machines.

It does look like this may have been an accident.

> Making it higher on 64bit seems reasonable, and keep the original
> number on 32bit.
>
> Cc: Serge E. Hallyn <[email protected]>
> Cc: Cedric Le Goater <[email protected]>
> Signed-off-by: WANG Cong <[email protected]>
>
> ---
> diff --git a/include/linux/ipc_namespace.h b/include/linux/ipc_namespace.h
> index e408722..07baa38 100644
> --- a/include/linux/ipc_namespace.h
> +++ b/include/linux/ipc_namespace.h
> @@ -87,7 +87,7 @@ extern int mq_init_ns(struct ipc_namespace *ns);
> /* default values */
> #define DFLT_QUEUESMAX 256 /* max number of message queues */
> #define DFLT_MSGMAX 10 /* max number of messages in each queue */
> -#define HARD_MSGMAX (131072/sizeof(void *))
> +#define HARD_MSGMAX (32768*sizeof(void *)/4)

why /4 ? You're now making it much smaller for 32-bit than it
used to be?

> #define DFLT_MSGSIZEMAX 8192 /* max message size */
> #else
> static inline int mq_init_ns(struct ipc_namespace *ns) { return 0; }

2009-12-11 15:20:11

by Cong Wang

[permalink] [raw]
Subject: Re: [Patch] ipc: HARD_MSGMAX should be higher not lower on 64bit


(Hi, I am the same person.)

On Fri, Dec 11, 2009 at 08:44:33AM -0600, Serge E. Hallyn wrote:
>Quoting Amerigo Wang ([email protected]):
>> It looks weird that we have HARD_MSGMAX lower on 64bit than on 32bit,
>> since usually 64bit machines have more memory than 32bit machines.
>
>It does look like this may have been an accident.
>

OK.

>> Making it higher on 64bit seems reasonable, and keep the original
>> number on 32bit.
>>
>> Cc: Serge E. Hallyn <[email protected]>
>> Cc: Cedric Le Goater <[email protected]>
>> Signed-off-by: WANG Cong <[email protected]>
>>
>> ---
>> diff --git a/include/linux/ipc_namespace.h b/include/linux/ipc_namespace.h
>> index e408722..07baa38 100644
>> --- a/include/linux/ipc_namespace.h
>> +++ b/include/linux/ipc_namespace.h
>> @@ -87,7 +87,7 @@ extern int mq_init_ns(struct ipc_namespace *ns);
>> /* default values */
>> #define DFLT_QUEUESMAX 256 /* max number of message queues */
>> #define DFLT_MSGMAX 10 /* max number of messages in each queue */
>> -#define HARD_MSGMAX (131072/sizeof(void *))
>> +#define HARD_MSGMAX (32768*sizeof(void *)/4)
>
>why /4 ? You're now making it much smaller for 32-bit than it
>used to be?
>

Yes?

Before this patch, it is 131072/sizeof(void*) = 32768;
after this patch, it is 32768*sizeof(void*)/4 = 32768 too.
Both on 32bit, of course.

Am I missing something?


--
Live like a child, think like the god.

2009-12-11 16:11:29

by Serge E. Hallyn

[permalink] [raw]
Subject: Re: [Patch] ipc: HARD_MSGMAX should be higher not lower on 64bit

Quoting Am?rico Wang ([email protected]):
>
> (Hi, I am the same person.)
>
> On Fri, Dec 11, 2009 at 08:44:33AM -0600, Serge E. Hallyn wrote:
> >Quoting Amerigo Wang ([email protected]):
> >> It looks weird that we have HARD_MSGMAX lower on 64bit than on 32bit,
> >> since usually 64bit machines have more memory than 32bit machines.
> >
> >It does look like this may have been an accident.
> >
>
> OK.
>
> >> Making it higher on 64bit seems reasonable, and keep the original
> >> number on 32bit.
> >>
> >> Cc: Serge E. Hallyn <[email protected]>
> >> Cc: Cedric Le Goater <[email protected]>
> >> Signed-off-by: WANG Cong <[email protected]>
> >>
> >> ---
> >> diff --git a/include/linux/ipc_namespace.h b/include/linux/ipc_namespace.h
> >> index e408722..07baa38 100644
> >> --- a/include/linux/ipc_namespace.h
> >> +++ b/include/linux/ipc_namespace.h
> >> @@ -87,7 +87,7 @@ extern int mq_init_ns(struct ipc_namespace *ns);
> >> /* default values */
> >> #define DFLT_QUEUESMAX 256 /* max number of message queues */
> >> #define DFLT_MSGMAX 10 /* max number of messages in each queue */
> >> -#define HARD_MSGMAX (131072/sizeof(void *))
> >> +#define HARD_MSGMAX (32768*sizeof(void *)/4)
> >
> >why /4 ? You're now making it much smaller for 32-bit than it
> >used to be?
> >
>
> Yes?
>
> Before this patch, it is 131072/sizeof(void*) = 32768;
> after this patch, it is 32768*sizeof(void*)/4 = 32768 too.
> Both on 32bit, of course.
>
> Am I missing something?

Haha, nope.

Acked-by: Serge Hallyn <[email protected]>

thanks,
-serge