Re: [PATCH] Convert tlbstate_lock spin_lock to raw_spin_lock

From: Steven Rostedt
Date: Mon Sep 08 2008 - 11:04:44 EST



[ Refrain from using "unlisted-recipients" please! ]


On Mon, 8 Sep 2008, Sujit Karataparambil wrote:

> Chirag,
>
> Kindly understand what xavier is trying to do. He is Trying to disable smp.
> The RT - Linux Code is dependent on the mutex lock to perform some
> soft/hard real time processing. This is an problem with the mutex lock.

It is not a problem with the mutex lock.

>
> Kindly check with some one before signing off patches.

The patch is legit.

The problem is simply that functions like flush_tlb_current_task and
flush_tlb_mm disable preemption and then call flush_tlb_others.
This function locks the tlbstate_lock which is currently a rtmutex. An
rtmutex can not be called with preemption disabled. The tlbstate_lock is
static, small and confined. I'm not sure we can change this code (flushing
the TLB) in a way where we can allow preemption. This may just be a
latency that we must hit.

-- Steve
--
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/