Re: OFD locks and deadlock detection

From: Michael Kerrisk (man-pages)
Date: Mon May 19 2014 - 14:36:55 EST


On 05/19/2014 04:28 PM, Jeff Layton wrote:
> On Mon, 19 May 2014 15:18:13 +0200
> "Michael Kerrisk (man-pages)" <mtk.manpages@xxxxxxxxx> wrote:
>
>> Hi Jeff,
>>
>> I just happened to notice :
>>
>> commit 57b65325fe34ec4c917bc4e555144b4a94d9e1f7
>> Author: Jeff Layton <jlayton@xxxxxxxxxx>
>> Date: Mon Feb 3 12:13:09 2014 -0500
>>
>> locks: skip deadlock detection on FL_FILE_PVT locks
>>
>> And then this thread:
>>
>> http://thread.gmane.org/gmane.linux.file-systems/81318/focus=81327
>> From: Jeff Layton <jlayton <at> redhat.com>
>> Subject: [PATCH v5 13/14] locks: skip deadlock detection on FL_FILE_PVT locks
>> Date: 2014-01-09 14:19:46 GMT
>>
>> I think it's pretty important to document that. All implementations
>> of traditional process-associated (.k.a. "POSIX") locks that I've ever
>> come across do detect deadlocks, so it's important to note that OFD locks
>> do not.
>>
>> I plan to add the following text to the fcntl(2) page:
>>
>> [[
>> In the current implementation,
>> no deadlock detection is performed for open file description locks.
>> (This contrasts with process-associated record locks,
>> for which the kernel does perform deadlock detection.)
>> ]]
>>
>> Okay?
>>
>> cheers,
>>
>> Michael
>>
>>
>
> (note: I'm no longer with Red Hat, so jlayton@xxxxxxxxxx no longer works)

Ahh -- okay. Caches cleared.

> Sounds fine to me.

Okay.

> FWIW, the deadlock detection for process-associated record locks is
> pretty worthless except in certain narrow circumstances.

Can you say some more about that, please? Maybe there's something
worth putting into the man page. (Are there cases where deadlocks
are not detected?)

> At some point, we probably should have a discussion as to whether
> deadlock detection is really something we want to keep. The current
> implementation requires a global spinlock which has obvious
> consequences for scalability.

Could be tricky. I wonder if there's code out there that depends
on deadlock detection.

Cheers,

Michael

--
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/
--
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/