Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp670024pxk; Thu, 17 Sep 2020 12:55:19 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzOr+LGtgxB6Hm10hZSQyQS8qCaLYuoDjT0VKbmJHc4I99SsRAG0k37HVrxquPc5ihUiH50 X-Received: by 2002:aa7:c053:: with SMTP id k19mr34276033edo.326.1600372519229; Thu, 17 Sep 2020 12:55:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1600372519; cv=none; d=google.com; s=arc-20160816; b=RWEn5incOxsBzBUz+ubXNqYPZxk97mRPO/zYYCrd87x67TuhEhkvN1xBG6l6BefOGf 51J+LHFiVfPUTwl2sEfjlCEkW1HknkkXgarr8sn+FTT9fekyE34wsZKNhki7oKWqVEF4 WT8CBC/EBqjSNRGojNCbhgrxkGHgHJz4yHbzqUe9O5gcs08JcGjgb0Y203mdOvxrwTXd 3dCxUwqBtyx0GnD/NIXx1iOxUVIjJk9noJO72HROXqmYafBrPtq15yG8CLcgTaYx1gAY 99mB+Qc17hZVM/wFrMX6zgxDibaMFecswE2V6gurHnDloyJFER4g9Zek6gtr+ONVbKhy /HSQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject:dkim-signature; bh=vn8Ib8aYTFIxxqTycEHlG/ghKTkhckew2Lqu7O8X6Rs=; b=ryA/w/nbh8biA2/mwyJfAQDgLWvwBYsX7iOfeg19IlZygzzli01hEkbbH6pbsW4Q5X UA2CYqZ+JCC/T9LlSXpnC0QiCB9TZu/toElVdq0UAF8PKa4ZNOvLFz9PcWwLh2gfYP+w 6c90fbCf4R6GokU9DJ+r/v5Gpk2ozcucnSijRs+pzQv5kNjUjv2chCygTVBuNQ8Th4Di W7DipGWXhPHY3RYUgaCuL6vFRaP/UHCMHQpj15gvWkipK2E1tk3ChP+Y+pciyPz0e/pC 9ldmOGeTUmZYtqYJsTADZ9BPmNFmCE26o8VA1BLbUe+g6Yk8FJmMXjgVkVxvuIRjbJQZ 35Qg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@plexistor-com.20150623.gappssmtp.com header.s=20150623 header.b=2I8GLAgg; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id w24si670188ejq.224.2020.09.17.12.54.56; Thu, 17 Sep 2020 12:55:19 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@plexistor-com.20150623.gappssmtp.com header.s=20150623 header.b=2I8GLAgg; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726756AbgIQNyT (ORCPT + 99 others); Thu, 17 Sep 2020 09:54:19 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53166 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726988AbgIQNxu (ORCPT ); Thu, 17 Sep 2020 09:53:50 -0400 Received: from mail-ej1-x641.google.com (mail-ej1-x641.google.com [IPv6:2a00:1450:4864:20::641]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E2F72C06121F for ; Thu, 17 Sep 2020 06:46:42 -0700 (PDT) Received: by mail-ej1-x641.google.com with SMTP id lo4so3350472ejb.8 for ; Thu, 17 Sep 2020 06:46:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=plexistor-com.20150623.gappssmtp.com; s=20150623; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=vn8Ib8aYTFIxxqTycEHlG/ghKTkhckew2Lqu7O8X6Rs=; b=2I8GLAggHCEfndqwRmqt6x9A4uf6YSTFBgDaUxJ98/fF1Of0hW1Hn3Y0XgE5bbIH2X wSsUcP8tLlvbw98s2+9sd5rV1UQKg1UQ9ANndPUHHAZ9WcYBfkYFwfTJwY3yiBFSMVxX B46Cjm13oovsckeJ47Cv3IjeGdJz1+OzXVso6+sng5gjggxC0id2th69lYQ22dICwm/a +HWTYQRWEcAlCjSY5/gsyh0biMRT6SdYy+t/Rin2dcgW4q95wHZqZFeXKWB7E6C3+nb5 Xz1FnwnJ97bXkJVYF2r6iQhqX8YSGywxolWfg4I0ol86+Vwh/NMVeKKvqK6kyFaEG3uK h32w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=vn8Ib8aYTFIxxqTycEHlG/ghKTkhckew2Lqu7O8X6Rs=; b=D3YnpiM0emhYiLXKNGgEycncUxLDiCrXP9+b4SQVCFOOBoNmahzKKO4tBwkQ2wWJjN 8DE8+Y885o72WWcrjn/rrXQy/LyI2xIw5Fp2GoXJ5wzLOKJ0pgcIe468qpLeSmqJpnZG yTCj8gyJ9Nv6eQ6CiVi/2xzur+iNrLeexpEcAkQXXV/aEOwV+pirbt3byRMJpw0mL3QQ Hq2F+iOhAYCK3Ux4HwztXCbXtTH1mnLNKYHwL8sZiJcmOp7YyXqsai/pyzQSwLod5cpR HMaVDDq3aMjCBn5PazHryPJNWylkvYoB+/3jzgBZbqDqRL2lBmwntcIWL1KolcNyawmw dNeA== X-Gm-Message-State: AOAM5331r0fApBs6RFNth6FAUFvAp9VorVXZuI9xD3SSivFJdW/MT4/T B5iCpCiDfvRMAMFir1mQsUoyEg== X-Received: by 2002:a17:906:9346:: with SMTP id p6mr29979581ejw.305.1600350401578; Thu, 17 Sep 2020 06:46:41 -0700 (PDT) Received: from [192.168.88.231] ([45.139.212.114]) by smtp.gmail.com with ESMTPSA id f13sm15496884ejb.81.2020.09.17.06.46.39 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 17 Sep 2020 06:46:40 -0700 (PDT) Subject: Re: [RFC PATCH] locking/percpu-rwsem: use this_cpu_{inc|dec}() for read_count To: Matthew Wilcox , Oleg Nesterov Cc: Hou Tao , peterz@infradead.org, Ingo Molnar , Will Deacon , Dennis Zhou , Tejun Heo , Christoph Lameter , linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, Jan Kara References: <20200915140750.137881-1-houtao1@huawei.com> <20200915150610.GC2674@hirez.programming.kicks-ass.net> <20200915153113.GA6881@redhat.com> <20200915155150.GD2674@hirez.programming.kicks-ass.net> <20200915160344.GH35926@hirez.programming.kicks-ass.net> <20200917120132.GA5602@redhat.com> <20200917124838.GT5449@casper.infradead.org> From: Boaz Harrosh Message-ID: Date: Thu, 17 Sep 2020 16:46:38 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.5.0 MIME-Version: 1.0 In-Reply-To: <20200917124838.GT5449@casper.infradead.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 17/09/2020 15:48, Matthew Wilcox wrote: > On Thu, Sep 17, 2020 at 02:01:33PM +0200, Oleg Nesterov wrote: <> > > If we change bio_endio to invoke the ->bi_end_io callbacks in softirq > context instead of hardirq context, we can change the pagecache to take > BH-safe locks instead of IRQ-safe locks. I believe the only reason the > lock needs to be IRQ-safe is for the benefit of paths like: > From my totally subjective experience on the filesystem side (user of bio_endio) all HW block drivers I used including Nvme isci, sata... etc. end up calling bio_endio in softirq. The big exception to that is the vdX drivers under KVM. Which is very Ironic to me. I wish we could make all drivers be uniform in this regard. But maybe I'm just speaking crap. Its only from my limited debuging expirience. Thanks Boaz