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 B6E6BC433F5 for ; Fri, 4 Feb 2022 19:00:09 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4AA366B0072; Fri, 4 Feb 2022 14:00:09 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 432C46B0073; Fri, 4 Feb 2022 14:00:09 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2AD416B0074; Fri, 4 Feb 2022 14:00:09 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0020.hostedemail.com [216.40.44.20]) by kanga.kvack.org (Postfix) with ESMTP id 18D1D6B0072 for ; Fri, 4 Feb 2022 14:00:09 -0500 (EST) Received: from smtpin20.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay05.hostedemail.com (Postfix) with ESMTP id BEC9718195407 for ; Fri, 4 Feb 2022 19:00:08 +0000 (UTC) X-FDA: 79106012496.20.73FEBB9 Received: from smtp-relay-internal-1.canonical.com (smtp-relay-internal-1.canonical.com [185.125.188.123]) by imf16.hostedemail.com (Postfix) with ESMTP id 51491180007 for ; Fri, 4 Feb 2022 19:00:08 +0000 (UTC) Received: from mail-pl1-f200.google.com (mail-pl1-f200.google.com [209.85.214.200]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-internal-1.canonical.com (Postfix) with ESMTPS id 231E23F1F0 for ; Fri, 4 Feb 2022 19:00:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1644001207; bh=dsp7mzZUkzpXvj/wXApzigKpljtQL8jF7c8eXlwLYTU=; h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=qcQrgh22xMzksVMYubdWZqe6T2zM1+gytfsrukqeFKqWU53Mewvc/8Lq4uuReAH59 abTlkGflWA0cVFkICk2RSLZltjpbngtJfq6dUJFPxaeuYEh2xj7wIF+9zoEcfuWDXV ubLeFTGEhBZ3UgiqbwtPQAMlEeUmKxLrUHJaYsygZDecIgMSBPSpPmPjQGVLlvqpbv Q6h27Ciqu9OMB+CjpB/aOf/BvyM5aP9OMs5X2G4/qwrrce5czcmvEfJQ2mltWbP0JN /cUkJ3jxc4kFgA+81pvpQkAe59uwnHB0XDy6cyr6EWqTQOzZOaf0GejzT2VkRTSBY3 GEr0AWiB5xyvg== Received: by mail-pl1-f200.google.com with SMTP id b5-20020a1709027e0500b0014ca986e6d8so3538495plm.13 for ; Fri, 04 Feb 2022 11:00:07 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=dsp7mzZUkzpXvj/wXApzigKpljtQL8jF7c8eXlwLYTU=; b=mRivWtZXmKvt2FalEi0luylz/YVmeU5goe0V0dIXHnwAsfh+7O6OtsWTy8NNQdUYQm /YiYrowUs69s5trDM2ShporQAnZPIvrrtCJu4WHSwepwkzCl46RRRsQ6y/vntSb6BO8r CWBxYJGzXCP/UdbO75VpIZoeZwo2RDmGI7m0mjCV6zBnWHoOqrqD9k7Lvbh2qYMqbH26 EAejX3LElIkjP2M8f4t/MnHXG4I+aizh68xgYRBS4rO2+1s1Wou6F7TyYuMJx6V+fHcw FivnvqKwqO6CbsuCOP/q8K9YiZuzX2193ZjKjnBcS4r0PyL1TI3NUk+ExZZfvk6Tf9Md NDsw== X-Gm-Message-State: AOAM532lqKEVh15xt5HifclwLjEnKTRWrIxZomZevG8FkI3J9+HfXGzi 4qziMq5bx1jS/ZAbpFl6LaXrNbHv55MPHEqSE9SjmbSfwFR1vwe5gwsRkEOZRl9OieoLkCuE8mm 2fUWMEVVBtu0WYUCfdkQkpa3AI9ufeiyJnVMEXBZp6a3t X-Received: by 2002:a17:902:c412:: with SMTP id k18mr4696651plk.142.1644001205612; Fri, 04 Feb 2022 11:00:05 -0800 (PST) X-Google-Smtp-Source: ABdhPJwqwOfSwjLOPcO4DzI5QBtfMm3Dn7PcJAUBIXJ7TooDBhnF02yOVT4Kes+je9/DUQ+FVCPviR8n/QpUd1NPJgk= X-Received: by 2002:a17:902:c412:: with SMTP id k18mr4696591plk.142.1644001204980; Fri, 04 Feb 2022 11:00:04 -0800 (PST) MIME-Version: 1.0 References: <20220131230255.789059-1-mfo@canonical.com> In-Reply-To: From: Mauricio Faria de Oliveira Date: Fri, 4 Feb 2022 15:59:53 -0300 Message-ID: Subject: Re: [PATCH v3] mm: fix race between MADV_FREE reclaim and blkdev direct IO read To: John Hubbard Cc: Yu Zhao , Minchan Kim , "Huang, Ying" , Andrew Morton , Yang Shi , Miaohe Lin , Linux-MM , linux-block@vger.kernel.org Content-Type: text/plain; charset="UTF-8" X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: 51491180007 X-Stat-Signature: n6dcwqtr3g7pwjcxzmjeocy3kw3w43sk Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=canonical.com header.s=20210705 header.b=qcQrgh22; dmarc=pass (policy=none) header.from=canonical.com; spf=pass (imf16.hostedemail.com: domain of mauricio.oliveira@canonical.com designates 185.125.188.123 as permitted sender) smtp.mailfrom=mauricio.oliveira@canonical.com X-Rspam-User: nil X-HE-Tag: 1644001208-951336 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000156, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Fri, Feb 4, 2022 at 4:03 AM John Hubbard wrote: > > On 2/3/22 21:56, Yu Zhao wrote: > ... > >>> Got it. IIRC, get_user_pages() doesn't imply a write barrier. If so, > >>> there should be a smp_wmb() on the other side: > >> > >> If I understand it correctly, it actually implies a full memory > >> barrier, doesn't it? > >> > >> Because... gup_pte_range() (fast path) calls try_grab_compound_head(), > >> which eventually calls* atomic_add_unless(), an atomic conditional RMW > >> operation with return value, thus fully ordered on success (atomic_t.rst); > >> (on failure gup_pte_range() falls back to the slow path, below.) > >> > >> And follow_page_pte() (slow path) calls try_grab_page(), which also calls > >> into try_grab_compound_head(), as the above. > > Well, doing so was a mistake, actually. I've recently reverted it, via: > commit c36c04c2e132 ("Revert "mm/gup: small refactoring: simplify > try_grab_page()""). Details are in the commit log. > > Apologies for the confusion that this may have created. No worries; thanks for the pointers / commit log. > > thanks, > -- > John Hubbard > NVIDIA > [...] -- Mauricio Faria de Oliveira