On Fri 11-08-17 16:11:44, Florian Weimer wrote:
On 08/11/2017 04:06 PM, Michal Hocko wrote:
quoted
I am sorry to look too insisting here (I have still hard time to reconcile
myself with the madvise (ab)use) but if we in fact want minherit like
interface why don't we simply add minherit and make the code which wants
to use that interface easier to port? Is the only reason that hooking
into madvise is less code? If yes is that a sufficient reason to justify
the (ab)use of madvise? If there is a general consensus on that part I
will shut up and won't object anymore. Arguably MADV_DONTFORK would fit
into minherit API better as well.
It does, OpenBSD calls it MAP_INHERIT_NONE.
Could you implement MAP_INHERIT_COPY and MAP_INHERIT_SHARE as well? Or
is changing from MAP_SHARED to MAP_PRIVATE and back impossible?
I haven't explored those two very much. Their semantic seems rather
awkward, especially map_inherit_share one. I guess MAP_INHERIT_COPY
would be doable. Do we have to support all modes or a missing support
would disqualify the syscall completely?
--
Michal Hocko
SUSE Labs