All of lore.kernel.org
 help / color / mirror / Atom feed
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
--------------------------------------------


  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.