Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1318119

Re: fast path cycle muncher (vmstat: make vmstat_updater deferrable again and shut down on idle)

From Christoph Lameter <cl@linux.com>
Newsgroups linux.kernel
Subject Re: fast path cycle muncher (vmstat: make vmstat_updater deferrable again and shut down on idle)
Date 2016-01-26 17:30 +0100
Message-ID <qVeFd-6F7-19@gated-at.bofh.it> (permalink)
References (6 earlier) <qTN4n-6Dx-31@gated-at.bofh.it> <qU9ey-5ik-15@gated-at.bofh.it> <qUTr3-7vm-11@gated-at.bofh.it> <qUTKq-7UQ-17@gated-at.bofh.it> <qUVMf-PD-23@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Mon, 25 Jan 2016, Michal Hocko wrote:

> > Why would the deferring cause this overhead?
>
> I guess the profile speaks for itself, doesn't it?

But the system is going idle? Why would this impact performance?

> > Also there is no cross core activity from quiet_vmstat(). It simply
> > disables the local vmstat updates.
>
> It doesn't go cross core but it still does nr_zones * counters atomic
> ops.

If there are updates then yes.

> > It reduces the OS events that the application experiences by folding it
> > into the tick events. If its not deferrable then a timer event will be
> > generated in addition to the tick. We do not want that.
>
> Yes this is what I have read in the changelog. But "how much" part is
> really missing. Is this even quantifiable?

Oh yes. If you want to have low latency responses yes. And event like that
causes a couple of microseconds delay which will cause a moneytary impact
if you have to react to stock trading events.

> Maybe this overhead can be reduced by outsourcing the functionality to
> vmstat_shepherd which can check idle CPUs, cancel the timer for them
> update the differentials and put them to cpu_stat_off?

Remote updating of differentials is problematic due to the counters being
per cpu values that are expected to only be updated from the cpu that
"owns" them.

> > The regression that I know of (independent of "RT") is due as far as I
> > know due to the switch of the parameters of some vmstat functions to 64
> > bit instead of 32 bit.
>
> I am not sure I am following.

