Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp15831943rwd; Mon, 26 Jun 2023 01:49:27 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ55JCoAG3XCn76J64ogAhMkBfAmyc2h4gUvNsfrdMLJLvS3YLMY8n/G/JoE+YQNsYMHLqLX X-Received: by 2002:a17:903:32d0:b0:1b1:b2fa:1903 with SMTP id i16-20020a17090332d000b001b1b2fa1903mr2672207plr.41.1687769367089; Mon, 26 Jun 2023 01:49:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1687769367; cv=none; d=google.com; s=arc-20160816; b=UlX/FE+WYqq3JJ0xit7ETnF3FY6bBlu+KWYv7zLzw3OOb8x5e5UOy6F1NPoc4Hit7x Oayjgo7nomi7w0tHE8PIjTRxbGruComOPtE8xTJIlWth1WCWzyWz5/QZjtram4tQ94G3 DOg+OmUYkEUEIorZlYOHblTgEKKY91pL/7B/4AAc96nXrJNenF9xxOF6nNbp9O7yA6x4 TGbCQsT4VmH8rvGHAVbAHHei7TR9/KTK39jSHYeY9FyVcjvv+ZGASZhRRnHcJv64aHZI /t7JFXPYDRh2vAN7HAsPRySegOwblmtuo1KCljM1h8BVAILZbSHQ2kzlVjdrFdBV6n2R e9Wg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-transfer-encoding :content-disposition:mime-version:references:message-id:subject:cc :to:from:dkim-signature:dkim-signature:date; bh=ieJMa1dJGSeBQ+5q42kvQ0aAwTr385DfbQKxpY80eJY=; fh=dIj5EGI4W0DBYU7jZVmlofn4YbVR6quhcfm2FSZqMHI=; b=A5dJGleGtD3bPXCiyuzB6laEd5YJqRxTPhqkO6Hf4l7q6GBjF2LGszhhi7TydITQKV wLF/Cvx7WdurUx88VBjnH/dG6e7qrCGS2f2BCakPBUaHBJV4y2KCps0hu79CFzCN8yPP cLiwUzy2OACCik09mbrDawgg6ZG6ezEux/YwermMmcZaA57BjS+QYBHiC0UN5QcHsYX8 Ww+A6V1NYp1QBMOe7+AR+bI/HOI+tDLiOCJ/+ILFLIdMvlNCoLpUDuzkw4fAfbsi7tBb fVbEdAd51BMlHWef/yA26nRmqOVk/f3f9l+8b4jvUPizLLQ7moBwbJHkEJ5gagi6DfQo PhIg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=IgG+lBKQ; dkim=neutral (no key) header.i=@linutronix.de; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id io23-20020a17090312d700b0019f25dae4f5si4479097plb.198.2023.06.26.01.49.15; Mon, 26 Jun 2023 01:49:27 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=IgG+lBKQ; dkim=neutral (no key) header.i=@linutronix.de; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229631AbjFZINV (ORCPT + 99 others); Mon, 26 Jun 2023 04:13:21 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53448 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229790AbjFZINS (ORCPT ); Mon, 26 Jun 2023 04:13:18 -0400 Received: from galois.linutronix.de (Galois.linutronix.de [IPv6:2a0a:51c0:0:12e:550::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0FB5A10E7 for ; Mon, 26 Jun 2023 01:12:59 -0700 (PDT) Date: Mon, 26 Jun 2023 10:12:54 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1687767176; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=ieJMa1dJGSeBQ+5q42kvQ0aAwTr385DfbQKxpY80eJY=; b=IgG+lBKQBgg9H8LdKmQ8ypTwQqagxrKjxmmRdAW8dlqjmExvsJ7u6Rn9HiUDllJJ5hez9Q M85Kbzb9hu8kmT5rYmioCqBTqiWQJ+E+e6z+AFBPbxl71X0T6HsYz911uizKvWak5XbMZT 3ndKHvticc/yMbZsBTGbhapUxnznG6Jq8+fNSZKVx8pcB4SxleIZfJddGVvl3T6wld6V5e ktpQx1ib0ydwYFUzvkyrwFFuggu3cNUffpsweJoUJLT9C3WhrxWue5hh3FmpmN5iDp1som t2CDRc+NC1kRlDCrYTbSi1FwYWTYw0tDAKhnPJdd1KDv4LoJpIhRpDyvuCjYtQ== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1687767176; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=ieJMa1dJGSeBQ+5q42kvQ0aAwTr385DfbQKxpY80eJY=; b=imivjTsUAOGZ3TGDtu6GA8nDyVCkx2kGtQLzCLhB+1IN2eYad2VW4HiTO+RfnyH6p3qQl6 aRurbMNxTP5jbIAw== From: Sebastian Andrzej Siewior To: Tetsuo Handa Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Luis Claudio R. Goncalves" , Andrew Morton , Boqun Feng , Ingo Molnar , John Ogness , Mel Gorman , Michal Hocko , Peter Zijlstra , Petr Mladek , Thomas Gleixner , Waiman Long , Will Deacon Subject: Re: [PATCH v2 1/2] seqlock: Do the lockdep annotation before locking in do_write_seqcount_begin_nested() Message-ID: <20230626081254.XmorFrhs@linutronix.de> References: <20230623171232.892937-1-bigeasy@linutronix.de> <20230623171232.892937-2-bigeasy@linutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable In-Reply-To: X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2023-06-24 15:54:12 [+0900], Tetsuo Handa wrote: > Why not to do the same on the end side? >=20 > static inline void do_write_seqcount_end(seqcount_t *s) > { > - seqcount_release(&s->dep_map, _RET_IP_); > do_raw_write_seqcount_end(s); > + seqcount_release(&s->dep_map, _RET_IP_); > } I don't have a compelling argument for doing it. It is probably better to release the lock from lockdep's point of view and then really release it (so it can't be acquired before it is released). Looking at other locking primitives (spin_lock_unlock(), mutex_unlock(),=E2=80=A6) that is what they do in the unlock path: lockdep annotation followed by the actual operation. Therefore I would keep the current ordering to remain in-sync with the other primitives. Sebastian