[Lustre-discuss] Lustre clients: SLERT 10 support ?

Johann Lombardi johann at sun.com
Fri May 30 04:10:18 PDT 2008


On Thu, May 29, 2008 at 12:35:15PM -0400, Brian J. Murrell wrote:
> > when trying to build the lustre client kernel modules configure aborts with 
> > the message "configure: error: Lustre does not support kernels with preempt 
> > enabled."
> > 
> > I'm using kernel 2.6.22.19-0.12-rt with CONFIG_PREEMPT_RT as provided by SLERT 
> > 10.
> > 
> > Is there a quick solution to this issue ?
> 
> Not really.  Maybe somebody with more knowledge about why we don't like
> CONFIG_PREEMPT_RT on the client can explain, but as far as addressing

With CONFIG_PREEMPT_RT enabled, critical sections protected by standard
spinlocks (i.e. spinlock_t/rwlock_t) become preemptible.
This has several drawbacks and is not at all a harmless change for us.
For instance, since you can now block while acquiring a spinlock, we are no
longer allowed to acquire a spinlock with interrupts disabled.
It is still possible to define non-preemptible sections by using raw_spinlock_t
instead of spinlock_t, but Lustre doesn't support this currently and just
replacing spinlock_t by raw_spinlock_t everywhere in the code would probably
defeat the purpose of CONFIG_PREEMPT_RT (i.e. hard realtime).

Johann



More information about the lustre-discuss mailing list