From: William Lee Irwin III <wli@holomorphy.com>
To: Keith Owens <kaos@ocs.com.au>
Cc: linux-kernel@vger.kernel.org
Subject: Re: cpu-2.5.64-1
Date: Sun, 16 Mar 2003 01:46:13 -0800 [thread overview]
Message-ID: <20030316094613.GF20188@holomorphy.com> (raw)
In-Reply-To: <16504.1047806371@ocs3.intra.ocs.com.au>
On Mon, 10 Mar 2003 20:24:57 -0800, William Lee Irwin III wrote:
>> That was a bit too braindead of a translation, yes. But it is x86 arch
>> code so it shouldn't be that large of an issue for big MIPS boxen etc.
>> I'll search & replace for stuff of this kind and wipe it out anyway.
William Lee Irwin III <wli@holomorphy.com> wrote:
> Good, it lets us optimize for 1/32/64/lots of cpus. NR_CPUS > 8 *
> sizeof(unsigned long) is the interesting case, it needs arrays.
Well, I did the arrays and used them for everything but UP. The whole
bitmap stuff is there to back-end the thing. Perhaps excess generality,
but there's actually an eventual follow-on to this, which is nodemasks.
Those I probably can't do for my own machines, but I'm hoping if this
goes anywhere that someone can use the bitmap ADT for them.
As it turns out small SMP can probably still use the stuff I designated
as UP-only, and UP can probably be made even more lightweight. I'm sort
of turned off by all the special-casing, though. It was mostly a hack
to avoid messing too much with the preexisting UP special-cased smp.h
If I absolutely _have_ to special case, well...
On Sun, 16 Mar 2003 00:36:09 -0800,
>> This suggests a "cpumask strategy". Care to share more, like your take
>> on such things as
>> p = req->task;
>> cpu_dest = __ffs(p->cpus_allowed & cpu_online_map);
>> rq_dest = cpu_rq(cpu_dest);
>> in kernel/sched.c?
On Sun, Mar 16, 2003 at 08:19:31PM +1100, Keith Owens wrote:
> That definitely needs encapsulation to handle cpus_allowed etc. being
> arrays. A function to generate the logical and of p->cpus_allowed and
> cpu_online_map and return cpumask_t * is easy. Doing ffs on that
> result will not work, it assumes NR_CPUS fits in a word. Add
> ffs_cpumask(cpumask_t *).
Okay, that's more or less what the patch I did does, it has cpus_and(),
and just s/ffs_cpumask/first_cpu/. I was mostly wondering if you had
higher-level arch wrappers in mind, e.g. cpus_restrict_online() etc.
-- wli
next prev parent reply other threads:[~2003-03-16 9:35 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-03-11 4:24 cpu-2.5.64-1 William Lee Irwin III
2003-03-11 7:17 ` cpu-2.5.64-1 Zwane Mwaikambo
2003-03-11 8:25 ` cpu-2.5.64-1 Zwane Mwaikambo
2003-03-16 7:39 ` cpu-2.5.64-1 Keith Owens
2003-03-16 8:36 ` cpu-2.5.64-1 William Lee Irwin III
2003-03-16 9:19 ` cpu-2.5.64-1 Keith Owens
2003-03-16 9:46 ` William Lee Irwin III [this message]
2003-03-16 10:10 ` cpu-2.5.64-1 William Lee Irwin III
2003-03-16 11:12 ` cpu-2.5.64-1 Keith Owens
2003-03-16 11:32 ` cpu-2.5.64-1 William Lee Irwin III
2003-03-16 11:53 ` cpu-2.5.64-1 Keith Owens
2003-03-16 12:00 ` cpu-2.5.64-1 William Lee Irwin III
2003-03-16 12:42 ` cpu-2.5.64-1 Horst von Brand
2003-03-16 19:14 ` cpu-2.5.64-1 William Lee Irwin III
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=20030316094613.GF20188@holomorphy.com \
--to=wli@holomorphy.com \
--cc=kaos@ocs.com.au \
--cc=linux-kernel@vger.kernel.org \
/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