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 :)
Thanks in Advance.
-- viresh