2007-09-21 09:40:29

by Alexey Dobriyan

[permalink] [raw]
Subject: [PATCH 3/3] user.c: #ifdef ->mq_bytes

for those who deselect POSIX message queues.

Reduces SLAB size of user_struct from 64 to 32 bytes here,
SLUB size -- from 40 bytes to 32 bytes.

Signed-off-by: Alexey Dobriyan <[email protected]>
---

include/linux/sched.h | 2 ++
kernel/user.c | 2 --
2 files changed, 2 insertions(+), 2 deletions(-)

--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -583,8 +583,10 @@ struct user_struct {
atomic_t inotify_watches; /* How many inotify watches does this user have? */
atomic_t inotify_devs; /* How many inotify devs does this user have opened? */
#endif
+#ifdef CONFIG_POSIX_MQUEUE
/* protected by mq_lock */
unsigned long mq_bytes; /* How many bytes can be allocated to mqueue? */
+#endif
unsigned long locked_shm; /* How many pages of mlocked shm ? */

#ifdef CONFIG_KEYS
--- a/kernel/user.c
+++ b/kernel/user.c
@@ -44,7 +44,6 @@ struct user_struct root_user = {
.processes = ATOMIC_INIT(1),
.files = ATOMIC_INIT(0),
.sigpending = ATOMIC_INIT(0),
- .mq_bytes = 0,
.locked_shm = 0,
#ifdef CONFIG_KEYS
.uid_keyring = &root_user_keyring,


2007-09-21 09:56:29

by Cédric Le Goater

[permalink] [raw]
Subject: Re: [PATCH 3/3] user.c: #ifdef ->mq_bytes

Hello Alexey !

Alexey Dobriyan wrote:
> for those who deselect POSIX message queues.
>
> Reduces SLAB size of user_struct from 64 to 32 bytes here,
> SLUB size -- from 40 bytes to 32 bytes.
>
> Signed-off-by: Alexey Dobriyan <[email protected]>
> ---
>
> include/linux/sched.h | 2 ++
> kernel/user.c | 2 --
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> --- a/include/linux/sched.h
> +++ b/include/linux/sched.h
> @@ -583,8 +583,10 @@ struct user_struct {
> atomic_t inotify_watches; /* How many inotify watches does this user have? */
> atomic_t inotify_devs; /* How many inotify devs does this user have opened? */
> #endif
> +#ifdef CONFIG_POSIX_MQUEUE
> /* protected by mq_lock */
> unsigned long mq_bytes; /* How many bytes can be allocated to mqueue? */
> +#endif
> unsigned long locked_shm; /* How many pages of mlocked shm ? */

while you are it, it seems possible to #ifdef locked_shm also. it's a bit more
complex because the code is mm/ and there are some links with the hugetlbfs
also.

Cheers,

C.

> #ifdef CONFIG_KEYS
> --- a/kernel/user.c
> +++ b/kernel/user.c
> @@ -44,7 +44,6 @@ struct user_struct root_user = {
> .processes = ATOMIC_INIT(1),
> .files = ATOMIC_INIT(0),
> .sigpending = ATOMIC_INIT(0),
> - .mq_bytes = 0,
> .locked_shm = 0,
> #ifdef CONFIG_KEYS
> .uid_keyring = &root_user_keyring,
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>