On Mon, Sep 28, 2015 at 04:40:56PM -0400, Andy Lutomirski wrote: > On Mon, Sep 28, 2015 at 11:17 AM, Chris Metcalf <[email protected]> wrote: > > While the current fallback to 1-second tick is still helpful for > > maintaining completely correct kernel semantics, processes using > > prctl(PR_SET_TASK_ISOLATION) semantics place a higher priority on > > running completely tickless, so don't bound the time_delta for such > > processes. In addition, due to the way such processes quiesce by > > waiting for the timer tick to stop prior to returning to userspace, > > without this commit it won't be possible to use the task_isolation > > mode at all. > > > > Removing the 1-second cap was previously discussed (see link > > below) and Thomas Gleixner observed that vruntime, load balancing > > data, load accounting, and other things might be impacted. > > Frederic Weisbecker similarly observed that allowing the tick to > > be indefinitely deferred just meant that no one would ever fix the > > underlying bugs. However it's at least true that the mode proposed > > in this patch can only be enabled on a nohz_full core by a process > > requesting task_isolation mode, which may limit how important it is > > to maintain scheduler data correctly, for example. > > What goes wrong when a task enables this? Presumably either tasks > that enable it experience problems or performance issues or it should > always be enabled.
We need to make the scheduler resilient to 0Hz tick. Currently it doesn't even correctly support 1Hz or any dynticks behaviour that isn't idle. See update_cpu_load_active() for exemple. > > One possible issue: __vdso_clock_gettime with any of the COARSE clocks > as well as __vdso_time will break if the timekeeping code doesn't run > somewhere with reasonable frequency on some core. Hopefully this > always works. > > --Andy -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

