From: Kai Bankett <kbankett@aol.com>
To: Zwane Mwaikambo <zwane@arm.linux.org.uk>
Cc: Kai Bankett <kbankett@aol.com>, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] irq_balance does not make sense with HT but single physical CPU
Date: Wed, 26 Nov 2003 17:32:56 +0100 [thread overview]
Message-ID: <3FC4D5B8.2010808@aol.com> (raw)
In-Reply-To: <Pine.LNX.4.58.0311261042540.1683@montezuma.fsmlabs.com>
Zwane Mwaikambo wrote:
> On Wed, 26 Nov 2003, Kai Bankett wrote:
>
>> this patch should disable irq_balance threat in case of only one
>> installed physical cpu thats running in HyperThreading-mode (so reported
>> as 2 cpus).
>> I think it should make no sense to run irq_blanance in that special case
>> - please correct me if i´m wrong.
>
>
> +#ifdef CONFIG_X86_HT
> + /* On Hyper-Threading CPUs - if only one physical installed
> + balance does not make sense */
> + if (cpu_has_ht && smp_num_siblings == 2 && num_online_cpus() == 2) {
> + irqbalance_disabled = 1;
> + return 0;
> + }
> +#endif
>
> Further down, i believe the following would have the same effect;
>
> /*
> * Enable physical balance only if more than 1 physical processor
> * is present
> */
> if (smp_num_siblings > 1 && !cpus_empty(tmp))
> physical_balance = 1;
>
>
> tmp = cpu_online_map >> 2;
>
> so we drop the first two processors (logical or physical) and only enable
> physical balance if there are still processors present in the map. Or are
> you observing something else?
>
Ok - inserted an printk(smp_num_siblings) to have a look into
smp_num_siblings at that point.
It says : smp_num_siblings = 2
But anyways if physical_balance is set to 1 that won´t prevent anything
from running through/sleeping in the kernel_thread-loop.
The kernel_thread(balance_irq ...) later on will be started/will run not
matter what physical_balance says.
Do there exist any cases where smp_siblings are created without
HyperThreading ? (As far as I remember it´s only incremented/used on
i386 hyperthreaded architectures - but not 100% sure)
-> At least the if has to look like :
...
if (smp_num_siblings > 2 && !cpus_empty(tm))
physical_balance = 1;
...
(if - like in my case - smp_num_siblings == 2 on a single P4 system)
That one still does not solve the case in which the kernel_thread is not
needed and only eats resources.
Of course - maybe the whole thing can be merged together. Not sure about
that. But source will become more complex in that case - k.i.s.s. may be
the better approach.
Thanks,
Kai
--
--------------------------------------------
Kai Bankett
Network Engineering
AOL Deutschland GmbH & Co. KG
Millerntorplatz 1
20359 Hamburg
Tel.: +49 40 36159 - 7559
Fax.: +49 40 36159 - 7510
Mobil: +49 172 2353870
eMail to kbankett@aol.com
AIM: kbankett
--------------------------------------------
next prev parent reply other threads:[~2003-11-26 16:30 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-11-26 14:16 [PATCH] irq_balance does not make sense with HT but single physical CPU Kai Bankett
2003-11-26 15:46 ` Zwane Mwaikambo
2003-11-26 16:32 ` Kai Bankett [this message]
2003-11-26 17:09 ` Zwane Mwaikambo
2003-11-26 18:40 ` Jamie Lokier
2003-11-27 8:48 ` Kai Bankett
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=3FC4D5B8.2010808@aol.com \
--to=kbankett@aol.com \
--cc=linux-kernel@vger.kernel.org \
--cc=zwane@arm.linux.org.uk \
/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