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 8334BC3DA6F for ; Fri, 25 Aug 2023 07:13:45 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DCE1B280093; Fri, 25 Aug 2023 03:13:44 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D7E3D8E0011; Fri, 25 Aug 2023 03:13:44 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C4754280093; Fri, 25 Aug 2023 03:13:44 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id B30DA8E0011 for ; Fri, 25 Aug 2023 03:13:44 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 494F780450 for ; Fri, 25 Aug 2023 07:13:44 +0000 (UTC) X-FDA: 81161761968.08.461CB50 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf11.hostedemail.com (Postfix) with ESMTP id 2538B40007 for ; Fri, 25 Aug 2023 07:13:41 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=MscX1SRP; dmarc=pass (policy=none) header.from=redhat.com; spf=pass (imf11.hostedemail.com: domain of david@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=david@redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1692947622; a=rsa-sha256; cv=none; b=x/njyq4rSAM+dhjNLUyLQwpPPwzRgE0MB2Bqiv02jAlOvifVnvPtUTWVJUEDhgMMDoN7wg c4dGeH3lFGjOSYmu144DTxaW8f6IsS1oOL4qYHfxf1x4YYdFwa3emV5nmvbHwepkoSKwIp PVuGMxsL6nKS6rPyYKq+I5Deo0uXEN0= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=MscX1SRP; dmarc=pass (policy=none) header.from=redhat.com; spf=pass (imf11.hostedemail.com: domain of david@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=david@redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1692947622; 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=89RAPJXu3l0nu+Qr7Ul5eYhcLbxfZVRVayP8mEU740g=; b=gpDNBgVn0sHZTdSoKobOTAt2/kHgUEVNm7PYZoFxiuCtK3RGsa49tzOFi0eZJ3vcHeP7+b rP6pUTjODNqGGilFTjuOQfRRSNwmVn9XRo3smgX+RFQEAON9+iiKevaAQY4+1Ab9XmROaB bfrH7x60PrpQ15jKf+6KpnwFOaKj/W8= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1692947621; h=from:from: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; bh=89RAPJXu3l0nu+Qr7Ul5eYhcLbxfZVRVayP8mEU740g=; b=MscX1SRPLrJ4iyr+m0fhOytchgnt8y+Kb9MH4jSknh03vjbn5S8yJ9Yd1jfsrWALC2xrWT MrZG1LRAIs4vmQrmb7HFE4ao+zCvTz0znHrPkPRm/eNG8gLSZcV8X72QImWU+ptYZjppr/ JGvrvyUsL7BaHtv6cYWhZJqWpmy7H/o= Received: from mail-lf1-f72.google.com (mail-lf1-f72.google.com [209.85.167.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-645-4SxSi_fLN1e_MjG6NZISoQ-1; Fri, 25 Aug 2023 03:13:39 -0400 X-MC-Unique: 4SxSi_fLN1e_MjG6NZISoQ-1 Received: by mail-lf1-f72.google.com with SMTP id 2adb3069b0e04-500a10289e3so668100e87.2 for ; Fri, 25 Aug 2023 00:13:39 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1692947618; x=1693552418; h=content-transfer-encoding:in-reply-to:organization: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=89RAPJXu3l0nu+Qr7Ul5eYhcLbxfZVRVayP8mEU740g=; b=g1WfnDsUm90h52bZ6GXRfOsIHYM9F87Qb35aDjARkUOQsCyk51cS9X3Umh4RV3ne4y b71Y48m4vrz3iRHZILf9vwmOwPoERfcdlD+GH1mihaS1uC//44Rq8maxr3FGuNZHibUt Cx7XhoO9GbQ+4J8eVabwU/ljZQ+J9IXsG3Z7dc+3QEZwrdrRM1eGpdfPF3XE0BRBFn00 eQiPFAmvuAiu5U1sEnyXn1G3zTlGMMGsIwpasmFs42mXNGMnsPljV6lpHK/hes0FjCOn 91Krkdwgwj0FdEK3gXOmwv67UGqX77jxmHFQd4yjHWEjbbHIhwBDvQ35UQK7Yna6zfxm lVfA== X-Gm-Message-State: AOJu0YzK1+fFeGeWxNL/9fQ91viIKOnSTWKAF8QmjLVIMTwkWY32xIkT jba3xQo44vLqYHjL3RJvPwUF68ZzBaL0b9lu4r2l/HOJbZdN83GIggFp6x5kca2nazbzQkIqJtn woxNbWlYOVvs= X-Received: by 2002:a05:6512:1584:b0:4fe:1c40:9266 with SMTP id bp4-20020a056512158400b004fe1c409266mr14578134lfb.17.1692947618080; Fri, 25 Aug 2023 00:13:38 -0700 (PDT) X-Google-Smtp-Source: AGHT+IE3Cv6J318zXRMFfrc43ddrKRkBL8efv+MD14IYUTrlxPGXzW9AmHYYZLa+xablU/kO5QDyPQ== X-Received: by 2002:a05:6512:1584:b0:4fe:1c40:9266 with SMTP id bp4-20020a056512158400b004fe1c409266mr14578112lfb.17.1692947617632; Fri, 25 Aug 2023 00:13:37 -0700 (PDT) Received: from ?IPV6:2003:cb:c70e:9200:ce93:b5e6:8aa9:65d4? (p200300cbc70e9200ce93b5e68aa965d4.dip0.t-ipconnect.de. [2003:cb:c70e:9200:ce93:b5e6:8aa9:65d4]) by smtp.gmail.com with ESMTPSA id y14-20020adfee0e000000b0031c56218984sm1317562wrn.104.2023.08.25.00.13.36 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 25 Aug 2023 00:13:37 -0700 (PDT) Message-ID: <75337a54-da9e-c50a-395d-1c6c93b087f8@redhat.com> Date: Fri, 25 Aug 2023 09:13:35 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Subject: Re: [PATCH v1 4/4] mm/mmu_gather: Store and process pages in contig ranges To: Matthew Wilcox , Ryan Roberts Cc: Will Deacon , "Aneesh Kumar K.V" , Andrew Morton , Nick Piggin , Peter Zijlstra , Christian Borntraeger , Sven Schnelle , Arnd Bergmann , Yu Zhao , "Kirill A. Shutemov" , Yin Fengwei , Yang Shi , "Huang, Ying" , Zi Yan , linux-mm@kvack.org, linux-kernel@vger.kernel.org References: <20230810103332.3062143-1-ryan.roberts@arm.com> <20230810103332.3062143-5-ryan.roberts@arm.com> From: David Hildenbrand Organization: Red Hat In-Reply-To: X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 2538B40007 X-Stat-Signature: p85a45wa6t8nezkkb3xkdk9dddce5qar X-HE-Tag: 1692947621-982914 X-HE-Meta: U2FsdGVkX18ZengutuBbl2l1rYO/JItjNEBR4k+wKn5p5/9DsYq0e5yvA+xAp03SvK+cs2iJW/uFFy9lLMjniADuSJ4KVSMaV/Fv95FkIE+fjX+QPia3+O243KI8ka+dtG2Cqq6+xvQNJj2aoZqqEf03FFu9PDC3GvVTJlkRv2OrPpw+yFMG913TFF6ECA2AayUpZ/QfEbLpkoabe0ueic83XNOPeuoVDeqkTmVpj5yi80zWJ220YzmeU4zM509cW/UVUu/xK3x1xDVZMvpz22a0p0CXZzOUXOKojQ8yMqDa7Az7nc5Ce1etNbuC7Wzcyu7FN1ohSLD9fAR4XbNczLzv/2tf1MEv8wxqcnS7TTaidWIZ7Vgc/VBAivlV2/h/CT1Y+wQoV5xAT5p30PvgwxtTAiAUxY1YNEKxORJ5uEHSPgTpj+8PO08UEW3cV8s6Sdop3e3Bmeiaxp9vJJmg86OcdX0jrXqJFQJwOKc/5kPaz3ks7O9223im0jwrNOlXadPvcR6K2E63/6IgLOisCrKxkBZrzT1Xdmq6/T5dPcIsyGc3tS7ptmYYWweab0ZjI5cKZ928yZWdxR55xg7yhQqhrZrmqoG+5J+ki0YeLOy2H98NCIGnCfjK0wViGnoF2ak8C9Vy7h6aBHWq1zR+BS0/JzSo5p4Ut3WMy32jwdfGh6JMaPNPwKf718BvU2wHAldEuj0c0fhA2kFYt+xKRthQwwY8hsyZYTTaJfJ/ayxxddXmAiAa1iXqi3KCHMxlwDCKOOqqk6QYw6fZS0XvXJrgBEJWEAbFYhLfZevyNkJrc5Gsm/hGMYwh2ysUfQzkd9+9oZPa7FAG/DB3tYlJOjyHVSJhp8u4ZQ8gODeYJimktsQd4HNSA+7Af1i+ApZcS64FyvaRNxtuvRYV0ijLcZAf1VOoUL7rNIu1aMURrqNzaS1swHStFZMQn9z1Tv0/bQbqdur4MvmVA9t2amT a9zIvN1v zoypMR6YWwV2hIM8vkQ3pTNfYN+ebextZDpgsF2IuDal7E9i5L3YNQDpHzSrLcWf2iHHO/8hqR1X7iSSM9jjN22U9lHJP2ThUfB3tscRyBI55UcLu1ufTCVQrsWD1OI9xPYYNYv/wZb1eLyrP9FkMTK74g3mxAd4fNndEvuZdyj2a7r+sOGfYEjQzPsgyOkI8hheuJqgKTqE13iVCzHRnEhO2PUyAylRS4O2CRsxhteyiRG4+yvA3ny81QXBnDhReoSYUc8WJmqq0UNjLNeufGKpvDOB7i7iKKxIv2uDYKa9BOvTbK/PhtiBaJcz+Tz5EGlDDoit205T0FCLUvE4OCOjb/Fx+CHm3KlQuE9YES2w6PIwjFfidDx5n71b3oDknQJ/M92qp524/Cp/EZpyWTTQZpq+0JimuEt0vRGqPSdYezcE= 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 25.08.23 06:09, Matthew Wilcox wrote: > On Thu, Aug 10, 2023 at 11:33:32AM +0100, Ryan Roberts wrote: >> +void folios_put_refs(struct folio_range *folios, int nr) >> +{ >> + int i; >> + LIST_HEAD(pages_to_free); >> + struct lruvec *lruvec = NULL; >> + unsigned long flags = 0; >> + unsigned int lock_batch; >> + >> + for (i = 0; i < nr; i++) { >> + struct folio *folio = page_folio(folios[i].start); >> + int refs = folios[i].end - folios[i].start; >> + >> + /* >> + * Make sure the IRQ-safe lock-holding time does not get >> + * excessive with a continuous string of pages from the >> + * same lruvec. The lock is held only if lruvec != NULL. >> + */ >> + if (lruvec && ++lock_batch == SWAP_CLUSTER_MAX) { >> + unlock_page_lruvec_irqrestore(lruvec, flags); >> + lruvec = NULL; >> + } >> + >> + if (is_huge_zero_page(&folio->page)) >> + continue; >> + >> + if (folio_is_zone_device(folio)) { >> + if (lruvec) { >> + unlock_page_lruvec_irqrestore(lruvec, flags); >> + lruvec = NULL; >> + } >> + if (put_devmap_managed_page(&folio->page)) >> + continue; >> + if (folio_put_testzero(folio)) > > We're only putting one ref for the zone_device folios? Surely > this should be ref_sub_and_test like below? I suspect put_devmap_managed_page() then also needs care? -- Cheers, David / dhildenb