Re: [PATCH] ipc: optimize semget/shmget/msgget for lots of keys

From: Davidlohr Bueso
Date: Mon Aug 07 2017 - 14:21:28 EST


On Mon, 31 Jul 2017, Guillaume Knispel wrote:
struct ipc_ids {
int in_use;
unsigned short seq;
+ bool tables_initialized;

So this is really ugly to have, but I understand why you added it. I
wonder what folks would think if we just panic() in the rhashtable_init()
ENOMEM case, and convert the EINVALs to WARNs. This way the function
would always be called successfully. This is similar to what futex_init
does, with the underlying hash table allocator panicing. sems and msg
would probably have to be converted to pure_initcall, but hey, we could
at least get the symmetry back.

static int __init ipc_ns_init(void)
{
- shm_init_ns(&init_ipc_ns);
- return 0;
+ const int err = shm_init_ns(&init_ipc_ns);
+ WARN(err, "ipc: sysV shm_init_ns failed: %d\n", err);

nit: s/sysV/sysv

+ return err;
}

Thanks,
Davidlohr