Re: [PATCH] blktrace: Fix potentail deadlock between delete & sysfs ops

From: Steven Rostedt
Date: Wed Aug 16 2017 - 14:17:58 EST


On Wed, 16 Aug 2017 14:14:36 -0400
Waiman Long <longman@xxxxxxxxxx> wrote:

> > You also just turned the mutex into a spinlock. What happens if we just
> > preempted the owner of bdev->bd_mutex and are an RT task with higher
> > priority? This will turn into a live lock.
> >
> >> + schedule();
> >> + }
> >>
>
> That is OK because I used schedule() instead of cpu_relax() for
> inserting delay.

Please explain to me how that is OK? schedule is a nop if the current
task is the highest priority task running, and it preempted the owner
of the lock. Nothing will actually schedule.

-- Steve