From: Max Krasnyanskiy <maxk@qualcomm.com>
To: Paul Jackson <pj@sgi.com>
Cc: menage@google.com, mingo@elte.hu, a.p.zijlstra@chello.nl,
linux-kernel@vger.kernel.org
Subject: Re: boot cgroup questions
Date: Thu, 10 Apr 2008 11:03:01 -0700 [thread overview]
Message-ID: <47FE5655.10900@qualcomm.com> (raw)
In-Reply-To: <20080313020300.92244956.pj@sgi.com>
The context here was that we were talking about a way to group irqs and assign
them to the cpusets. I was proposing to just treat IRQs as tasks, and you were
proposing to add some additional grouping. Replies inline below.
Paul Jackson wrote:
> Max K wrote:
>> cleaner imo than dealing with complex irq grouping schemes.
>
> What's this "complex irq grouping scheme" that you're referring to?
>
> If it's what I posted last week, with named sets of irqs, and each
> cpuset naming which set it belonged to, that seems to me to actually
> fit the usage pattern rather well.
I was just saying that cpuset already provides a nice grouping. After thinking
about this some more I still do not see a need to group IRQs before assigning
them to the cpusets. That's the complexity I was talking about.
> The jobs running in particular cpusets need only know the 'name' of
> the set of irqs it makes sense to send to its CPUs (the realtime
> irqs, a particular piece of hardwares irqs, the ordinary system
> irqs, the absolute minimum set of irqs, ...) and the system admin
> gets to specify, one time, which irq numbers are in which named
> set, or to change, later on, which set a particular irq is in, all
> without having to have detailed knowledge of the jobs that want
> particular irq sets directed to their CPUs.
>
> We tend to label whatever makes sense to us as "simple", and whatever
> doesn't seem necessary in our experience, or doesn't make sense, as
> "complex".
>
> Such labels are losing their meaning these days, other than to help
> others figure out what we favor, or disfavor.
I agree in general. In this particular case additional grouping introduces
even more hierarchy. I seems to me that
"irqN -> cpu1, cpu2, cpu3"
is a very simple, straightforward relationship. Whereas
"irqN -> groupX"
"groupX -> cpu1"
"groupX -> cpu2"
"groupX -> cpu3"
Is not that straightforward.
Anyway. I think it all boils down to the compatibility with existing
user-space apps. I still like the simple approach of treating irqs like tasks
when it comes to assigning them to the cpusets. Which as we discussed earlier
in some cases may require an extra level in the cpuset hierarchy. The question
is, is that really such a big problem. If we make in kernel boot set optional,
by default all irqs will be in the root cpuset. Which means people can still
use /proc/irq/N/smp_affinity and manage irqs just like they do now. There is
no compatibility issues in that case.
So do you think the apps compatibility is an issue in that case ?
Also isn't it likely that the apps will gradually adapt to handling
multi-level cpusets anyway ? I mean you guys were talking about how wonderful
and flexible cpusets are, but we cannot seem to use the flexibility because
the apps are designed for a flat layout.
Max
next prev parent reply other threads:[~2008-04-10 18:03 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 [this message]
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
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=47FE5655.10900@qualcomm.com \
--to=maxk@qualcomm.com \
--cc=a.p.zijlstra@chello.nl \
--cc=linux-kernel@vger.kernel.org \
--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