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 AFB2DD65C61 for ; Thu, 14 Nov 2024 09:20:20 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E16BB6B007B; Thu, 14 Nov 2024 04:20:19 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id DC6A06B0082; Thu, 14 Nov 2024 04:20:19 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C67406B0083; Thu, 14 Nov 2024 04:20:19 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id A82B06B007B for ; Thu, 14 Nov 2024 04:20:19 -0500 (EST) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 63291160EDE for ; Thu, 14 Nov 2024 09:20:19 +0000 (UTC) X-FDA: 82784154138.14.46D6435 Received: from mail-pg1-f175.google.com (mail-pg1-f175.google.com [209.85.215.175]) by imf13.hostedemail.com (Postfix) with ESMTP id 60C17206DF for ; Thu, 14 Nov 2024 09:19:30 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=RCwm7G55; dmarc=pass (policy=quarantine) header.from=bytedance.com; spf=pass (imf13.hostedemail.com: domain of zhengqi.arch@bytedance.com designates 209.85.215.175 as permitted sender) smtp.mailfrom=zhengqi.arch@bytedance.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1731575886; a=rsa-sha256; cv=none; b=i5E3w1wYRu1WOVxH1q7BxCXAmmflPHBx8e38QGcXx3lDfO962b/V67XNSkm1sOwiPTVqto dC6JRNVH1tPqayjPfz5nbkjDEyl97LGTB48M2zHhpU2o2euHh/lZu0H3R+8AARvd2/KWsf DpJdKRIA/XugMMx1H+oTzPpcKWgtoMU= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=RCwm7G55; dmarc=pass (policy=quarantine) header.from=bytedance.com; spf=pass (imf13.hostedemail.com: domain of zhengqi.arch@bytedance.com designates 209.85.215.175 as permitted sender) smtp.mailfrom=zhengqi.arch@bytedance.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1731575886; 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=jLuhGBNI7mSDN8kf5W4IBkCXg+WxXsuESCrfnLcIFaw=; b=mL2KUbB2i86s//VleSSc1slov5tuIQ9SbheAn1wAXEUjIRqyoBw2JzLn8vECOFf7k2OIJA zzu9s69LdMpYk7ZiX0xDzTx7Uz71C9+jSjUhiFPqtxcm+mM93o8GTIzlUYLQgBnduDeQoL HT8ne+WZLW+pEOcs6diu+uB0Y8RHwIc= Received: by mail-pg1-f175.google.com with SMTP id 41be03b00d2f7-7f3da2c2cb5so252046a12.2 for ; Thu, 14 Nov 2024 01:20:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1731576014; x=1732180814; darn=kvack.org; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=jLuhGBNI7mSDN8kf5W4IBkCXg+WxXsuESCrfnLcIFaw=; b=RCwm7G55yMOzo8cmL8JiBPdz8/qxn8eCxLkKSUZ71+yWdDUYgOlhDK4nxt6zCMR3vG Kh4IvR7xo09T1bt0Yz+Vsxgii4UWPh+J6LoAD+4yUzm/AUjLqVJh/EG7OXX12NMBHIDP mj/DZw1uUMp3JwT8gNP++w6UagEcFBQCPyIyO7+Oowah+1pPi+pfQoSEdJ66vJuqmirb YAkO29gXIrIwLrUKsPw0/3xo5u+aMC6VWmF33LxmkJO5p08JzD9b181hExR4kQQfk/oh +38zeryzN7vcNEq3JkL1tpaZ7F5Kvat7in31gz2BmtmCS0xuqY+fzZhNb0GedVLSyAyD 1K8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1731576014; x=1732180814; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=jLuhGBNI7mSDN8kf5W4IBkCXg+WxXsuESCrfnLcIFaw=; b=sZbQuXe5GQxOofFRVKuAsRrlGwDl7zNItvNQvhLX/tehkousuyyseVq+62RYOzSTCs rzUN/82+8hbdpbqJxaegIdqt3c2PnWTV2CRZ9kmFq7UT2bXIjNECXE7aisPdmrmaHb6L v+xMS0oooW7uEX8JsFWV0cQToKEFBpJQyMze8XERQBL5zbhRvr6F/HfaDocCHDwdvq2D t4AboliHkLmgmXRnycjR7A3y6hKN4LCi7Bl1GnN/23gzCJMPvn2Meguyjgsxurf72B63 RkuFi1j1KTS6RzNemrZXumhuspqo4IhJ9n6qBm2PPgJ8cNyh0IIQvaWepKx/GYw0ewLg KkmQ== X-Forwarded-Encrypted: i=1; AJvYcCWxPjRbCotnCzyzISvY4+tsWON/VyA30l8PQtP3PFUIRyflPJyoDcwrJtuXCUXlRRwL+Q8TPcUCmw==@kvack.org X-Gm-Message-State: AOJu0YxEJCAgw7USSj8oCe6rxJ/Nr/jssgcqOTLm+bnube+OC4O1pecd 8c2Nybfh3cFP/wRmlysk5L+vWQYB5p7h/QpHf3cEYMyh2dG6FAVCH4PEBzhSwu0= X-Google-Smtp-Source: AGHT+IFMMpatUed99XmkbIDmSKtP/bx2VLKWtk0NTN+JwnU9doOjab2LaNQ7qbLDcDth1uJgOq+Jgw== X-Received: by 2002:a05:6a21:8901:b0:1db:915b:ab11 with SMTP id adf61e73a8af0-1dc229a6e8dmr26638759637.24.1731576014274; Thu, 14 Nov 2024 01:20:14 -0800 (PST) Received: from [10.84.149.95] ([203.208.167.151]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-211c7ce9bfesm6414265ad.120.2024.11.14.01.20.07 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 14 Nov 2024 01:20:13 -0800 (PST) Message-ID: <617a063e-bd84-4da5-acf4-6ff516512055@bytedance.com> Date: Thu, 14 Nov 2024 17:20:04 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v3 4/9] mm: introduce skip_none_ptes() Content-Language: en-US To: David Hildenbrand Cc: jannh@google.com, hughd@google.com, willy@infradead.org, muchun.song@linux.dev, vbabka@kernel.org, akpm@linux-foundation.org, peterx@redhat.com, mgorman@suse.de, catalin.marinas@arm.com, will@kernel.org, dave.hansen@linux.intel.com, luto@kernel.org, peterz@infradead.org, x86@kernel.org, lorenzo.stoakes@oracle.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, zokeefe@google.com, rientjes@google.com References: <574bc9b646c87d878a5048edb63698a1f8483e10.1731566457.git.zhengqi.arch@bytedance.com> From: Qi Zheng In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 60C17206DF X-Stat-Signature: 5e13tizgpx53ets35s3i4y7c4g3trj4r X-Rspam-User: X-Rspamd-Server: rspam05 X-HE-Tag: 1731575970-103772 X-HE-Meta: U2FsdGVkX18rDpIwA3g1AFFvuY4HFA+otZMeGTLIXt4JnhX2dCo+DelyrMqSgBDdzGQ/TCfqfCMERHPVKZhTf59YS/kU19Jv7tPSBVhUfT37RLJL9COLY1JMANXS/RZdFBC0GtPQqMOtKSSgVWLvLtJxXPi+6YNq3Vi3mAE1g+SZgXtU5r1mwPtizyI1aYEinvtA3YPwpgSKttddZ3OwBuIItwGd6NT+UoJdp9724CCxdulJlj8nqfSxsLTv8rBvTlSex36XGpt3tGsJV1oX+IH+NvfVHU4GrZxxvVc/81MWY9fdSCA2i6pFbnNYxBIScgAQkGCo4BA73UPQwRKZdmvazvN3ijWbHJf7ZoqhJWWoSJ8JnTzWMd+YlVkGFyaBaH5tIs4vThnZz0S3x/JP9TKb07Hvg3mS4mHXIpZq9yFzKSpRl9ik2EQf8ho5W/+yOxR2bPZ+Nueacvin3P3tl+qgFJ7MxDeaH2I7lJMu53cleeLDSyHfSTQpVXmTmKkF/n1VZ2zZW5ISsmeWyDzt2UWsangz6rRlREqlchsLnqYFrcENbGw5dyE/MofIeoN1JezuHbuq+iNbfL8DHBYy21bd42+Mk2s5oWzbnHO7cdXqTD37ibWwsb8+B73hc9p9zf+7DRskCRnA8bCm7ZDpFKhl/uadTu0WD3Ew192QpJiD96B0msAb86bsCyn63MJNtmPxLCvHGlTK9Isr89VEea/VCJkLXmflcFNWrx6yJ7/TTMb0zoYCQkgCATHhfWl4/K8hMJMS4I2zyXCMaAQtG3agZE6mItqB3xLVGrpmrkmvqnwzkp1irnKxjhJpMjHMxrAWhAot7GGrPVzz21lDFTyxm7S0dijpE0y3rH5N0LGL5rNulp0fPuFISGv51yWwqeumQ3/FQ6ZRdLpXppVO/wEw0Ks856siTP/ycT47N9CohV4RcKaWTaJ/HHp5w/WQXGXJT7SPf9+bihCzbUY HTqiApxb neBxLUe3zpv54E4Wcq0R+7G1Px1qmhD/jyfMO4R9UPG1HSCPWeHfV+rNgU198MZC5w6q4eG0C8eF8qf8SU7C/xbCgActF3BHxrWh9GKm9rb0hTrajby6InJJngqLre5hlAnAbgY5I2T+OdwqaSjbLMjI4e70/MVBX021FQJ8R9H/nzN6qUyxofIlW+hWolBsmNiaQB/pkUh2IW/wAHD5dt9/h5Ce6t1y3lp6F3kp7BiUGDaFLKwA5u2Yp6ZA/vCwjFOnRoESUAiJ53canl3PC7cg+beNWVvfmn6BrrZrkmR6r4DOfQtWLQJWw7c7sxhs6HwcXJDb3k4Hkfpj4yZ6UtSAINTutyzZu0tfLKrviTL+4LBCjdPK5P1jifjKO9cxcR4KzIljlKsX/9vJH6Rg17afe3A== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000001, 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 2024/11/14 16:04, David Hildenbrand wrote: > >>   static unsigned long zap_pte_range(struct mmu_gather *tlb, >>                   struct vm_area_struct *vma, pmd_t *pmd, >>                   unsigned long addr, unsigned long end, >> @@ -1682,13 +1704,17 @@ static unsigned long zap_pte_range(struct >> mmu_gather *tlb, >>           pte_t ptent = ptep_get(pte); >>           int max_nr; >> -        nr = 1; >> -        if (pte_none(ptent)) >> -            continue; >> - >>           if (need_resched()) >>               break; >> +        nr = skip_none_ptes(pte, addr, end); >> +        if (nr) { >> +            addr += PAGE_SIZE * nr; >> +            if (addr == end) >> +                break; >> +            pte += nr; >> +        } >> + >>           max_nr = (end - addr) / PAGE_SIZE; > > I dislike calculating max_nr twice, once here and once in skip_non_ptes. > > Further, you're missing to update ptent here. Oh, my bad. However, with [PATCH v3 5/9], there will be no problem, but there are still two ptep_get() and max_nr calculation. If you inline it you can > avoid another ptep_get(). Do you mean to inline the skip_none_ptes() into do_zap_pte_range()? This will cause these none ptes to be checked again in count_pte_none() when PTE_MARKER_UFFD_WP is enabled. Of course, maybe we can count none ptes in do_zap_pte_range() and pass it through function parameters like force_break. > >>           if (pte_present(ptent)) { >>               nr = zap_present_ptes(tlb, vma, pte, ptent, max_nr, > >