Re: Fwd: [PATCH] x86_64: typo in __assign_irq_vector when update pos for vector and offset
From: Eric W. Biederman
Date: Mon Oct 16 2006 - 15:06:46 EST
"Lu, Yinghai" <yinghai.lu@xxxxxxx> writes:
> With phys_flat mode, the apic will be delivered in phys mode, we only
> can use cpu real apic id as target instead of apicid mask. Because that
> only has 8 bits.
Yes but the linux abstraction is a cpu mask. The current vector allocator
will keep going until it finds a cpu with a free vector if you give it
a mask with multiple cpus.
So to get things going making TARGET_CPUS cpu_online_map looks like
the right thing to do.
> For io apic controllers, it seems the kernel didn't have pci_dev
> corresponding, and we can use address stored in mpc_config.
My question is are your io_apics pci devices? Not does the kernel
have them.
So the truth is we really don't care about where the io_apics are. We
care about the source of the irqs, but in general they will all
be on the same NUMA node. As for using the addresses that doesn't feel
quite right as it doesn't sound like a general solution.
There are a lot of ways we can approach assigning irqs to cpus and there
is a lot of work there. I think Adrian Bunk has been doing some work
with the user space irq balancer, and should probably be involved.
Anyway this is all 2.6.20+ work to get the kernel to have a sane default.
As soon as 2.6.19 is solid I will worry about the future.
Eric
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/