Re: [PATCH 4/5] xHCI: Enable multiple interrupters

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Sarah Sharp wrote:
> The issue is a bit complicated, because Linux doesn't allow you to
> allocate multiple vectors for MSI on x86.  There's an implementation for
> MIPS, but I'm not sure if anyone will care about xHCI on MIPS?  Jesse
> Barnes mentioned there was a patchset floating around to add this
> functionality to x86.

"Add support for multiple MSI on x86":
http://thread.gmane.org/gmane.linux.kernel/1099522

> Until that patchset gets merged,

To quote tglx:
| Sigh, this whole thing is total clusterf*ck.
| 
| The main horror is definitely not your fault. MSI is just broken.
| [...]
| We can't do multivector MSI in a sensible way on x86.

and:
| 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 :)


Regards,
Clemens
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux