Messages in this thread | | | Date | Fri, 11 Nov 2011 21:13:56 +0400 | From | Pavel Emelyanov <> | Subject | Re: [PATCH 3/3] pids: Make it possible to clone tasks with given pids |
| |
On 11/11/2011 09:02 PM, Tejun Heo wrote: > Hello, > > On Fri, Nov 11, 2011 at 08:49:50PM +0400, Pavel Emelyanov wrote: >> 1 cpu 500k forks - 37s > > That's ~14k forks per sec. Do you still think you need parallel > forking? > >> 2 cpus on different cores 500k forks on each in parallel - 39s >> 4 cpus on different cores 500k forks on each in parallel - 41s >> >> 8 cpus 500k forks on each in parallel - 1m5s >> >> So the fork() scaling seems quite good to me. > > Yeah, looks pretty good actually. Hmmm, this is on a single socket w/ > shared cache where cacheline bouncing is quite cheap, right? Also, > how are those forking processes related? On multiple sockets, it's > gonna scale worse. Dunno how much tho. > > At any rate, if you do the rest in paralllel, whether forking is > parallel or not is immaterial. Let's just do something least > intrusive.
Hm, so intrusiveness is your main concern here, I see.
OK, let's assume we go with sysctl setting the last_pid.
One of the major concerns with previous attempts have been - someone creates a process with a pid that was in use by some app recently and screws things up with pid reuse. My approach solves this, how can sysctl handle it? Allowing the last_pid change by the CAP_SYA_ADMIN only is not an option, since people are looking forward to non-root restore.
> Thanks. >
| |