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 B4BE5C27C43 for ; Wed, 29 May 2024 10:11:48 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 308E36B00A5; Wed, 29 May 2024 06:11:48 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 2C4236B00A6; Wed, 29 May 2024 06:11:48 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1329F6B00A7; Wed, 29 May 2024 06:11:48 -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 E7F636B00A5 for ; Wed, 29 May 2024 06:11:47 -0400 (EDT) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 8ABCF1C15B3 for ; Wed, 29 May 2024 10:11:47 +0000 (UTC) X-FDA: 82171017054.11.5214B8E Received: from mail-lf1-f44.google.com (mail-lf1-f44.google.com [209.85.167.44]) by imf15.hostedemail.com (Postfix) with ESMTP id 7DB7AA000D for ; Wed, 29 May 2024 10:11:45 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b=MfJ58mL2; dmarc=pass (policy=quarantine) header.from=suse.com; spf=pass (imf15.hostedemail.com: domain of osalvador@suse.com designates 209.85.167.44 as permitted sender) smtp.mailfrom=osalvador@suse.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1716977505; 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=k0oPejzF1w45d4ohzjxE+rStMmo86jxOO0aZ2z51+qs=; b=nqGHf+0TrVJR6osmoWH0qu95r7Qq4Dvl3MA91+27LAXDIN0kAQz8eFbmc2LZdlgkCFED7y RP8XSA1DUGH6VHd7VdYcnXsJlXYUn+3P/DdQS8R7f4t36IRMVMyFBSfmn4cme+fD+TFjFC ak+4dznNvA7eBOtIidLRYlRBgXldDnU= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b=MfJ58mL2; dmarc=pass (policy=quarantine) header.from=suse.com; spf=pass (imf15.hostedemail.com: domain of osalvador@suse.com designates 209.85.167.44 as permitted sender) smtp.mailfrom=osalvador@suse.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1716977505; a=rsa-sha256; cv=none; b=BxwN+8+h592k8RAKh7p/Gp/9yeEJOaU31Hkf4hXTsTDchOnvpsNhh9VS1EADtK+Qz8RoIy z6T3xE+OHYF++3fkOMU7ZvEL1RHRgsTzXQR8KrYyPxODRjylElPLz6jiEf3kMtW/HD/Reh AI0ZOS9zrTicCQwk94rolhVQffgVwyk= Received: by mail-lf1-f44.google.com with SMTP id 2adb3069b0e04-5295e488248so2268775e87.2 for ; Wed, 29 May 2024 03:11:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1716977504; x=1717582304; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:date:from:from:to:cc:subject:date:message-id:reply-to; bh=k0oPejzF1w45d4ohzjxE+rStMmo86jxOO0aZ2z51+qs=; b=MfJ58mL2mtSd5MK5bMJDzyWefL8A98Rsj7il1Ohu9JCtlYznXR1qAprnl6ObTihUAk pi0Koq07jmz1Jkvnm6ajOJk2CytVM4Q1GiogPSXSXbXtT7TWs6yjmu/N1z9NEZOpePEa z8xLPUofzto+2+rH44U8/ANHSfkiA811KF/w++BV2/osCw54jKoe3MNIbe9Onu9LbRQ0 zLbV/KEpT8OW8SJ4Enq1vLTX0Q7+UEESw9J2BJpt/2gxIKJC67YUoRvt3M2vnrCpdB81 RxTXczEE2CWJ5ilDEboXgWiM7fNv6qjBamedKv904SrImNXiY9+Dzea+NkheerzlFjkb j1wA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1716977504; x=1717582304; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:date:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=k0oPejzF1w45d4ohzjxE+rStMmo86jxOO0aZ2z51+qs=; b=ioX3YWxN5Up2+opQgsdpyMUqSIlGeNrM+FFjjU1KnYQiZrnR05UokjIs8FqcatZk9p CIfzWSkvplpHm96tUWr40huUovYXCPfbhrTs+/va0aehsjWFLz8o5w9UXxoEmO77o9qj D29wRcW3YkLLnh+QFfUPwwrqWvYST38eInpejntxqvJQ6SRBS7B3aZkaxc04P1tc7V1E qh44mu7imrPYzV41std0roEUGe7kMQaay9rVAO8t6yov0MSu3/7ug18g8hTK71xSrlgn StQpCeF6SxGiEqvRxpFbDf+IS+hvtj/Zs2FE4AcVSndY3YLBCiVbtb9VV0TzldeyWbG4 3j+w== X-Forwarded-Encrypted: i=1; AJvYcCUwmtEHG7wxs/s9bAJ49NxKEt6vCMKatObzx/PR6le1r42KS2PEsL9TDwaxTDsf/pVV/oIdKYrpsUebCogAVZPuYGo= X-Gm-Message-State: AOJu0YwbgGAhIWmSmgU/XwkcFDTsjV7vC1Wemp8okgivRHBRl8n7hb9m BCXiZqO2fRr7zhPq0pF/FhZV97qHxF8/Q38F5XbJ49uuNz0FDt41tB0IVq0AiTv+7ON6XZ5W740 1 X-Google-Smtp-Source: AGHT+IFgYrZo5ta4E3uoE7uAwXaw0QkKXO8VSmlKA6YJb4kJBFmoM8GRlbMlJbE7XEdqt2jjmDPZMw== X-Received: by 2002:a19:8c5e:0:b0:51d:bbb:7a4e with SMTP id 2adb3069b0e04-529645e344bmr9036378e87.24.1716977503662; Wed, 29 May 2024 03:11:43 -0700 (PDT) Received: from localhost.localdomain (62.83.84.125.dyn.user.ono.com. [62.83.84.125]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-421089cd6f7sm174662585e9.46.2024.05.29.03.11.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 May 2024 03:11:43 -0700 (PDT) From: Oscar Salvador X-Google-Original-From: Oscar Salvador Date: Wed, 29 May 2024 12:11:41 +0200 To: Christophe Leroy Cc: Oscar Salvador , Andrew Morton , Jason Gunthorpe , Peter Xu , Michael Ellerman , Nicholas Piggin , "linux-kernel@vger.kernel.org" , "linux-mm@kvack.org" , "linuxppc-dev@lists.ozlabs.org" Subject: Re: [RFC PATCH v4 14/16] powerpc/64s: Use contiguous PMD/PUD instead of HUGEPD Message-ID: References: <610be6003a6d215e9e9ca87d7f5402042da1e355.1716815901.git.christophe.leroy@csgroup.eu> <315d1dc7-9eda-45cd-863d-803bfae4c29b@csgroup.eu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <315d1dc7-9eda-45cd-863d-803bfae4c29b@csgroup.eu> X-Rspamd-Queue-Id: 7DB7AA000D X-Stat-Signature: dzmzxny1h67iaejhddz7mgftcu1ka61q X-Rspam-User: X-Rspamd-Server: rspam11 X-HE-Tag: 1716977505-518344 X-HE-Meta: U2FsdGVkX182Oj5rLQan3jIezlkdLPuFEr3PpYInI4PCDusQQX8G+KShn7wqjFeo4L9bz2d4qPEJBW4dUj1Ih5akJP8+KVbMgTqKBonbo+XboBxUxFeIDUqUROSmxslWgywnEb4/5RjYNC+oLt3z/OPxV7NUy2frdSrm6SozLWDlaQs7Cel6LMQATA8IZr/Pc80f2HlFTTVETGngkde5kXkhgls3nUBi6Tbw3+vSxrwwmYGmktbyNYFY/QEYgdmU6jLwrpMJ076lbZGjNfyU/V9YQbUsJY47lmGdqlInj0MFtYu66hXJGbRXjjVp3tYXgeRQ6fPrgey5whsaQcf3b1K/wxSAyDRU+iufyZzEP9u96RAQp0tfVMN7LzzhMpzuvLLy6up/XCtsDYpIE9vT3wkc7qcIBjnV9zK1bP7zgIuhjjh+LgY2dbs5+W/dQNYWqjiZyKlh+7Se+YDvmSEFoacu5GoHp3lBd3nkifTLhzYoFWk2OZZ3dbFYBiKAo7Wq/XabHY1y+axWBV0TaC1H8y5DTXYxOh4GLjnIdnpFoi/l7B5+9OU6pP4lPoQ4p0sotnUIF9nlL/Tj1iS0ncr78fuG1DzCOY6ur56F+9QHnTZE+/hLhR4KP3QhxGIHi71eyC0L7xDWdKzVeO9QYihIJGBgkMO9/24OfLNSdwC0BJyqTxXzowOjWdhkHW5jY1DorKlzBI/DlJJ7nxhv1Yb5PcbmrePPJUIb3paFJKnQbjjpGPPhhlZCqdPFo1cSP1tiqNhNnzSOqeakgmtRK8YEQLBB7sbPlt6qqBniyP/SZLHZhu0lsYZjmzN4VldT2hDB/MBlKZsxPTmKsYIuNJOBS+cgQY8QyxSmIsLMc1om3mJPz6MOwmt4yOOqC2UWGgegNwBl0Fyo/k2Y8N0IfogCeFcHnqHOZyvReHXf1jEV/BtBrAs2DIW3u4reQsSCV/ykByug8ff1SvWb/ODkZZG uksd0Wgg ocRSC5ztMFxmnL8ZD7VFnmByUi0+hMYmFBACa6JwaN1HS+BhaJN+Gt5IsrvimTOBMWddlQEpnSx/lw6cYaWUXaB7CskNua+qU6150lvnRAleGeaVFSELrUjJ1C7T8qj0cp1aD3F3vKmM1RqTlF956Nw+vQLYi5hZN3X7jMW9M5H0auVKC55bAguqWH9jcbDgz8vcKB7bJl+BZnxcLEUtVwootDvahrenpPv1bEKmgRF1RRMq672hO+T8kEt0or1zCt2K5b7Cshx7ZuXnDJUxIVDDQvstvQF/mVQGVjktE/z3d2saGlBOaO0fAdeCIl4V79LEHBjvbZxQlhcWsyOcDfrWCSltiQeLbXFz6 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 Wed, May 29, 2024 at 10:07:55AM +0000, Christophe Leroy wrote: > We can't but I didn't want to leave nb undefined or with a value that > might lead to writing in the weed. Value 1 seems a safe default. Might be worth to throw a WARN_ON? > >> diff --git a/arch/powerpc/mm/book3s64/hugetlbpage.c b/arch/powerpc/mm/book3s64/hugetlbpage.c > >> index 5a2e512e96db..83c3361b358b 100644 > >> --- a/arch/powerpc/mm/book3s64/hugetlbpage.c > >> +++ b/arch/powerpc/mm/book3s64/hugetlbpage.c > >> @@ -53,6 +53,16 @@ int __hash_page_huge(unsigned long ea, unsigned long access, unsigned long vsid, > >> /* If PTE permissions don't match, take page fault */ > >> if (unlikely(!check_pte_access(access, old_pte))) > >> return 1; > >> + /* > >> + * If hash-4k, hugepages use seeral contiguous PxD entries > > 'several' > >> + * so bail out and let mm make the page young or dirty > >> + */ > >> + if (IS_ENABLED(CONFIG_PPC_4K_PAGES)) { > >> + if (!(old_pte & _PAGE_ACCESSED)) > >> + return 1; > >> + if ((access & _PAGE_WRITE) && !(old_pte & _PAGE_DIRTY)) > >> + return 1; > > > > I have 0 clue about this code. What would happen if we do not bail out? > > > > In that case the pte_xchg() in the while () will only set ACCESS or > DIRTY bit on the first PxD entry, not on all cont-PxD entries. I see, thanks for explaining. -- Oscar Salvador SUSE Labs