Messages in this thread | | | Date | Wed, 27 Jun 2012 08:01:25 -0500 | From | Serge Hallyn <> | Subject | Re: [RFC, PATCH] CLONE_NEWIPC and exit_group() |
| |
Quoting Dmitry V. Levin (ldv@altlinux.org): > Hi, > > On Tue, Jun 26, 2012 at 03:04:26PM +0300, Kirill A. Shutemov wrote: > > Patch to move kern_unmount() out of exit_group() code path is below. > > Dmitry, could you check if it's beneficial for your use-case? > > I've benchmarked a slightly modified test which is closer to our use-case > (child processes are forked sequentially):
Did you run this in parallel, perhaps with numcpus/2 jobs plus a hackbench running on the side?
> #define _GNU_SOURCE > #include <unistd.h> > #include <sched.h> > #include <stdlib.h> > #include <sys/wait.h> > > int > main(void) > { > int i; > for (i = 0; i < 1024; i++) { > if (fork()) { > wait(NULL); > continue; > } > unshare(CLONE_NEWIPC); > exit(0); > } > return 0; > } > > On 3.4.4 with rcu_barrier patch: > 0.09user 0.00system 0:32.77elapsed 0%CPU (0avgtext+0avgdata 1472maxresident)k > 0inputs+0outputs (0major+38017minor)pagefaults 0swaps > > On 3.4.4 with rcu_barrier patch and your new patch: > 0.00user 0.06system 0:32.77elapsed 0%CPU (0avgtext+0avgdata 1472maxresident)k > 0inputs+0outputs (0major+38017minor)pagefaults 0swaps > > So there is a clear difference in accounting (user vs system)
Yup, I'd argue that's a bad thing :)
> but no > noticeable difference in the real time.
Thanks for testing!
-serge
| |