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 0DEB6C28B30 for ; Sun, 23 Mar 2025 18:04:53 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 844C9280002; Sun, 23 Mar 2025 14:04:51 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7F4A5280001; Sun, 23 Mar 2025 14:04:51 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6BD0C280002; Sun, 23 Mar 2025 14:04:51 -0400 (EDT) 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 4D1E3280001 for ; Sun, 23 Mar 2025 14:04:51 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 869A614050F for ; Sun, 23 Mar 2025 18:04:52 +0000 (UTC) X-FDA: 83253591624.08.B1BA896 Received: from mail-wr1-f73.google.com (mail-wr1-f73.google.com [209.85.221.73]) by imf30.hostedemail.com (Postfix) with ESMTP id A3B198000B for ; Sun, 23 Mar 2025 18:04:50 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=tNHRUGUS; spf=pass (imf30.hostedemail.com: domain of 3QU3gZwgKCKILCEMOCPDIQQING.EQONKPWZ-OOMXCEM.QTI@flex--jackmanb.bounces.google.com designates 209.85.221.73 as permitted sender) smtp.mailfrom=3QU3gZwgKCKILCEMOCPDIQQING.EQONKPWZ-OOMXCEM.QTI@flex--jackmanb.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1742753090; 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=6/amBw34dpEJnnZjSrhxGc8BplLP2Fj00al8Lay6Rbc=; b=gAu1MdGAdRX32LdGyaBjyTM/YB+ZiiSzkBKrxlTzPVOkW/LJd1vqoe1uOkQoekik59afmG 9hGI0obgcrUfUqgzqETk8ogn1A/UAtIk5mCZ7KDkG/+8ZkOwMaRfT3dO9dasuLAztfy2Jh jeD5lLKcV0QpCG+URzUEQfjhIoBfvsk= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1742753090; a=rsa-sha256; cv=none; b=LJclrIi3+LonxgRWslxQTzXAgTFA6x4YCvVwKWPnbj7bPX84M/jMD9IVWjfve31+9P20/9 dYtpvzSLyqxzsefRWd+ohr7vhmVC7fvVU5uKUZ1QkDbWeaTKvI70Cr+eKFtfwW1D2+VCDA yz4u8MiQcYKTDuSjejq9H7WqVZZ6C04= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=tNHRUGUS; spf=pass (imf30.hostedemail.com: domain of 3QU3gZwgKCKILCEMOCPDIQQING.EQONKPWZ-OOMXCEM.QTI@flex--jackmanb.bounces.google.com designates 209.85.221.73 as permitted sender) smtp.mailfrom=3QU3gZwgKCKILCEMOCPDIQQING.EQONKPWZ-OOMXCEM.QTI@flex--jackmanb.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com Received: by mail-wr1-f73.google.com with SMTP id ffacd0b85a97d-3912e4e2033so1641772f8f.0 for ; Sun, 23 Mar 2025 11:04:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1742753089; x=1743357889; darn=kvack.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=6/amBw34dpEJnnZjSrhxGc8BplLP2Fj00al8Lay6Rbc=; b=tNHRUGUS6DGazecG5jav4NBVilV8S/Nod5/T1Wph9/jxTDxNzBB3EnKOjeB1ZQ431L UGsU9mYxim7H+GNwpQ+4N8OdtGP12o2Z2GC+DReVNsh3KOiSV7O/v0qNrUiQhMuyRyHI anFcmGD+Jq5E2r6DfuTm8MQJlrgZ7t5HdWnjozKX+zRJuZNuw/DWdprr9fVTrP6bZiHX k7RJNAa0tXH+w6lJrPUSCcfiaw56px/7Ag72nZlhemGGgIyxuWBuzr8UAij1vW3sLveV ugx+gj3wAf7koxENgkYvyIOMaq1yn2NOuXYwRIKCuDDfUx8oLMMLelUDNoXAxQTPg9Os smaw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742753089; x=1743357889; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=6/amBw34dpEJnnZjSrhxGc8BplLP2Fj00al8Lay6Rbc=; b=O02Yok3QlMf7LEShrXZifEXCyaKs9BFAJgLPbUwXDeJPviXs1fZdN8IDonXAPGlARS BgNzFtwvheqhs0w0BGAJhbQZgIGv+hT3l6Zl3N1XYjjscFdY9cBpoAGbLNbK1eDn4loU mqQNkoYyRbVe90prwlrHD1KGmzPaai6JE84wlXLfkhLFIpzX1LHUdf/uRNrXR6EbW21g I/4V9Ujv2/YkXf9U2Dd8UlQ90LRl7GT3RO8NJMlujENvM0Ylw5VlthsjiJcWBtJ7fD3G 3QQAbBG6JgK9m19bEyk8i7tcaRjPj9iWuRAZluSVwfMbNU43iTNNopNWz/a9qQqOWc+Z hmXQ== X-Forwarded-Encrypted: i=1; AJvYcCXYLgULJ93Ong9QO40U1MCxC+1ZIwUgc0DbJYfZNx0R1+uFkLOKwZGR+6yivrc+Lp1SYorzLuCS1w==@kvack.org X-Gm-Message-State: AOJu0YxFMVvoQKflPyyP8xZRi40vW6FZEJv9va6GUZFYxQ1dyoXGqcVu rbqzj+1pEymchcEHCnfTd3QIG/f0qlp0l2xJQ6443/qw+F/weCzh49kcYh4VByp4xcBfnVUOkyq qM3uLrgbv/A== X-Google-Smtp-Source: AGHT+IHBHcAWixxdn5uLrsnvUaunJRGtJMk3uonV52a0UmLLxu6s63W45Y6bQKKwRo7EqfSZ10WJhR/FTkf1eg== X-Received: from wmbfl10.prod.google.com ([2002:a05:600c:b8a:b0:43c:fa2a:77d]) (user=jackmanb job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6000:2c2:b0:391:2df9:772d with SMTP id ffacd0b85a97d-3997f90f731mr10974102f8f.13.1742753089037; Sun, 23 Mar 2025 11:04:49 -0700 (PDT) Date: Sun, 23 Mar 2025 19:04:29 +0100 In-Reply-To: <20250323034657.GD1894930@cmpxchg.org> Mime-Version: 1.0 References: <20250313210647.1314586-1-hannes@cmpxchg.org> <20250313210647.1314586-4-hannes@cmpxchg.org> <20250323005823.GB1894930@cmpxchg.org> <20250323013405.GC1894930@cmpxchg.org> <20250323034657.GD1894930@cmpxchg.org> X-Mailer: aerc 0.18.2 Message-ID: Subject: Re: [PATCH 3/5] mm: page_alloc: defrag_mode From: Brendan Jackman To: Johannes Weiner Cc: Andrew Morton , Vlastimil Babka , Mel Gorman , Zi Yan , , Content-Type: text/plain; charset="UTF-8" X-Rspam-User: X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: A3B198000B X-Stat-Signature: bbw61fx5snprap37hx3knobwqg1xnwr7 X-HE-Tag: 1742753090-39222 X-HE-Meta: U2FsdGVkX19+2CBqeZvleJChheQvkvN1MCkzxZqVJ6TPHyxWlypv7i7zQ0AgWxqAOZJcpOnUV7Dxksck+VeKyK+3By37X5xm78f6xa097d4s6q3/S9pkcdZBKcpRfL5qtIwycZQIPX0A5cHyZ2BgzdZbekD0RGoI3k245EORmd0AbWf0mIFenMZg/JjIijymSeIxCoxEUHveGXrEnhk0Yo05ayo9RWGHNqFdxybnlH4JsJg+BOlYtGoPc7Y+QH7jmlTl9MltuRJAOdnhbJEI2mYJNWNXeSyhUCRGMouzPzFQFcnaxrfx0CCElCHM4EBrJ4t3xpx+tP/X7/t8hj82NZfFLDt44+ttIzOp8HhZ9VMdXBKK5txbr8tQHtHPoBBOS5U5YLLDVRyS7HE8+jAbJhZalcZhXGCiKCoI6quPnaDpGh8sYwtAxHdrN56lWEf77VwZMsrsZMDAaeQDqEYzLRD0qK4dNqHTc+3P2TGyzKdP2cQdSgy6czDi8gnb4IxEP8abbNH1rf46zaupAnOSVTiCqahAFiJSjcKgW6wXh9f4cm9jYwpJcUV8ygntACZz0W4yyTKhSC/e+GeijxynFtTQPbB1//8M/4GFx+SGrqCOn37dp6CzTkRu83FUKIRoakbMwWCkg2gFL+z77ti6vb+Y0iA3/fVaDR8yjRqIIG7pKuDRvYm2PIDLrou8SegLlg7iGiIdcnEBDKZBp2EBMpYfUXjDiPVtSbGqgimFypOrfWXaeE1TvV9qmXgAxegoU5FBtzpcWSTlCzlJbLby/CEyUkk0UXvCfjNgrkrl6Mj3mzYUy1nWE7Iw/cScwFG5pKQEkaFglZ3ah/My1YEzzEPJB7FvoqW6Mlf7gqgW9BhgjGYLStPCxNV1qPACzGXW+9d3WEEY9CZKuS/XitmOmB3gSm280gJsY8zX3pP5pZojahcq+9HYMBIjzJgdrcNzha46iqP8IIbxPD2X9DY 99Pad5oM MzxGALAHlHl/HsoOZQ12UJZOKEY1WunzlX5F1zyHK4loCRQcSCymmv1VJPWBNBbI2fmCZNZV+9x1pL6XLMmbdiOru/S3M0EbKQQZnuj9PgRssMMcuIi5YEhEvUFPZpsdKlAjzR3yefPgEqj5Ijjr9eAJ29gyTBLRsxE/jf9YtKpYj8lDlSYT/MEnP9Oz8JDVwPQ3Qyly7/K8MpmhnlayrqIPwnsMvA+h4xGkMAmE4ooimHd7v7HwHYGsvOEb0bUKDRJ9BgEcEOqpzQxQeMmg9EQ0oje96cV4HB6Z8SBvtfjYMeFq/38EBE8uaxBEzF1aEfIOlHLxB7qIoamKiBsMc/zrzV2SmFL23LqcmyBtaJmoHzVi5glBh0oCgFdex7KC/NEbkVK2Clovy00opXqC3yRnnrVp71Tr7IPH65cDUXxnPIofTTcmVwaHWxKVDXlvwNp+/rjFRuIoIXtxOBdAYSlHymaf1SXQNQAeFiXqghBoRNA0x8U3abtHHA8Zcg/TSHLvZqvOFd0Grotsf+jr3TvDvx0r9s4YlEDzgamDIbtmKGlGwwobtYCmq41Wy8n1in9s8F07czjkp/vO9fm935CdQq77tumwY2G3fP4otr/BV3OJnObgTa5PFaQ== 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: List-Subscribe: List-Unsubscribe: On Sun Mar 23, 2025 at 4:46 AM CET, Johannes Weiner wrote: > On Sat, Mar 22, 2025 at 09:34:09PM -0400, Johannes Weiner wrote: > > On Sat, Mar 22, 2025 at 08:58:27PM -0400, Johannes Weiner wrote: > > > On Sat, Mar 22, 2025 at 04:05:52PM +0100, Brendan Jackman wrote: > > > > On Thu Mar 13, 2025 at 10:05 PM CET, Johannes Weiner wrote: > > > > > + /* Reclaim/compaction failed to prevent the fallback */ > > > > > + if (defrag_mode) { > > > > > + alloc_flags &= ALLOC_NOFRAGMENT; > > > > > + goto retry; > > > > > + } > > > > > > > > I can't see where ALLOC_NOFRAGMENT gets cleared, is it supposed to be > > > > here (i.e. should this be ~ALLOC_NOFRAGMENT)? > > > > Please ignore my previous email, this is actually a much more severe > > issue than I thought at first. The screwed up clearing is bad, but > > this will also not check the flag before retrying, which means the > > thread will retry reclaim/compaction and never reach OOM. > > > > This code has weeks of load testing, with workloads fine-tuned to > > *avoid* OOM. A blatant OOM test shows this problem immediately. > > > > A simple fix, but I'll put it through the wringer before sending it. > > Ok, here is the patch. I verified this with intentional OOMing 100 > times in a loop; this would previously lock up on first try in > defrag_mode, but kills and recovers reliably with this applied. > > I also re-ran the full THP benchmarks, to verify that erroneous > looping here did not accidentally contribute to fragmentation > avoidance and thus THP success & latency rates. They were in fact not; > the improvements claimed for defrag_mode are unchanged with this fix: Sounds good :) Off topic, but could you share some details about the tests/benchmarks you're running here? Do you have any links e.g. to the scripts you're using to run them?