From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 85CA1C433EF for ; Mon, 28 Mar 2022 14:19:04 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CFF938D0002; Mon, 28 Mar 2022 10:19:03 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C87DE8D0001; Mon, 28 Mar 2022 10:19:03 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B01B28D0002; Mon, 28 Mar 2022 10:19:03 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0214.hostedemail.com [216.40.44.214]) by kanga.kvack.org (Postfix) with ESMTP id 99C928D0001 for ; Mon, 28 Mar 2022 10:19:03 -0400 (EDT) Received: from smtpin29.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay05.hostedemail.com (Postfix) with ESMTP id 4F069181C9BBC for ; Mon, 28 Mar 2022 14:19:03 +0000 (UTC) X-FDA: 79294001766.29.C0A8F5F Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf03.hostedemail.com (Postfix) with ESMTP id C323020034 for ; Mon, 28 Mar 2022 14:19:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1648477142; 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=MdCC2vq9cPXJuSNaiMrLPgmXV59Q9f2WNHJtMSehXOA=; b=jE8Ab9w/nr0M+wzoBLuSpdsEP4i0h1UeLrWOPfHR0HMdYzavHhEsCdciVbGPx5GN9gUNeT ZwqkYBbTsycIgSFe6I0IoghkwltwgI/4vK/eRkl7NxTyTPQSi+mLCjr8iEyXjJ2CVeIqUz Tnp4g7NI/kZ/sz/dt3Hm3OFESfPPL6g= Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-383-jfqS2dmKM0SGOiGo8mikIQ-1; Mon, 28 Mar 2022 10:19:01 -0400 X-MC-Unique: jfqS2dmKM0SGOiGo8mikIQ-1 Received: by mail-wm1-f71.google.com with SMTP id v62-20020a1cac41000000b0038cfe6edf3fso2115179wme.5 for ; Mon, 28 Mar 2022 07:19:00 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:organization:in-reply-to :content-transfer-encoding; bh=MdCC2vq9cPXJuSNaiMrLPgmXV59Q9f2WNHJtMSehXOA=; b=nPUR+f3f3MZDDRKIt5xpw1dkT4b31I8yjbq1juMs2CsV0+pqRmweSD6EQrGN3m5HuL PWgYsPppVIV/K4TC9aljisB8dmezvd8WpUfAzSgym4aiZ8XffIRuxBCsUVQ/YpOr9AwI WOw9E51XRo6XC0mhYvuznhf9TAFq4OFS3W7MDKlGB+Ah40D+n7Dy9SnRp2xSW89OW3kZ iqJDjuo1irzZMNrMZhqksVQwkNcofleCKF2SBzDTqW89mKu8IZqIYZe2VrI+R279GFnb tRf5veXHIh3qMuydC/yzrDErP2SDUQ/EgRu2Y/fCRpypUXqineoLUSacWZzVv+eRPt38 l7lw== X-Gm-Message-State: AOAM531FJZtu8nMBa7wzi2arAxX4C8eSb19Nrk3AYDxZc6NAgYI4fJD+ jqXOPChDKX0s9oNdgSaPg/IgqD1yCMMpZNZ3I/b9insBThEjF7X0jYZLwLv5uv2d9f0L8zjDVt+ 2ngE3FoLWiWA= X-Received: by 2002:a05:6000:15c7:b0:205:87a2:87bc with SMTP id y7-20020a05600015c700b0020587a287bcmr23267028wry.260.1648477139906; Mon, 28 Mar 2022 07:18:59 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx8w6depzhTIUSmpGGv6Ed4U55mm4nqtTubVGFzw0jHjIXP1/XJspcPZTrwm3K2T94Ka0w6kQ== X-Received: by 2002:a05:6000:15c7:b0:205:87a2:87bc with SMTP id y7-20020a05600015c700b0020587a287bcmr23267009wry.260.1648477139677; Mon, 28 Mar 2022 07:18:59 -0700 (PDT) Received: from ?IPV6:2003:cb:c704:2200:50d1:ff5c:5927:203a? (p200300cbc704220050d1ff5c5927203a.dip0.t-ipconnect.de. [2003:cb:c704:2200:50d1:ff5c:5927:203a]) by smtp.gmail.com with ESMTPSA id u11-20020a056000038b00b00203e5c9aa09sm18374118wrf.27.2022.03.28.07.18.58 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 28 Mar 2022 07:18:58 -0700 (PDT) Message-ID: <02f50037-46ce-ec08-63cb-e855694e69a5@redhat.com> Date: Mon, 28 Mar 2022 16:18:57 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.6.2 Subject: Re: [RFC] locking/rwsem: dont wake up wwaiter in case of lock holder To: Hillf Danton , Waiman Long Cc: Peter Zijlstra , MM , LKML References: <20220326134059.4082-1-hdanton@sina.com> From: David Hildenbrand Organization: Red Hat In-Reply-To: <20220326134059.4082-1-hdanton@sina.com> X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: C323020034 X-Rspam-User: Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b="jE8Ab9w/"; dmarc=pass (policy=none) header.from=redhat.com; spf=none (imf03.hostedemail.com: domain of david@redhat.com has no SPF policy when checking 170.10.129.124) smtp.mailfrom=david@redhat.com X-Stat-Signature: 7ops5nbdznsghzzcpn9o5yc34uep5naf X-HE-Tag: 1648477142-157575 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On 26.03.22 14:40, Hillf Danton wrote: > In the slowpath of down for write, we bail out in case of signal received and > try to wake up any pending waiter but it makes no sense to wake up a write > waiter given any lock holder, either write or read. But is handling this better really worth additional code and runtime checks? IOW, does this happen often enough that we actually care about optimizing this? I have no idea :) > > The RFC is do nothing for wwaiter if any lock holder present - they will fill > their duty at lock release time. > > Only for thoughts now. > > Hillf > > --- x/kernel/locking/rwsem.c > +++ y/kernel/locking/rwsem.c > @@ -418,6 +418,8 @@ static void rwsem_mark_wake(struct rw_se > waiter = rwsem_first_waiter(sem); > > if (waiter->type == RWSEM_WAITING_FOR_WRITE) { > + if (RWSEM_LOCK_MASK & atomic_long_read(&sem->count)) > + return; > if (wake_type == RWSEM_WAKE_ANY) { > /* > * Mark writer at the front of the queue for wakeup. > -- > -- Thanks, David / dhildenb