public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Arun R Bharadwaj <arun@linux.vnet.ibm.com>
To: Andi Kleen <andi@firstfloor.org>
Cc: Anton Blanchard <anton@samba.org>,
	tglx@linutronix.de, davem@davemloft.net,
	linux-kernel@vger.kernel.org, arjan@infradead.org,
	venkatesh.pallipadi@intel.com,
	Arun Bharadwaj <arun@linux.vnet.ibm.com>
Subject: Re: NO_HZ migration of TCP ack timers
Date: Thu, 18 Feb 2010 16:03:01 +0530	[thread overview]
Message-ID: <20100218103301.GB26101@linux.vnet.ibm.com> (raw)
In-Reply-To: <87mxz755ks.fsf@basil.nowhere.org>

* Andi Kleen <andi@firstfloor.org> [2010-02-18 09:08:35]:

> Anton Blanchard <anton@samba.org> writes:
> 
> > echo 0 > /proc/sys/kernel/timer_migration
> >
> > makes the problem go away.
> >
> > I think the problem is the CPU is most likely to be idle when an rx networking
> > interrupt comes in. It seems the wrong thing to do to migrate any ack timers
> > off the current cpu taking the interrupt, and with enough networks we train
> > wreck transferring everyones ack timers to the nohz load balancer cpu. 
> 
> If the nohz balancer CPU is otherwise idle, shouldn't it have enough
> cycles to handle acks for everyone? Is the problem the cache line
> transfer time?
> 
> But yes if it's non idle the migration might need to spread out 
> to more CPUs.
> 
> >
> > What should we do? Should we use mod_timer_pinned here? Or is this an issue
> 
> Sounds like something that should be controlled by the cpufreq governour's
> idle predictor? Only migrate if predicted idle time is long enough.
> It's essentially the same problem as deciding how deeply idle to put
> a CPU. Heavy measures only pay off if the expected time is long enough.
> 

cpuidle infrastructure hs statistics about the idle times for
all the cpus. Maybe we can look to use this infrastructure to decide
whether to migrate timers or not?

arun

> > other areas might see (eg the block layer) and we should instead avoid
> > migrating timers created out of interrupts.
> 
> -Andi
> 
> -- 
> ak@linux.intel.com -- Speaking for myself only.

  parent reply	other threads:[~2010-02-18 10:33 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-02-18  5:28 NO_HZ migration of TCP ack timers Anton Blanchard
2010-02-18  8:08 ` Andi Kleen
2010-02-18  9:55   ` Anton Blanchard
2010-02-18 10:08     ` Andi Kleen
2010-02-18 10:33   ` Arun R Bharadwaj [this message]
2010-02-18 16:03     ` Andi Kleen
2010-02-26 12:26 ` David Miller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100218103301.GB26101@linux.vnet.ibm.com \
    --to=arun@linux.vnet.ibm.com \
    --cc=andi@firstfloor.org \
    --cc=anton@samba.org \
    --cc=arjan@infradead.org \
    --cc=davem@davemloft.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tglx@linutronix.de \
    --cc=venkatesh.pallipadi@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox