lkml.org 
[lkml]   [2005]   [Jun]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: pci_enable_msi() for everyone?
    On Mon, Jun 06, 2005 at 03:59:54PM -0700, David S. Miller wrote:
    > From: Greg KH <gregkh@suse.de>
    > Date: Mon, 6 Jun 2005 15:55:49 -0700
    >
    > > Why would it matter? The driver shouldn't care if the interrupts come
    > > in via the standard interrupt way, or through MSI, right? And if it
    > > does, it could always use a function like the one I proposed to set up a
    > > different irq handler.
    >
    > It matters because MSI totally changes the DMA vs. interrupt delivery
    > guarentees.
    >
    > With MSI, you can be assured that any DMA sent from the device, before
    > the interrupt, has reached global visibility before the MSI arrives at
    > the cpu. There is no such guarentee with pre-MSI interrupt delivery.
    >
    > Drivers optimize this, so they have to know if MSI is being used or
    > not.

    Ok, I buy that argument, but currently for all of the drivers in the
    tree using MSI (all 7), only the tg3 driver does such an optimizaion
    (well, the mthca does some other MSI-X stuff too.) And I'm still saying
    that if you want to provide such a functionality, you can. The function
    to see if MSI is being used or not will be present, which drivers can
    call if they wish to to do such optimizations.

    So, the tg3 driver would need a small tweak, but the other drivers would
    get code removed from them...

    thanks,

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

    \
     
     \ /
      Last update: 2005-06-07 01:29    [W:4.056 / U:0.184 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site