public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Andi Kleen <andi@firstfloor.org>
To: Anton Blanchard <anton@samba.org>
Cc: arun@linux.vnet.ibm.com, tglx@linutronix.de, davem@davemloft.net,
	linux-kernel@vger.kernel.org, arjan@infradead.org,
	venkatesh.pallipadi@intel.com
Subject: Re: NO_HZ migration of TCP ack timers
Date: Thu, 18 Feb 2010 09:08:35 +0100	[thread overview]
Message-ID: <87mxz755ks.fsf@basil.nowhere.org> (raw)
In-Reply-To: <20100218052820.GD24270@kryten> (Anton Blanchard's message of "Thu, 18 Feb 2010 16:28:20 +1100")

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.

> 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.

  reply	other threads:[~2010-02-18  8:08 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 [this message]
2010-02-18  9:55   ` Anton Blanchard
2010-02-18 10:08     ` Andi Kleen
2010-02-18 10:33   ` Arun R Bharadwaj
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=87mxz755ks.fsf@basil.nowhere.org \
    --to=andi@firstfloor.org \
    --cc=anton@samba.org \
    --cc=arjan@infradead.org \
    --cc=arun@linux.vnet.ibm.com \
    --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