Messages in this thread |  | | Date | Wed, 15 Jan 2014 11:38:08 +0100 | From | Peter Zijlstra <> | Subject | Re: [QUERY]: Is using CPU hotplug right for isolating CPUs? |
| |
On Wed, Jan 15, 2014 at 02:57:36PM +0530, Viresh Kumar wrote: > Hi Again, > > I am now successful in isolating a CPU completely using CPUsets, > NO_HZ_FULL and CPU hotplug.. > > My setup and requirements for those who weren't following the > earlier mails: > > For networking machines it is required to run data plane threads on > some CPUs (i.e. one thread per CPU) and these CPUs shouldn't be > interrupted by kernel at all. > > Earlier I tried CPUSets with NO_HZ by creating two groups with > load_balancing disabled between them and manually tried to move > all tasks out to CPU0 group. But even then there were interruptions > which were continuously coming on CPU1 (which I am trying to > isolate). These were some workqueue events, some timers (like > prandom), timer overflow events (As NO_HZ_FULL pushes hrtimer > to long ahead in future, 450 seconds, rather than disabling them > completely, and these hardware timers were overflowing their > counters after 90 seconds on Samsung Exynos board). > > So after creating CPUsets I hotunplugged CPU1 and added it back > immediately. This moved all these interruptions away and now > CPU1 is running my single thread ("stress") for ever. > > Now my question is: Is there anything particularly wrong about using > hotplugging here ? Will that lead to a disaster :)
Nah, its just ugly and we should fix it. You need to be careful to not place tasks in a cpuset you're going to unplug though, that'll give funny results.
|  |