Port-arm archive

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

Re: [PATCH] Disable fast softints on OMAP (was Re: Status of current on ARM? )



Mikko Rapeli wrote:
> On Fri, Nov 14, 2008 at 09:06:00AM +0000, Chris Gilbert wrote:
>> I'd say we'd be better finding out why FAST_SOFTINTS isn't fast :)  In
>> theory it should be.  The fact it isn't suggests something is broken
>> somewhere (perhaps not clearing a flag somewhere...)
> 
> In theory yes, but since this has been enabled and affecting OMAP since early
> August, I'd rather see a workaround applied to OMAP now. Any fixes to
> fast softints can easily be tested out when they become available.

hmm, I think there's a bug with cpu_dosoftints.  Looking at it, it's
called from the end of the pic interrupt processing, where the
intr_depth will be > 0

Yet it blocks being called with an interrupt depth != 0:
http://fxr.watson.org/fxr/source/arch/arm/include/cpu.h?v=NETBSD#L319

I believe it'll always be called with an interrupt depth of at least 1.

I'm wondering if soft ints even run.

There also appears to be a risk that you can recursively call
cpu_dosoftints (as it eventually calls softint_execute, which calls
splx, which calls pic_pending_ints, which then call cpu_dosoftints
again) as well, which could only be asking for trouble.

I'm wondering if a seperate ci_softints_active flag is needed...

Thanks,
Chris



Home | Main Index | Thread Index | Old Index