An additional patch was merged for 4.5 that increases the arguments to the
counter operations to 64 bit which is known for regressions.

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Re: mm, vmstat: kernel BUG at mm/vmstat.c:1408! Michal Hocko <mhocko@kernel.org> - 2016-01-20 15:40 +0100
  Re: mm, vmstat: kernel BUG at mm/vmstat.c:1408! Sasha Levin <sasha.levin@oracle.com> - 2016-01-20 16:00 +0100
    Re: mm, vmstat: kernel BUG at mm/vmstat.c:1408! Michal Hocko <mhocko@kernel.org> - 2016-01-20 16:20 +0100
      Re: mm, vmstat: kernel BUG at mm/vmstat.c:1408! Christoph Lameter <cl@linux.com> - 2016-01-20 16:30 +0100
        Re: mm, vmstat: kernel BUG at mm/vmstat.c:1408! Sasha Levin <sasha.levin@oracle.com> - 2016-01-20 17:00 +0100
          Re: mm, vmstat: kernel BUG at mm/vmstat.c:1408! Christoph Lameter <cl@linux.com> - 2016-01-20 17:00 +0100
            Re: mm, vmstat: kernel BUG at mm/vmstat.c:1408! Michal Hocko <mhocko@kernel.org> - 2016-01-20 22:30 +0100
              Re: mm, vmstat: kernel BUG at mm/vmstat.c:1408! Christoph Lameter <cl@linux.com> - 2016-01-20 23:00 +0100
                Re: mm, vmstat: kernel BUG at mm/vmstat.c:1408! Michal Hocko <mhocko@kernel.org> - 2016-01-21 09:30 +0100
                Re: mm, vmstat: kernel BUG at mm/vmstat.c:1408! Christoph Lameter <cl@linux.com> - 2016-01-21 16:50 +0100
                Re: mm, vmstat: kernel BUG at mm/vmstat.c:1408! Michal Hocko <mhocko@kernel.org> - 2016-01-21 18:00 +0100
                Re: mm, vmstat: kernel BUG at mm/vmstat.c:1408! Christoph Lameter <cl@linux.com> - 2016-01-21 18:40 +0100
                Re: mm, vmstat: kernel BUG at mm/vmstat.c:1408! Shiraz Hashim <shiraz.linux.kernel@gmail.com> - 2016-01-22 12:10 +0100
                Re: mm, vmstat: kernel BUG at mm/vmstat.c:1408! Michal Hocko <mhocko@kernel.org> - 2016-01-22 15:10 +0100
                Re: mm, vmstat: kernel BUG at mm/vmstat.c:1408! Christoph Lameter <cl@linux.com> - 2016-01-22 17:10 +0100
                Re: mm, vmstat: kernel BUG at mm/vmstat.c:1408! Michal Hocko <mhocko@kernel.org> - 2016-01-22 17:20 +0100
                Re: mm, vmstat: kernel BUG at mm/vmstat.c:1408! Christoph Lameter <cl@linux.com> - 2016-01-22 17:50 +0100
                Re: mm, vmstat: kernel BUG at mm/vmstat.c:1408! Michal Hocko <mhocko@kernel.org> - 2016-01-22 18:20 +0100
                fast path cycle muncher (vmstat: make vmstat_updater deferrable  again and shut down on idle) Mike Galbraith <umgwanakikbuti@gmail.com> - 2016-01-23 17:30 +0100
                Re: fast path cycle muncher (vmstat: make vmstat_updater deferrable  again and shut down on idle) Christoph Lameter <cl@linux.com> - 2016-01-24 01:40 +0100
                Re: fast path cycle muncher (vmstat: make vmstat_updater deferrable  again and shut down on idle) Mike Galbraith <umgwanakikbuti@gmail.com> - 2016-01-24 03:50 +0100
                Re: fast path cycle muncher (vmstat: make vmstat_updater deferrable  again and shut down on idle) Christoph Lameter <cl@linux.com> - 2016-01-24 04:50 +0100
                Re: fast path cycle muncher (vmstat: make vmstat_updater deferrable  again and shut down on idle) Mike Galbraith <umgwanakikbuti@gmail.com> - 2016-01-24 06:40 +0100
                Re: fast path cycle muncher (vmstat: make vmstat_updater deferrable  again and shut down on idle) Michal Hocko <mhocko@kernel.org> - 2016-01-25 18:50 +0100
                Re: fast path cycle muncher (vmstat: make vmstat_updater deferrable  again and shut down on idle) Christoph Lameter <cl@linux.com> - 2016-01-25 19:10 +0100
                Re: fast path cycle muncher (vmstat: make vmstat_updater deferrable  again and shut down on idle) Michal Hocko <mhocko@kernel.org> - 2016-01-25 21:20 +0100
                Re: fast path cycle muncher (vmstat: make vmstat_updater deferrable  again and shut down on idle) Christoph Lameter <cl@linux.com> - 2016-01-26 17:30 +0100
                Re: fast path cycle muncher (vmstat: make vmstat_updater deferrable  again and shut down on idle) Christoph Lameter <cl@linux.com> - 2016-01-26 19:40 +0100
                Re: fast path cycle muncher (vmstat: make vmstat_updater deferrable  again and shut down on idle) Mike Galbraith <umgwanakikbuti@gmail.com> - 2016-01-26 19:50 +0100
                Re: fast path cycle muncher (vmstat: make vmstat_updater deferrable  again and shut down on idle) Christoph Lameter <cl@linux.com> - 2016-01-26 20:30 +0100
                Re: fast path cycle muncher (vmstat: make vmstat_updater deferrable  again and shut down on idle) Mike Galbraith <umgwanakikbuti@gmail.com> - 2016-01-27 04:20 +0100
                Re: fast path cycle muncher (vmstat: make vmstat_updater deferrable  again and shut down on idle) Mike Galbraith <umgwanakikbuti@gmail.com> - 2016-01-27 05:20 +0100
                Re: fast path cycle muncher (vmstat: make vmstat_updater deferrable  again and shut down on idle) Christoph Lameter <cl@linux.com> - 2016-01-27 17:30 +0100
                Re: fast path cycle muncher (vmstat: make vmstat_updater deferrable  again and shut down on idle) Mike Galbraith <umgwanakikbuti@gmail.com> - 2016-01-26 19:40 +0100
                Re: fast path cycle muncher (vmstat: make vmstat_updater deferrable  again and shut down on idle) Mike Galbraith <umgwanakikbuti@gmail.com> - 2016-01-26 03:20 +0100
                Re: fast path cycle muncher (vmstat: make vmstat_updater deferrable  again and shut down on idle) Mike Galbraith <umgwanakikbuti@gmail.com> - 2016-01-26 03:30 +0100
                Re: fast path cycle muncher (vmstat: make vmstat_updater deferrable  again and shut down on idle) Christoph Lameter <cl@linux.com> - 2016-01-26 17:30 +0100
                Re: fast path cycle muncher (vmstat: make vmstat_updater deferrable  again and shut down on idle) Mike Galbraith <umgwanakikbuti@gmail.com> - 2016-01-26 18:40 +0100
                Re: fast path cycle muncher (vmstat: make vmstat_updater deferrable  again and shut down on idle) Christoph Lameter <cl@linux.com> - 2016-01-26 19:20 +0100
                Re: fast path cycle muncher (vmstat: make vmstat_updater deferrable  again and shut down on idle) Christoph Lameter <cl@linux.com> - 2016-01-26 17:30 +0100
                Re: fast path cycle muncher (vmstat: make vmstat_updater deferrable  again and shut down on idle) Mike Galbraith <umgwanakikbuti@gmail.com> - 2016-01-26 18:10 +0100
                Re: fast path cycle muncher (vmstat: make vmstat_updater deferrable  again and shut down on idle) Christoph Lameter <cl@linux.com> - 2016-01-26 19:30 +0100
                Re: fast path cycle muncher (vmstat: make vmstat_updater deferrable  again and shut down on idle) Mike Galbraith <umgwanakikbuti@gmail.com> - 2016-01-26 20:10 +0100
                Re: fast path cycle muncher (vmstat: make vmstat_updater deferrable  again and shut down on idle) Christoph Lameter <cl@linux.com> - 2016-01-26 20:30 +0100
                [PATCH] mm, vmstat: make quiet_vmstat lighter (was: Re: fast path  cycle muncher (vmstat: make vmstat_updater deferrable) again and shut down  on idle) Michal Hocko <mhocko@kernel.org> - 2016-01-27 17:50 +0100
                Re: [PATCH] mm, vmstat: make quiet_vmstat lighter (was: Re: fast  path cycle muncher (vmstat: make vmstat_updater deferrable) again and shut  down on idle) Mike Galbraith <umgwanakikbuti@gmail.com> - 2016-01-27 18:10 +0100
                Re: [PATCH] mm, vmstat: make quiet_vmstat lighter (was: Re: fast  path cycle muncher (vmstat: make vmstat_updater deferrable) again and shut  down on idle) Christoph Lameter <cl@linux.com> - 2016-01-27 19:30 +0100
                Re: mm, vmstat: kernel BUG at mm/vmstat.c:1408! Linus Torvalds <torvalds@linux-foundation.org> - 2016-01-24 18:00 +0100
  Re: mm, vmstat: kernel BUG at mm/vmstat.c:1408! Christoph Lameter <cl@linux.com> - 2016-01-20 16:20 +0100
    Re: mm, vmstat: kernel BUG at mm/vmstat.c:1408! Michal Hocko <mhocko@kernel.org> - 2016-01-20 16:30 +0100

csiph-web