Re: LOCKDEP: 3.9-rc1: mount.nfs/4272 still has locks held!

From: Ming Lei
Date: Mon Mar 04 2013 - 09:40:16 EST


On Mon, Mar 4, 2013 at 10:14 PM, Myklebust, Trond
<Trond.Myklebust@xxxxxxxxxx> wrote:
> On Mon, 2013-03-04 at 21:57 +0800, Ming Lei wrote:
>> Hi,
>>
>> The below warning can be triggered each time when mount.nfs is
>> running on 3.9-rc1.
>>
>> Not sure if freezable_schedule() inside rpc_wait_bit_killable should
>> be changed to schedule() since nfs_clid_init_mutex is held in the path.
>
> Cc:ing Jeff, who added freezable_schedule(), and applied it to
> rpc_wait_bit_killable.
>
> So this is occurring when the kernel enters the freeze state?

No, but the situation can really be triggered in freeze case, so
lockdep forecasts the problem correctly, :-)

> Why does it occur only with nfs_clid_init_mutex, and not with all the
> other mutexes that we hold across RPC calls? We hold inode->i_mutex
> across RPC calls all the time when doing renames, unlinks, file
> creation,...

At least in the mount.nfs context, only nfs_clid_init_mutex is held.

IMO, if locks might be held in the path, it isn't wise to call
freezable_schedule
inside rpc_wait_bit_killable().

Thanks,
--
Ming Lei
--
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/