On Fri, Jul 26, 2019 at 10:07 AM Joel Fernandes <joel@xxxxxxxxxxxxxxxxx> wrote: > > On Fri, Jul 26, 2019 at 09:22:26AM -0700, Suren Baghdasaryan wrote: > > This adds testing for polling on pidfd of a process being killed. Test runs > > 10000 iterations by default to stress test pidfd polling functionality. > > It accepts an optional command-line parameter to override the number or > > iterations to run. > > Specifically, it tests for: > > - pidfd_open on a child process succeeds > > - pidfd_send_signal on a child process succeeds > > - polling on pidfd succeeds and returns exactly one event > > - returned event is POLLIN > > - event is received within 3 secs of the process being killed > > > > 10000 iterations was chosen because of the race condition being tested > > which is not consistently reproducible but usually is revealed after less > > than 2000 iterations. > > Reveals race fixed by commit b191d6491be6 ("pidfd: fix a poll race when setting exit_state") > > > > Signed-off-by: Suren Baghdasaryan <surenb@xxxxxxxxxx> > > --- > > > + close(pidfd); > > + // Wait for child to prevent zombies > > Comment style should be /* */, but I think Christian would be kind enough to > fix that when he applies the patch so shouldn't need a resend. Agrh! That's what I get for constantly switching between kernel and userspace development :\ Christian please let me know if I should respin this or you can fix it when taking this patch. Thanks! > > Thanks Suren and Christian! > > Reviewed-by: Joel Fernandes (Google) <joel@xxxxxxxxxxxxxxxxx> >