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 70D13EB64D9 for ; Fri, 30 Jun 2023 03:37:46 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id EF85F8D0002; Thu, 29 Jun 2023 23:37:45 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id EA8BF8D0001; Thu, 29 Jun 2023 23:37:45 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D96C28D0002; Thu, 29 Jun 2023 23:37:45 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id CC52F8D0001 for ; Thu, 29 Jun 2023 23:37:45 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 914C316073F for ; Fri, 30 Jun 2023 03:37:45 +0000 (UTC) X-FDA: 80958004890.06.46FA07C Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf23.hostedemail.com (Postfix) with ESMTP id 3A1D7140014 for ; Fri, 30 Jun 2023 03:37:42 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=UsFG2Pes; spf=none (imf23.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1688096264; a=rsa-sha256; cv=none; b=A5uaoEV5sslZL+vdNJ9EMWuuGtrKIoNTJQRo37Cy4bW6G4pJ8I19tTXffqs+j2FBmREoDs 7u2LI7csbM6NI9J27jphyR6AHAoTh8Kf6jIHNOcUo5QgLCaOL6JxZbMpjvqOQUzwMbW6+f 9ixFmoKYtLuP8nWzsStuelMvoUMkNQE= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=UsFG2Pes; spf=none (imf23.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1688096264; h=from:from:sender: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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=bswMGS2frlt2CVVIAt/a5yir/ypUK3FQA5KZM/7MXOU=; b=K7GA+/uFcxdRQL5IbIkU1vtad1aQMZPT2sixNZ/KKQJeS7oXgFfx/KTJyBxK78msGVgrzH B+23TR6BV0GczplvZAWrsakTpVsWLdKh/A3CESmvoEUwUCbRd+OVlPQwBMkckGqF5rje1O lXstfAwfFGz4AO4tZuainq2DgEE+LH4= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=bswMGS2frlt2CVVIAt/a5yir/ypUK3FQA5KZM/7MXOU=; b=UsFG2PesODzADKzUaCNSPhndkf 6YdolipT8DD30P07h37P8BR5PvdF9d4ajPCs63/FwRJEVJLrMcdR4faXfHxnpfdEIzLJB5zJugJqD sLY5X9JbPyhIySdCJjZv2Aivl0VNbSr2BJJdYtxryogJ3FKbku/Py+0ETifxWOgLKU7QNapLQb19W UhRYhDvVPsDBdHFNASIJx51gdKVL1HlHZIXNrNoIZDkKTjlD74wLknyA8rK5Krbj/2ZZocRlRh/X5 nTMoy6RN6lY57czZf62G1vZLOJT2raS9yAbw1BEwfYZpO/jiBbNGaPzgnatHT3PE1mF+0GTuhGE+K ygosgtKg==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1qF4w8-005OUd-R5; Fri, 30 Jun 2023 03:36:44 +0000 Date: Fri, 30 Jun 2023 04:36:44 +0100 From: Matthew Wilcox To: Suren Baghdasaryan Cc: akpm@linux-foundation.org, hannes@cmpxchg.org, mhocko@suse.com, josef@toxicpanda.com, jack@suse.cz, ldufour@linux.ibm.com, laurent.dufour@fr.ibm.com, michel@lespinasse.org, liam.howlett@oracle.com, jglisse@google.com, vbabka@suse.cz, minchan@google.com, dave@stgolabs.net, punit.agrawal@bytedance.com, lstoakes@gmail.com, hdanton@sina.com, apopple@nvidia.com, peterx@redhat.com, ying.huang@intel.com, david@redhat.com, yuzhao@google.com, dhowells@redhat.com, hughd@google.com, viro@zeniv.linux.org.uk, brauner@kernel.org, pasha.tatashin@soleen.com, linux-mm@kvack.org, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, kernel-team@android.com Subject: Re: [PATCH v6 4/6] mm: change folio_lock_or_retry to use vm_fault directly Message-ID: References: <20230630020436.1066016-1-surenb@google.com> <20230630020436.1066016-5-surenb@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230630020436.1066016-5-surenb@google.com> X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 3A1D7140014 X-Stat-Signature: 8rrzrcnp61fh964mzr1phbwmrd6fq6hm X-Rspam-User: X-HE-Tag: 1688096262-619084 X-HE-Meta: U2FsdGVkX1/4cfdaDB/PgPf3KBfam77sRpR/R43kH1Po7IkqpgWKpw5DgWxlfSuebY1jrZCwKsTEHX4ZVWsUI22jUKI0l5Nxpic0ZYiQfEtg6wypkDnlZxfwAmz+uPftg66B+EUltsFTg1CDqBX2uZpTA7c1boubsynt1zKCMJUK+lP9mpHxBO581ng76/8yY/kTMow7bqxuKYRn83FwVProHmGBjEc9JkI2rexZ8i5ZPdM0WJC70PWftgKh1Z7nwaDUMZJAH0zImybhdaqn6VN/NtCFiqlW4BjIYKrNUhyMvmf3WcgJl+SVOa7biv6yNDRAiV1KknBRj7ep8M+1t1YdtMdp3gvBtnuSbR6bWop28gcpfWCBi5PjlwUl6Vyzff0jZSqa8dcI5uesAMxYTdjZl7EYF9ZD1xnH6XcxTBciR+B09t2MgksaQbuWHAjYRhblMy3aoBHwcpMvLwRW0zg4raB/PhAR1Q3puDp+6eJvLASZ5lP9sIkcPIyB1aQK7RAamyQEIZV31y9kleKSP5Y/gPejfuyMMbnPJZWzA2cyeTuuXZsTXyqqsVEnn9vQDjS23nUum3J6ZVIJF2nTqSqQYWiaLZN9GNTs04ka25DeNUHt4HzpH/EEIumDzXcXJfpyAmRg48jj7aFZnsNm1igCWGvbajyTnK1dD6UPwk8QIRMHnpZWmQkg36i1FiozDdGruYLFPEQpe3dBO//Pb6vAlaZVX3uQMyBKMXVHPHaC84naXRxwxGpoAqe7bzW6GccChFdojg7rRZZog7Rry2JNQCIpPAUcllB1C8UhPq8lkWlQ51PyrYJtpbpKiku3QFmIxI/tPBpGNaIpytdE2fBNoK22c7JZqODbGMnemq0+s/HMOQkTiqLGW4JMP3CzBsEF2u3hVSuYsXYbDIRoedzEbISKnnSz6ZqyskClgc6m+ZPxQNHV3/b9olHzUmIivFFgfXa3hdweSZGvyLQ tNWyscIm RtauRgXAYN/iLUXX4EqdvAdt9Z1wmwl1s9/3Zorb0wnkt0bIu1lhll/e6mmjhcbN1IjEYoNe9gGPI+/0fXgvfL9c760fP9nGK2wORsHGbRkpcytDsIkpxFgKfaKQsLVp1cExhCvXxiPhydh2GmaGNZktjvPBHn7IqRYmbsLeRHUC+y8T35bUzsYWu54S3aEjU7OOogm1JgShN99FDmbQ5wJYfFw== 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 Thu, Jun 29, 2023 at 07:04:33PM -0700, Suren Baghdasaryan wrote: > Change folio_lock_or_retry to accept vm_fault struct and return the > vm_fault_t directly. I thought we decided to call this folio_lock_fault()? > +static inline vm_fault_t folio_lock_or_retry(struct folio *folio, > + struct vm_fault *vmf) > { > might_sleep(); > - return folio_trylock(folio) || __folio_lock_or_retry(folio, mm, flags); > + return folio_trylock(folio) ? 0 : __folio_lock_or_retry(folio, vmf); No, don't use the awful ternary operator. The || form is used everywhere else. > /* > * Return values: > - * true - folio is locked; mmap_lock is still held. > - * false - folio is not locked. > + * 0 - folio is locked. > + * VM_FAULT_RETRY - folio is not locked. I don't think we want to be so prescriptive here. It returns non-zero if the folio is not locked. The precise value is not something that callers should depend on.