From: Peter Zijlstra <a.p.zijlstra@chello.nl>
To: Paul Jackson <pj@sgi.com>
Cc: maxk@qualcomm.com, menage@google.com, mingo@elte.hu,
linux-kernel@vger.kernel.org
Subject: Re: IRQ affinities (was: boot cgroup questions)
Date: Fri, 09 May 2008 13:48:58 +0200 [thread overview]
Message-ID: <1210333738.13978.246.camel@twins> (raw)
In-Reply-To: <20080509061727.5057de1f.pj@sgi.com>
On Fri, 2008-05-09 at 06:17 -0500, Paul Jackson wrote:
> Peter wrote:
> > That's a new feature; and its quite common that new features require
> > code changes.
>
> It's common for new features to require code changes to take advantage
> of the new features.
>
> It's less desirable that taking advantage of such new features breaks
> existing, basically unrelated, code.
>
> My gut sense is that, in a misguided effort to find a "simple" answer
> to irq distribution, we (well, y'all) are trying to attach this
> feature to cpusets or cgroups.
>
> Let me ask a different question:
>
> What solutions would you (Max, Peter, Ingo, lurkers, ...) be
> suggesting for this 'IRQ affinity' problem if cpusets and
> cgroups didn't exist in any form whatsoever?
>
> The answer to that question might help me contribute to this discussion
> in another way ... it might help me understand better what we're really
> trying to do here. You guys were proposing mechanisms that don't fit
> my architecture sense of cpusets, but I was having problems figuring out
> what are the essential underlying requirements, independent of choice
> of mechanism.
>
> Perhaps by describing one or two possible alternative, cpuset-free,
> mechanisms that come more or less close to meeting our needs, I will
> glean a better understanding of these elusive requirements, and can
> better contribute to the discussion of design trade offs facing us.
>
> So could you describe some possible cpuset-free solutions? If they are
> flawed in some critical way, that's ok, just point out said flaw(s).
> Either way, this could help illuminate what's needed here.
>
> It might be, once I better understand the requirements, possible
> solutions and their tradeoffs, that I come to agree that cpusets or
> cgroups present the best mechanism, given the tradeoffs and what's
> needed. Or it might be we find a better way to meet our needs.
>
> Actually, if for no other reason than to bring any lurkers up to speed,
> if you (Max or Peter, likely) wanted to describe, from the beginning,
> what this discussion is about, that would be good too. I doubt anyone
> outside of three or four of us even recalls that long discussion of
> February and March, 2008.
I see two use-cases:
- Isolation
- NUMA node devices
With isolation you want to move all of you 'normal' system tasks off to
side of your machine and use the other side for 'special - rt' tasks.
For IRQs this means that you want to move all the 'normal' IRQs along
with the 'normal' tasks, and move the special IRQs into the rt side.
Of course you can do this by setting IRQ affinities one by one, but
being able to group the IRQs seems a sensible thing to me.
One thing here is that we'd like to also provide a default group for new
IRQs, so that when a new device appears its not allowed into the
'special' side of your machine.
This is what Max focussed on, and provides a binary devision of your
machine: special and not special.
Now I was thinking that if we generalize this whole thing it might be
useful for other purposes such as IRQ placement near the nodes that host
the device and/or the application using them.
So what we'd end up with is named affinity groups that contain (unique)
IRQs.
next prev parent reply other threads:[~2008-05-09 11:49 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-03-12 1:23 boot cgroup questions Max Krasnyansky
2008-03-12 1:27 ` Paul Menage
2008-03-12 2:34 ` Max Krasnyansky
2008-03-12 2:36 ` Paul Menage
2008-03-12 2:53 ` Max Krasnyansky
2008-03-12 3:09 ` Paul Menage
2008-03-12 3:39 ` Max Krasnyansky
2008-03-12 4:59 ` Paul Jackson
2008-03-12 18:24 ` Max Krasnyanskiy
2008-03-12 18:57 ` Paul Jackson
2008-03-12 19:11 ` Max Krasnyanskiy
2008-03-12 19:32 ` Paul Jackson
2008-03-12 20:08 ` Max Krasnyanskiy
2008-03-12 20:37 ` Paul Jackson
2008-03-12 22:29 ` Max Krasnyanskiy
2008-03-12 23:30 ` Paul Jackson
2008-03-13 0:57 ` Max Krasnyanskiy
2008-03-13 7:03 ` Paul Jackson
2008-04-10 18:03 ` Max Krasnyanskiy
2008-04-14 18:39 ` Paul Jackson
2008-05-09 10:45 ` Peter Zijlstra
2008-05-09 11:17 ` IRQ affinities (was: boot cgroup questions) Paul Jackson
2008-05-09 11:48 ` Peter Zijlstra [this message]
2008-05-09 12:03 ` Paul Jackson
2008-05-09 12:14 ` Peter Zijlstra
2008-05-09 12:36 ` Paul Jackson
2008-05-09 17:43 ` Paul Jackson
2008-05-21 1:21 ` IRQ affinities Max Krasnyanskiy
2008-05-21 1:14 ` Max Krasnyanskiy
2008-05-21 4:45 ` Arjan van de Ven
2008-05-21 16:18 ` Max Krasnyanskiy
2008-05-21 6:34 ` Paul Jackson
2008-05-21 17:58 ` Max Krasnyanskiy
2008-04-14 18:42 ` boot cgroup questions Paul Jackson
2008-03-13 7:12 ` Paul Jackson
2008-04-10 17:24 ` Max Krasnyanskiy
2008-04-10 17:37 ` Paul Jackson
2008-03-12 23:32 ` Paul Jackson
2008-03-13 0:46 ` Max Krasnyanskiy
2008-03-12 19:16 ` Paul Menage
2008-03-12 19:24 ` Paul Jackson
2008-03-12 19:30 ` Max Krasnyanskiy
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=1210333738.13978.246.camel@twins \
--to=a.p.zijlstra@chello.nl \
--cc=linux-kernel@vger.kernel.org \
--cc=maxk@qualcomm.com \
--cc=menage@google.com \
--cc=mingo@elte.hu \
--cc=pj@sgi.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