Re: [PATCH, RFC] hacks to allow -rt to run kernbench on POWER

From: Paul E. McKenney
Date: Mon Oct 29 2007 - 16:26:39 EST


On Tue, Oct 30, 2007 at 07:07:48AM +1100, Benjamin Herrenschmidt wrote:
>
> On Mon, 2007-10-29 at 11:50 -0700, Paul E. McKenney wrote:
> > Hello!
> >
> > A few random patches that permit POWER to pass kernbench on -rt.
> > Many of these have more focus on expediency than care for correctness,
> > so might best be thought of as workarounds than as complete solutions.
> > There are still issues not addressed by this patch, including:
> >
> > o kmem_cache_alloc() from non-preemptible context during
> > bootup (xics_startup() building the irq_radix_revmap()).
> >
> > o unmap_vmas() freeing pages with preemption disabled.
> > Might be able to address this by linking the pages together,
> > then freeing them en masse after preemption has been re-enabled,
> > but there is likely a better approach.
> >
> > Thoughts?
>
> I see a lot of case where you add preempt_disable/enable around areas
> that have the PTE lock held...
>
> So in -rt, spin_lock doesn't disable preempt ? I'm a bit worried...
> there are some strong requirements that anything within that lock is not
> preempted, so zap_pte_ranges() is the obvious ones but all of them would
> need to be addressed.

Right in one! One of the big changes in -rt is that spinlock critical
sections (and RCU read-side critical sections, for that matter) are
preemptible under CONFIG_PREEMPT_RT.

And I agree that this patchset will have missed quite a few places where
additional changes are required. Hence the word "including" above, rather
than something like "specifically". ;-)

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