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 C2106C28B20 for ; Sun, 30 Mar 2025 19:43:39 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8AA89280003; Sun, 30 Mar 2025 15:43:38 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 83384280001; Sun, 30 Mar 2025 15:43:38 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6ADF9280003; Sun, 30 Mar 2025 15:43:38 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 42872280001 for ; Sun, 30 Mar 2025 15:43:38 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id A4B6D121694 for ; Sun, 30 Mar 2025 19:43:38 +0000 (UTC) X-FDA: 83279242116.23.2AF44F2 Received: from mail-ed1-f51.google.com (mail-ed1-f51.google.com [209.85.208.51]) by imf08.hostedemail.com (Postfix) with ESMTP id C625316000D for ; Sun, 30 Mar 2025 19:43:36 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=m+y6KpZg; spf=pass (imf08.hostedemail.com: domain of mjguzik@gmail.com designates 209.85.208.51 as permitted sender) smtp.mailfrom=mjguzik@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1743363816; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=jpDlLk5Lc8LW6WRxzg89DGHO1Jp4I9ysXGk+tN6Tscs=; b=gS0Ay5+Q7zE4KC1EbKjb635PHX3Mt5XvFlXO6uX+vIWqhhY88RlF82SPkmueiZS/cNNtvn qzXpZM1VCNllzdp+Cbze26KwSLH4tZRUaZdA25P9XbPK3VPIIUgQJjFChZv/MUKCw2MWGg JK7Ey8nxlClVN5X6pRpD/Sj7aCsRVSg= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1743363816; a=rsa-sha256; cv=none; b=MoFuoRNCPBcqhieAXs0JJT8rkGoprsUGk+6vJvjLi2nodVCEPfJWal0EDSDMOSpNS9RCET 1MN7CUsebkRD01B5JkCsiti9mDBNFlPSE1xow4zsIDHeLhqR2FKSctVkjki/nEgn9y2yRT kYLjOaRfJRy4elOefnFrspiHYQddQu8= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=m+y6KpZg; spf=pass (imf08.hostedemail.com: domain of mjguzik@gmail.com designates 209.85.208.51 as permitted sender) smtp.mailfrom=mjguzik@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-ed1-f51.google.com with SMTP id 4fb4d7f45d1cf-5e60cfef9cfso5949623a12.2 for ; Sun, 30 Mar 2025 12:43:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1743363815; x=1743968615; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=jpDlLk5Lc8LW6WRxzg89DGHO1Jp4I9ysXGk+tN6Tscs=; b=m+y6KpZgCXhmjYiUgB9t9pl3nBP6KR98jwpFcnSf7WQ1dC5gt4OCrKN/n01xEzMvrP eaGCPmqClRvqj6Mkp3eejZNN/zbUFWCFg1EF5qUisMLvkcIW43Omro62XmEsMj5ZCQQH WS/ydrS6HS7cNeT0PdORaaUhDY+tvIAsNH3NkuT/higx/T+qyg1V4g6eKQsAh1ugNfWJ RFJWU7H+gNWk2VkUhPMNcB6aoQcd70G6gD8+cyauXTWIpQGmLIVjkAQVT8xm1sTYErZg VSpidOCzsIkb7Jqx8i4cKyq1K38aOu2SiIPnhiOpxOQ67nScmpwAn+OO6vZaqaIl1L9I 2CQA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743363815; x=1743968615; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=jpDlLk5Lc8LW6WRxzg89DGHO1Jp4I9ysXGk+tN6Tscs=; b=bIgN77qTBw/EXqEAs1DcOpM1Ys9rKD12JaegeBszxgQ8Gl2oy0BvSFCybZUToaRYSq tmrnTLY/4fV7RCjZWURoQkdBzzx5fPh/CTmyvwF98+/ZNCLknv+vtpe7vF6GmVoHLmgx nz3QlEsDnUYiHJKG3hfTsLjsQJsR1JbFy/dBeDA/AOpeZbhlth84sanBVCfNjX7gQQ+6 C0aowYBQBihN6xpPaGQFeT9+lMVwAxtIEuE6PutlfyFZSvHZf/GoY6fhYHnaH72pjESv icRTOwWzNvCm5q4y5RyeuXWOM4sMmcRaur3Us0oVb6tGTVEiXZ1mAqFOUCB67IMxz/d8 +mEg== X-Gm-Message-State: AOJu0YyLTrZZKuk8r9ybTUwxIlqhk5vENB461I4mwyKgm8u/tLHATzDX b7URg3sQN2UkqKb02BJMkavpoLIDAd+S9slbyoi41pwUNIdxakktCW3QAFMXXJLyTEKp7oVf22A dJK6aoTpBxkfcRdBuPYESjCk0eU0= X-Gm-Gg: ASbGnctBWYKZCW+LKRucb/gVi/Gl3en30Tc1f3QBQ7wbRyxJotehHTU1zM/r0iJ6fTE h+IN4ar5++7SUtkRsY/jLc/vjZWz53mzrcaNt/NkhwQFsifj3jmkdTryzjjsiQjq2Lqad2BU14g 7Ozgk7z3KLOxF+4ADdgxTnk8fp X-Google-Smtp-Source: AGHT+IH/56CIjXM+g1XJU/S3QCvf/bDeDHXD49gVBbCWXyN+jEmu0cxxBk5nenKgJamxj8g5ducag8KDcG5CCHv7nzA= X-Received: by 2002:a05:6402:2709:b0:5e0:8c55:504 with SMTP id 4fb4d7f45d1cf-5edfcbe93admr5561508a12.7.1743363814943; Sun, 30 Mar 2025 12:43:34 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Mateusz Guzik Date: Sun, 30 Mar 2025 21:43:22 +0200 X-Gm-Features: AQ5f1JqUOVtXpUgz5BFNvom59uEPISqPqZdA-V7Sw7wcfw5WiynddhQ6dIyffwQ Message-ID: Subject: Re: not issuing vma_start_write() in dup_mmap() if the caller is single-threaded To: Suren Baghdasaryan Cc: linux-mm , "Liam R. Howlett" , Lorenzo Stoakes , Matthew Wilcox Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: C625316000D X-Stat-Signature: x3o7khc7msqfgb56659ug5zogopk59oi X-HE-Tag: 1743363816-114392 X-HE-Meta: U2FsdGVkX18PHlGuOc1PcSBxq/8uUgHf17k7SkswM+2jCC6FgZHGFpN39d1ETeRPSqYnOuouPBGXTC67eTYJazL49u6R+FnRje9Yf65a4+tyfaNmDKFEIiShDmjGYuSBtrCD8j3bFRf9AUrLYZFloYA+F4Jtld67zfNIKHaXeBBJCKAeN3hAzbqLf0TkkyEtYs/mB6vamYDcHBTCjZ6gmIQkDazWecVcbJ2kEzJQewPryMl1IBdU5ZLQa77r+kO7/XAdU4WaHmmsiHyhvXX1otbbudcQOB+ZgIMp7i4olmMgkmOQPK+msZjQE74iNDe6fCzRubgLtdD7pf+AK+7rhFiuA55HMMAVk/Tvlj9QHbAJLQhfZRlxrcTYSjQW+lF8tf87LKI90aTnwpb1z3KjJVADj+T7RqPPQiO+9wOcUViRl6a1G+9I18Hn0zU6MEgpfVXWOwPam6qr+cY6bjDVD5jVsMgczANEDQ6JzEaPGrv8rqmEMcfzfHaiRWZK8pFxK7Vm5wZYoxUrZ9yx9E92wKhfWYcVu+UJIfK+y+PqlCBz2narkwDmEcbto/RheLiUBQsSSbjAO54rkXEnuKcZUteZrDzL3/9kf7mxLdKtU8BcbzUqstN1bXI2OnPVQrq+iMLjOw6cE/xpIOUvpw0E+Kt6pLVckwqLJrjGgBx8m1nqhXsH7ojNza9KU7LoBwdc3LFzBLjy/crjt1k3xkUmYjaqymeIov4S/J04VBf2UJ5c3Gw31/jXLReMqZvF4xhjy4P7UOvQB5rkCdi6ybnwRfO0sYiVMTz3XfY33oQ+qGHflqVmaVCW7AVjaVR+NYczNURibxuM06sAhOQ6IdBM3ph/aEI6KhkANTSJi2vBmwfxmb7N+6ZZ5CASyZ2A/S0uS6BnrFfFD0cLqYp2C8uJ6cB0nfa6NlzmxY0p2ZIUifN+G7c9T55bN9ctHxfCs7XNHynP6Au+uRn5eQNIQu3 //XoHv8U 4KaiD+uLNiXs/Xex40Zl4wr+zh58akyKD8/h7Gn0x0ILpLnu36YIAvz9rqQ81jez72rCNsIe9F4Zx+CKyq/Nk8MMzAwRXCPgWXyFK7/dZZ9q/xQ36o1rChE1DrONHbJqSUTXl6cb0kf3S53+vvPy0o7+RJtMyWOSMOJ0oYoQZOBVV6rFhCTMsIeyQCvByPt8hcs58suHD7xujNq9zVws/UurrKvW7P9cU7CqJEoochp9jDyEmfJlwCXv3Z5bKI05enolZlu6nX3dsQ4mVt1mvYMMjqz19L3OwFhQUZBI1HfmzA3DqNC55qfs4J2buWbFoyt6ruJ7ivnaG5bxXh8qAhxxaMbKB+8adDZiGPSefLqOB/pJ0axCS73K294XudMgxf9plBbaPIIOnCOl60pKHlri8Iw6bAsSkGz+wYATirzx6Ru4GjH7rlOiP+Q== X-Bogosity: Unsure, tests=bogofilter, spamicity=0.494122, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Sun, Mar 30, 2025 at 9:23=E2=80=AFPM Suren Baghdasaryan wrote: > > However, the good news is that mm_count tends to be 1. If both > > mm_count and mm_users are 1, then there is no usefaultfd in use and > > nobody to add it either. > > I'm not sure... IIUC new_userfaultfd() does not take mmap_lock while > calling mmgrab(), therefore I think it can race with the code checking > its value. > It issues: ctx->mm =3D current->mm; ... mmgrab(ctx->mm); Thus I claim if mm_count is 1 *and* mm_users is 1 *and* we are in dup_mmap(), nobody has a userfaultfd for our mm and there is nobody to create it either and the optimization is saved. --=20 Mateusz Guzik