Messages in this thread |  | | Date | Wed, 2 Aug 2017 13:06:44 -0700 | From | Davidlohr Bueso <> | Subject | Re: [PATCH] ipc: optimize semget/shmget/msgget for lots of keys |
| |
On Mon, 31 Jul 2017, Guillaume Knispel wrote: > static int __init ipc_init(void) > { >- sem_init(); >- msg_init(); >+ int err_sem, err_msg; >+ >+ err_sem = sem_init(); >+ WARN(err_sem, "ipc: sysV sem_init failed: %d\n", err_sem); >+ err_msg = msg_init(); >+ WARN(err_msg, "ipc: sysV msg_init failed: %d\n", err_msg); > shm_init();
This shows the ugliness of the underlying ipc init asymmetry. Specifically, 140d0b2108f (Do 'shm_init_ns()' in an early pure_initcall) was the final nail in the coffin to fix an exit_shm() race.
While normally we could just initialize the ipc_ids fields statically and be over with initcall dependencies, your patch will require inits be done dynamically for the rhashtable_init(). Oh well.
Also, why do you do this?
> -pure_initcall(ipc_ns_init); > +core_initcall(ipc_ns_init);
Thanks, Davidlohr
|  |