Messages in this thread | | | Date | Tue, 8 Mar 2011 22:05:11 +0100 (CET) | From | Thomas Gleixner <> | Subject | Re: [PATCH] Add support for multiple MSI on x86 |
| |
On Fri, 4 Mar 2011, Micha Nelissen wrote: > Jesse Barnes wrote: > > On Sun, 13 Feb 2011 21:25:21 +0100 > > Micha Nelissen <micha@neli.hopto.org> wrote: > > > > > Patch is based on earlier patch from Matthew Wilcox. > > > > I like this before when Matthew was working on it too > > If I understood Thomas' concerns well, it sounds like this feature is > inherently incompatible with big SMP systems. Therefore it has no chance of > ever being accepted into mainline in whatever form?
First of all MSI is replaced by MSI-X which does not have the shortcomings of MSI vs. the vector allocation.
Though if we can come up with a scheme which does not create nested loops over possibly hundreds of CPUs with interrupts disabled and global locks held, I have no objections.
One possible solution would be to reserve a block of vectors on all cpus at boot time via a command line option for MSI block allocations. That would simply use a bitmap protected by a mutex to lookup a free vector space. That would avoid the whole loop issue and work for most of the systems which need to deal with such MSI multi vector devices. Warning: Just an idea :)
Thanks,
tglx
| |