lkml.org 
[lkml]   [2015]   [Oct]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v7 06/11] nohz: task_isolation: allow tick to be fully disabled
    On Mon, Sep 28, 2015 at 04:40:56PM -0400, Andy Lutomirski wrote:
    > On Mon, Sep 28, 2015 at 11:17 AM, Chris Metcalf <cmetcalf@ezchip.com> 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


    \
     
     \ /
      Last update: 2015-10-01 15:21    [W:4.742 / U:0.024 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site