lkml.org 
[lkml]   [2007]   [Dec]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH] IB/ehca: Serialize HCA-related hCalls on POWER5
    From
    Date
    Hi, guys,

    > We're taking this to the firmware architects at the moment, but they're
    not
    > very fond of the idea of reporting the absence of bugs through
    capability
    > flags, as this could quickly lead to the exhaustion of flag bits. We'll
    let
    > the discussion stew for a bit, but if we don't get this flag, we'll have
    to
    > resort to the CPU features.

    The architects have spoken, and we're getting a capability flag for this.
    I'll repost my patch with new autodetection code that doesn't involve
    checking the processor version.

    > > > Regarding the performance problem, have you checked whether
    converting all
    > > > your spin_lock_irqsave to spin_lock/spin_lock_irq improves your
    performance
    > > > on the older machines? Maybe it's already fast enough that way.
    > >
    > > It does seem that the only places that the hcall_lock is taken also
    > > use msleep, so they must always be in process context. So you can
    > > safely just use spin_lock(), right?
    >
    > As Arnd said, there are hCalls that will never return H_LONG_BUSY_*,
    such as
    > H_QUERY_PORT and chums, so they will never sleep. The surrounding
    functions,
    > though, are not prepared to be called from interrupt context (GFP_KERNEL
    comes
    > to mind), so I agree that a simple spin_lock() will suffice. Thanks,
    Arnd, for
    > pointing this out.

    As I pointed out in my earlier mail, there's still an issue with
    map_phys_fmr possibly sleeping. Let's keep the irqsave for the time being
    and revisit this part once we find a solution to map_phys_fmr.

    Regards,
    Joachim


    \
     
     \ /
      Last update: 2007-12-10 19:01    [W:0.025 / U:0.052 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site