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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.