From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752241AbdLATBI (ORCPT ); Fri, 1 Dec 2017 14:01:08 -0500 Received: from mx0a-00190b01.pphosted.com ([67.231.149.131]:48904 "EHLO mx0a-00190b01.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751278AbdLATBH (ORCPT ); Fri, 1 Dec 2017 14:01:07 -0500 Subject: Re: waitqueue lockdep annotation To: Christoph Hellwig Cc: Andrew Morton , Ingo Molnar , Peter Zijlstra , Al Viro , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org References: <20171130142037.19339-1-hch@lst.de> <20171130125050.1faba3f06fc572846f792f17@linux-foundation.org> <20171130221126.GA31795@lst.de> <21c34413-d178-fda0-91b2-6ab02c6d5a06@akamai.com> <20171201171102.GA20072@lst.de> From: Jason Baron Message-ID: <57869c0c-764c-ff99-93cd-8020f8ceea9e@akamai.com> Date: Fri, 1 Dec 2017 14:00:33 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: <20171201171102.GA20072@lst.de> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2017-12-01_05:,, signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=0 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1709140000 definitions=main-1712010221 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2017-12-01_05:,, signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1011 lowpriorityscore=0 impostorscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1709140000 definitions=main-1712010221 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 12/01/2017 12:11 PM, Christoph Hellwig wrote: > On Thu, Nov 30, 2017 at 05:18:07PM -0500, Jason Baron wrote: >> Yes, but for those cases it uses the ep->poll_wait waitqueue not the >> ep->wq, which is guarded by the ep->wq->lock. > > True. So it looks like we have one waitqueue in the system that is > special in providing its own synchronization for waitqueues while > entirely ignoring the waitqueue code documentation that states that > waitqueues are internally synchronized. > > We could drop the lockdep annotation, updated the documentation and > not add any validation of the assumptions, or just make epoll fit the > scheme used by everyone else. So either we can drop these patches, or > I need to fix up more of the epoll code. > You could leave the annotation and do something like: s/ep->lock/ep->wq->lock. And then that would remove the ep->lock saving a bit of space. Thanks, -Jason