[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.LFD.2.00.1102211200270.2701@localhost6.localdomain6>
Date: Mon, 21 Feb 2011 12:02:33 +0100 (CET)
From: Thomas Gleixner <tglx@...utronix.de>
To: KY Srinivasan <kys@...rosoft.com>
cc: "gregkh@...e.de" <gregkh@...e.de>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"devel@...uxdriverproject.org" <devel@...uxdriverproject.org>,
"virtualization@...ts.osdl.org" <virtualization@...ts.osdl.org>,
Haiyang Zhang <haiyangz@...rosoft.com>,
Hank Janssen <hjanssen@...rosoft.com>
Subject: RE: [PATCH]: Staging: hv: Allocate the vmbus irq dynamically
On Mon, 21 Feb 2011, KY Srinivasan wrote:
> > > Like most virtualization platforms, Hyper-V also emulates the full PC
> > > platform. So, it is possible that the driver of some other emulated
> > > devices might register for the IRQ line we might have selected. That
> > > is the race this code addresses. For performance reasons, we want
> > > both storage and network traffic to go over the PV drivers.
> >
> > So in case your driver gets the interrupt line first, which the other
> > driver wants to acquire as well, then what? Do you want to do that
> > probe magic in the other driver as well? What if this is a regular
> > device driver which gets its irq number from ACPI/PCI or
> > whatever. Then that driver simply wont work as it's interrupt line is
> > busy.
> >
> > > >
> > > > I don't know why the previous reviewer wanted to have that
> > > > dynamic. That just does not make sense to me.
> > >
> > > Prior to this patch, we had a hard coded interrupt line for use by
> > > this driver. If that line was already in use, the load of this driver
> > > would fail. This would be a fatal issue especially for distributions
> > > that have embedded these PV drivers as part of their installation
> > > media. This patch deals with such collisions in a more graceful way -
> > > we would not bail until we have scanned all low interrupt lines.
> >
> > So you trade breaking the PV stuff against breaking random other
> > drivers? That doesn't sound like a brilliant idea.
> >
> > There are various ways to solve that proper.
> >
> > - You can provide the interrupt number from ACPI/PCI or whatever your HV
> > provides as enumeration.
> >
> > - Use a fixed vector like XEN does for the event channel
> >
> > - Use dynamic allocation in the IOAPIC space like the kernel does for
> > MSI(-X)
> >
> > Thanks,
> >
> > tglx
>
> I am not claiming that what I have done here is the best possible solution.
> However, I will submit to you that it is better than what we had here
> prior to this patch. I will address this and a whole lot of other issues
> in future patches.
No, it's _NOT_ better in any way. You trade breaking your PV thing
against breaking random other drivers. Care to explain why you think
that's better ?
Thanks,
tglx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists