mmap'ed robust mutexes and possible undefined behaviour

Florian Weimer fw@deneb.enyo.de
Wed Nov 26 20:09:00 GMT 2014


* Carlos O'Donell:

> I don't object to someone implementing this in glibc, but I bet it
> will require coordination with the kernel to get right.

I agree.  Currently, the robust list is processed by the kernel only
on thread exit (where it will be empty unless an abnormal condition
occurred), and doing so on every unmapping operation seems
unacceptable due to the performance overhead and the data structures
being used.  The robust list layout is part of the userspace API, and
the kernel code has to deal with conconcurrent modifications
gracefully, so changes are invasive and need careful coordination.



More information about the Libc-help mailing list