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 25117CA0EEB for ; Tue, 12 Sep 2023 15:03:51 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 50A926B0103; Tue, 12 Sep 2023 11:03:50 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4B9CE6B0105; Tue, 12 Sep 2023 11:03:50 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2E5586B0106; Tue, 12 Sep 2023 11:03:50 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 1DC2B6B0103 for ; Tue, 12 Sep 2023 11:03:50 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id B0131140B9E for ; Tue, 12 Sep 2023 15:03:49 +0000 (UTC) X-FDA: 81228264978.25.8418394 Received: from mail-qv1-f51.google.com (mail-qv1-f51.google.com [209.85.219.51]) by imf23.hostedemail.com (Postfix) with ESMTP id 8846A140070 for ; Tue, 12 Sep 2023 15:03:23 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=3GTN7hmj; spf=pass (imf23.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.219.51 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org; dmarc=pass (policy=none) header.from=cmpxchg.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1694531003; a=rsa-sha256; cv=none; b=nOJjsuqAfH4CoTHarPdQhtAL21Dw1titlHt6uoRjVaoYSiUjuDDCD7y/QC9yEq7fFXXXeW frnr8ysdjsVcZHkzUVqhIFl3qRSbMz1p+GgwOUpfezUpMm4cCn4nW+PuTxPQl/kOcmgtzW IK38B0X8At1RjLycyqlr3iz3+Kfv8rA= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=3GTN7hmj; spf=pass (imf23.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.219.51 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org; dmarc=pass (policy=none) header.from=cmpxchg.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1694531003; 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=UEvBPDpksrICgcQokBE2oIdwNQqNi0CM7UebMeDfNNc=; b=G9CM1ZtTZud16kl1ccB3mF43cfwKKIbj7NkmUr+sd6AHn4246mS3bylJE9BhhfGH1MKQKX F++Nke9mFJnJog8H4CnVAiIKE6tLlYkpTuLINlwdnBnbqjud9T/3phjuvE5VQKlHRVKklP cMLSBkdpl/rt7rfhMTD3+DwUo2pc49Y= Received: by mail-qv1-f51.google.com with SMTP id 6a1803df08f44-64b3504144cso31659356d6.2 for ; Tue, 12 Sep 2023 08:03:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cmpxchg-org.20230601.gappssmtp.com; s=20230601; t=1694531002; x=1695135802; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=UEvBPDpksrICgcQokBE2oIdwNQqNi0CM7UebMeDfNNc=; b=3GTN7hmjHNWdVdQhl+n/Ym+IaBYOiiTwbCLGwoeBBL6QT9TQ3CxTIVzrSsvt/zY3Vi U/ehvFBiigi+8tbYCiya1Vsy3zwokwS7Tg3FqvhmOD7MBnEz1IyQWRrTlDBHfQafqWPR rCuYeMmxHcTmSDJc9O2K8nl4I0mIo8a9QwUHSkxsAI248/SFzxkknMOUE3LNsvWm0xrh Lzm3cnRLCqbz1KxVHGCRaQfmCVP7dKZMvXCY3Y0wL1yXok0Q5NN4sb+Hm4sBX/UQauxH XGz0GaKIBDsCoL16JxDl9YiX+j9rhY0QFtTt82eGi1jZ+V3lJIMqbLz7Xn1wh+w7dr+O z1/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694531002; x=1695135802; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=UEvBPDpksrICgcQokBE2oIdwNQqNi0CM7UebMeDfNNc=; b=abqMB/TrPlIz5SlO1DNajDZmFL/nWcNr3Kfkz8buqUMJdToOVxT0+EXLnA5UVLMXCR SfQJqBwCyNxQk0XVDxoenwfa1Rgw3JkqWA9X9A9K7QH7VuyPRJkf3n9BIrqQeewcQenf ZHJpDE5h2srewwFsyh7o6p2XG2o7kOIZwVaw83z9HwMed/vIf5fGGW9tjqhIfWxZQsaV bD6oFck6ccQZg9/jmx0FcRoWUt/DSWvuF2h5ClBlZfEjbuLWxMRf3JFuvFUN+RNRv2xd sIynylK2qEe2Xm0WF8KI68cWspEvozzJpIND7uAS89XU7WKprBrkbltTb+Kum14cXIea dGHg== X-Gm-Message-State: AOJu0YyjJrrQ6vBeTKtPTIT9RbeTq0IyDylUZWc5MVgbtKAlgYWreXLr Dey37AqcDiZlWkekarlApuuNqg== X-Google-Smtp-Source: AGHT+IE4pTTrKCnrWLZCrVJm8q/MmUAxCLosu9d3ic59cq9nYG2FMa1TYCaDYG6vulb4qR45Q+3cuw== X-Received: by 2002:a0c:e00b:0:b0:651:8f39:910d with SMTP id j11-20020a0ce00b000000b006518f39910dmr12813954qvk.58.1694531001713; Tue, 12 Sep 2023 08:03:21 -0700 (PDT) Received: from localhost (2603-7000-0c01-2716-3012-16a2-6bc2-2937.res6.spectrum.com. [2603:7000:c01:2716:3012:16a2:6bc2:2937]) by smtp.gmail.com with ESMTPSA id t14-20020a0ce2ce000000b0064bdd4239f3sm3745795qvl.126.2023.09.12.08.03.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 Sep 2023 08:03:21 -0700 (PDT) Date: Tue, 12 Sep 2023 11:03:20 -0400 From: Johannes Weiner To: Vlastimil Babka Cc: Andrew Morton , Mel Gorman , Miaohe Lin , Kefeng Wang , Zi Yan , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 1/6] mm: page_alloc: remove pcppage migratetype caching Message-ID: <20230912150320.GB3228@cmpxchg.org> References: <20230911195023.247694-1-hannes@cmpxchg.org> <20230911195023.247694-2-hannes@cmpxchg.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 8846A140070 X-Stat-Signature: huct1ejosncy6mau6oe3rc8ihomyzypb X-Rspam-User: X-HE-Tag: 1694531003-952921 X-HE-Meta: U2FsdGVkX1/LsEcUyCmG9CwullSr/7o/WMX3UNK0+PtBBeOlX20h+XZQP0j2IYZri2JPLn1c4IcUz0p8s+aP1FliPKONOBRT4xU00AMgUMlC/8priyw09JK+UDeZPNc3ViJ8iEgBvqrKPudh9s+zV4u04gFtcp5ufeMixA39anneu0CJ6daZAqddN/kyiPPNVBD8jQ3v5JKa1cOos8du8jcTeXor7GANtRX01ljb3JvH0R6HB9pypR1WYfrfm2paB8GjYHuJ7rTb4EFEeU2rHlQQF94Gx4bwfyG05OGz/e1IAA+DO68FLJRj3tlDuK9MMhzuAGhdwe2UXEiC8SsxkbIYSFwUosPv0J+PVC949dR6SCTj1/qJEO6k/RxrMNAum9kdz/gVfZz8rNDDtPUqT6Tp7fLbN5tq6frTBmOM2kqQkaAEl3huGwtx5US3t/DZxZNqEuye+hTUZrVHS5BxpEBtiqA3bQgf76b6tumznz7aPWOI5/jMG50OLjoAXAThPe5glcN18Vg5tOwWHWOpt7PSpVbZIC57UO2/kqx/V2kkmM3FZ7BnsTJfCp1zSfR0OkhY8g/2g0ssz/BViG8Z0yGMqV0tbzFVAEdcIkX2IdX20LLyQxS2VfXFpqWRj7cju6LRre/WhbRDChc8kWIW/XXOhxAZOmIOMvH0s+m5m1uZNGOUK0rPIfEpfjkioT57TYHfYvEXEe6UAoCCHEI8pHFw5KOtTk5o9uRDPCUZlew2spdOlwsqP9BPFjWLWZa4ZI/Fj3O8c92jVAOJ4dH504DAynwvCXMm33jBehOSjC1DO+qgoG0prz2hIl7on0QyvRZzABfaheG6Z/ZNzUb5eAWrrT2q5GvANtB3nbRABfQONJ/6CK+WXLOp9bFjlJEqFe9PmG/QGRzJomDSmVIJ4TglIoOU7sFXP4fp41q43PIwGkb6JCG3DlqrC3O/VspBYQA7WRGraPmaTJ1fRGf 5pIEaZKA RtzBrVzgbIhORft9YasWwNXhybLrf608PYkJ4/zEx3+Nobe3mA8zRHQED9uMG5epKch6CzhAT9E2ZZuc1b/fQruYkf9dUkEhjHiBJARgnoV+c7vRKZ9/CWgK6fhjPtYkmDQc5+EHubVZKedSqAupSUjf0rTTC9H8ujyp/OdasBib14FDVkCSNah01zzjil822ysNDeLbqC3rs8drtiK7HvxNnvCaGO43Ub9HGtqmlZ4kbXmwtKRlfB+2TRvk8FC0rWxFbXbQqfQlVKhYQX0VYOWQswEvhjXnoTRcaqtDmX8DLMuwlWdaJ77Re1VTAgDiS0N8KQ09anI8zHJhO5lQPkiBdJADJkKwznvcoHtWj00kOOXCqPP3uLcETx+pUEVdtvO26Y8lQAAUaGl9jiQxILEwt5vJZ53NSiA4dP+4+xgFU4+RYNlZd0essiQ== 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 Tue, Sep 12, 2023 at 03:47:45PM +0200, Vlastimil Babka wrote: > I think after this change we should [...] Speaking of follow-ups, AFAICS we no longer need those either: diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 9cad31de1bf5..bea499fbca58 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -1751,13 +1751,6 @@ static void steal_suitable_fallback(struct zone *zone, struct page *page, old_block_type = get_pageblock_migratetype(page); - /* - * This can happen due to races and we want to prevent broken - * highatomic accounting. - */ - if (is_migrate_highatomic(old_block_type)) - goto single_page; - /* Take ownership for orders >= pageblock_order */ if (current_order >= pageblock_order) { change_pageblock_range(page, current_order, start_type); @@ -1926,24 +1919,15 @@ static bool unreserve_highatomic_pageblock(const struct alloc_context *ac, continue; /* - * In page freeing path, migratetype change is racy so - * we can counter several free pages in a pageblock - * in this loop although we changed the pageblock type - * from highatomic to ac->migratetype. So we should - * adjust the count once. + * It should never happen but changes to + * locking could inadvertently allow a per-cpu + * drain to add pages to MIGRATE_HIGHATOMIC + * while unreserving so be safe and watch for + * underflows. */ - if (is_migrate_highatomic_page(page)) { - /* - * It should never happen but changes to - * locking could inadvertently allow a per-cpu - * drain to add pages to MIGRATE_HIGHATOMIC - * while unreserving so be safe and watch for - * underflows. - */ - zone->nr_reserved_highatomic -= min( - pageblock_nr_pages, - zone->nr_reserved_highatomic); - } + zone->nr_reserved_highatomic -= min( + pageblock_nr_pages, + zone->nr_reserved_highatomic); /* * Convert to ac->migratetype and avoid the normal I think they were only in place because we could change the highatomic status of pages on the pcplist, and those pages would then end up on some other freelist due to the stale pcppage cache. I replaced them locally with WARNs and ran an hour or so of kernel builds under pressure. It didn't trigger. So I would send a follow up to remove them. Unless you point me to a good reason why they're definitely still needed - in which case this is a moot proposal - but then we should make the comments more specific.