Skip to contentSkip to conversation

2.6.1 dual xeon

DISCUSSION Wakko Warner 6 participants 7 messages Jan 25, 2004 – Jan 28, 2004

lore
Share & tools
lore
#0 lore raw

I recently aquired a dual xeon system. HT is enabled which shows up as 4 cpus. I noticed that all interrupts are on CPU0. Can anyone tell me why this is?

Signature · 1 line
 Lab tests show that use of micro$oft causes cancer in lab animals
#1 lore raw
Quoted 3 lines · Wakko Warner

I recently aquired a dual xeon system. HT is enabled which shows up as 4 cpus. I noticed that all interrupts are on CPU0. Can anyone tell me why this is?

The APIC needs to be programmed to deliver interrupts to certain processors.

In 2.6, this is done in user-space via a program called irqbalance:

http://people.redhat.com/arjanv/irqbalance/

If you run Red Hat, it is in the "kernel-utils" package.

Robert Love

#2 lore raw
Quoted 8 lines
Quoted 3 lines

I recently aquired a dual xeon system. HT is enabled which shows up as 4 cpus. I noticed that all interrupts are on CPU0. Can anyone tell me why this is?

The APIC needs to be programmed to deliver interrupts to certain processors.

In 2.6, this is done in user-space via a program called irqbalance:

Thanks, working great. (Debian by the way)

Signature · 1 line
 Lab tests show that use of micro$oft causes cancer in lab animals
#3 lore raw

Wakko Warner wrote (ao):

Quoted 10 lines
Quoted 8 lines
Quoted 3 lines

I recently aquired a dual xeon system. HT is enabled which shows up as 4 cpus. I noticed that all interrupts are on CPU0. Can anyone tell me why this is?

The APIC needs to be programmed to deliver interrupts to certain processors.

In 2.6, this is done in user-space via a program called irqbalance:

Thanks, working great. (Debian by the way)

Ehm, IIRC the "all interrupts are on CPU0" is how it is supposed to work with a 2.6 kernel? The interrupts should spread if you have _a_lot_ of them. This gives better performance than spreading the interrupts. Did I read this on the list, or am I completely wrong here?

Signature · 2 lines
Humilis IT Services and Solutions
http://www.humilis.net
#4 lore raw
Quoted 8 lines · Sander

Wakko Warner wrote (ao):

Quoted 7 lines
Quoted 7 lines
Quoted 3 lines

I recently aquired a dual xeon system. HT is enabled which shows up as 4 cpus. I noticed that all interrupts are on CPU0. Can anyone tell me why this is?

The APIC needs to be programmed to deliver interrupts to certain processors.

Quoted 8 lines
Quoted 3 lines
Quoted 1 line

In 2.6, this is done in user-space via a program called irqbalance:

Thanks, working great. (Debian by the way)

Ehm, IIRC the "all interrupts are on CPU0" is how it is supposed to work with a 2.6 kernel? The interrupts should spread if you have _a_lot_ of them. This gives better performance than spreading the interrupts. Did I read this on the list, or am I completely wrong here?

Apparently it was way especially better performance wise to have interrupts that hit often (ethernet cards ie.) on the same cpu.

But I can't see a reason for not dividing the different interrupt on different cpu's and letting them stay put. Maybe if you keep all interrupts on the same cpu the cache on the other ones will not have to be flushed often, which would be a good thing.

How would it be to maybe remove all interrupts from a cpu (except between cpu's) and have a few cpu's merely working with data and one "in control". Bad idea I guess as I haven't seen any such work.

Alex

#5 lore raw

You can run irqbalance in one shot mode not continously. Check the options.

Quoted 37 lines · Alexander Nyberg
Quoted 8 lines · Sander

Wakko Warner wrote (ao):

Quoted 7 lines
Quoted 7 lines
Quoted 3 lines

I recently aquired a dual xeon system. HT is enabled which shows up as 4 cpus. I noticed that all interrupts are on CPU0. Can anyone tell me why this is?

The APIC needs to be programmed to deliver interrupts to certain processors.

Quoted 8 lines
Quoted 3 lines
Quoted 1 line

In 2.6, this is done in user-space via a program called irqbalance:

Thanks, working great. (Debian by the way)

Ehm, IIRC the "all interrupts are on CPU0" is how it is supposed to work with a 2.6 kernel? The interrupts should spread if you have _a_lot_ of them. This gives better performance than spreading the interrupts. Did I read this on the list, or am I completely wrong here?

Apparently it was way especially better performance wise to have interrupts that hit often (ethernet cards ie.) on the same cpu.

But I can't see a reason for not dividing the different interrupt on different cpu's and letting them stay put. Maybe if you keep all interrupts on the same cpu the cache on the other ones will not have to be flushed often, which would be a good thing.

How would it be to maybe remove all interrupts from a cpu (except between cpu's) and have a few cpu's merely working with data and one "in control". Bad idea I guess as I haven't seen any such work.

Alex

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

#6 lore raw
In reply to Alexander Nyberg
Quoted 2 lines · Alexander Nyberg

But I can't see a reason for not dividing the different interrupt on different cpu's and letting them stay put.

You want to spread the load, but that is hard to do without knowing which interrupt sources are heavy and which are light. Dividing them once might end up with keyboard & mouse interrupts on one cpu and network+disk on another. This is clearly imbalanced.

An irq balancing utility will fix this, by balancing based on interrupt count.

Quoted 7 lines

Maybe if you keep all
interrupts on the same cpu the cache on the other ones will not have to be flushed often, which would be a good thing.

How would it be to maybe remove all interrupts from a cpu (except between cpu's) and have a few cpu's merely working with data and one "in control". Bad idea I guess as I haven't seen any such work.

Makes sense only if the amounts of interrupt work and other work matches the division you make.

Helge Hafting