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 X-Spam-Level: X-Spam-Status: No, score=-5.2 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2D867C5519F for ; Wed, 18 Nov 2020 05:17:06 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id D2EDD24655 for ; Wed, 18 Nov 2020 05:17:05 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726348AbgKRFQx (ORCPT ); Wed, 18 Nov 2020 00:16:53 -0500 Received: from mx2.suse.de ([195.135.220.15]:48882 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726223AbgKRFQx (ORCPT ); Wed, 18 Nov 2020 00:16:53 -0500 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id E22DBABDE; Wed, 18 Nov 2020 05:16:51 +0000 (UTC) Date: Tue, 17 Nov 2020 20:53:45 -0800 From: Davidlohr Bueso To: Waiman Long Cc: Peter Zijlstra , Ingo Molnar , Will Deacon , linux-kernel@vger.kernel.org, Phil Auld Subject: Re: [PATCH 4/5] locking/rwsem: Wake up all waiting readers if RWSEM_WAKE_READ_OWNED Message-ID: <20201118045345.hpw2fjmd247xpnwl@linux-p48b.lan> References: <20201118030429.23017-1-longman@redhat.com> <20201118030429.23017-5-longman@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Disposition: inline In-Reply-To: <20201118030429.23017-5-longman@redhat.com> User-Agent: NeoMutt/20180716 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 17 Nov 2020, Waiman Long wrote: >The rwsem wakeup logic has been modified by commit d3681e269fff >("locking/rwsem: Wake up almost all readers in wait queue") to wake up >all readers in the wait queue if the first waiter is a reader. In the >case of RWSEM_WAKE_READ_OWNED, not all readers can be woken up if the >first waiter happens to be a writer. Complete the logic by waking up >all readers even for this case. While rwsems are certainly not fifo, I'm concerned this would give too much priority to the readers by having the reader owned lock just skip over the first waiter. And I'd say most users are more concerned about the writer side. Basically this would affect the phase-fair properties. Thanks, Davidlohr