Re: [RFC][PATCH 11/13] fs/locks: Replace lg_local with a per-cpu spinlock

From: Oleg Nesterov
Date: Mon Jun 22 2015 - 20:21:25 EST


Off-topic question,

On 06/22, Peter Zijlstra wrote:
>
> @@ -2650,9 +2660,8 @@ static void *locks_start(struct seq_file
>
> iter->li_pos = *pos + 1;
> percpu_down_write(&file_rwsem);
> - lg_global_lock(&file_lock_lglock);
> spin_lock(&blocked_lock_lock);
> - return seq_hlist_start_percpu(&file_lock_list, &iter->li_cpu, *pos);
> + return seq_hlist_start_percpu(&file_lock_list.hlist, &iter->li_cpu, *pos);
> }

...

> static void locks_stop(struct seq_file *f, void *v)
> __releases(&blocked_lock_lock)
> {
> spin_unlock(&blocked_lock_lock);

With or without this patch, why locks_start/locks_stop need to take/drop
blocked_lock_lock ?

Oleg.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
Please read the FAQ at http://www.tux.org/lkml/