Re: [patch] Minor PAGG attach/detach semantic change for 2.6.11

Erik Jacobson <[email protected]>
Newsgroups gmane.linux.process-aggregates
Message-ID <[email protected]>
> __pnotify_exit() would need to call the exit callback for all clients
> except for the client failing the fork call.  To do this wouldn't the
> following be needed in __pnotify_fork()?

If the fork fails in copy_process, we go to cleanup in copy_process, 
not exit.c.  So, with the revision, if the the pnotify kernel module
subscriber returns a failure for the process, that failure is passed 
along to the copy_process call.  There, we go to bad_fork_cleanup_namespace
where a pnotify_exit is done on the process that failed to fork.

In the old version, the pnotify_exit would have also been run within
__pnotify_fork.  In the new version, we don't run the pnotify_exit
from __pnotify_fork because we know it will be run in the fork failure
path of copy_process.  That should mean that pnotify_exit will only
execute once.  I think that means that your suggestion for adding 
a pnotify_unsubscribe isn't necessary?  The unsubscribe is done by
__pnotify_exit in this case.  Or am I still missing the point here?
Sorry if it isn't getting through my head.

See the RCU test version of pnotify in the download site under
pnotify-test.  My attempts at posting that patch to the list seem to be
eaten by the list server right now.  When that's fixed, I'll start posting
stuff here.

Erik
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.