From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-lf1-f43.google.com (mail-lf1-f43.google.com [209.85.167.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1708A43C051 for ; Mon, 29 Jun 2026 15:27:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=pass smtp.client-ip=209.85.167.43 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782746858; cv=pass; b=UIUdpR7yjs9CtRP+xU4+6yDcaLttw3SHlprOwjaG5nTL6NPEzmsyqdk22PENSQKkierk/KXCQ2usmkanJj80ns4cQLYzcXkP4rTL5bMvFcAUWFmxv0eObjpwUhAn70KS0IkvMnjvDx0QVAYBgj9bdnwr//POdgtFCShGNbELiuI= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782746858; c=relaxed/simple; bh=4qOR90tTRCkVBMGE2YOkqSvyYF1Pm1pU3Tovf2gPwL0=; h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=Lj4oXi7pB0ttRgjOq3XxQt9iOnEsD5snkzsCmg5QftjNXxBnxdbLy5GWf5z3zMltj5vm0KZZG0/98pCCOATATWRjmNtT4YSAqwez9cazvh1yi5By5VOo1IISmuRc9ssbzme7oDKOGXFrNIszGA2CPabD9is7pswURTO/k8y4ufk= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=dSlD1MQC; arc=pass smtp.client-ip=209.85.167.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="dSlD1MQC" Received: by mail-lf1-f43.google.com with SMTP id 2adb3069b0e04-5aebbe750f8so4325e87.1 for ; Mon, 29 Jun 2026 08:27:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1782746855; cv=none; d=google.com; s=arc-20260327; b=ofCcukBadFfQ8qOzrNtmNhiuJSpq/y2EG2mcELSwtnJCiY8O2B+zyKD6UB4UlbKBeV I9iz0J3k2DeKt1wpVX3Ja1QMm1tyJOPnj9D7cGxYuLjIRqelb6sCcsM+JvVfVSwmYVBs JtBe9tdwtGiVzGnCnYtoeo74Z+01QvSs8xhgXVfHHeTBe90D61/mqUHXEXf/OKOxDL0W /5E8YcJQnwqq0bffDHWrxMMCi8BdlaoNrNmNqvi6G02zzgui521tHnFH0eD2STZLGqWM RnG4lA+mccaZvS8AwLDjKi7RndghVnabPF8Oxcl3Ch5PLJLPrmZfy0cFUQ1q8rwPX1xr hokg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=nSMNBXqdu7f+jFfHmGj9KxEgcM0T/vdkEFz8bc4WpYw=; fh=B5eb4Y3oOM7+j3Ch0aiEtBLuHjyjr0qrT9d6HV7bo7A=; b=CQh6jVA5hkEoQbxBDMTOOrVOb5+X5I/CcFuCFalZykvhAz22ETKq7t+/iDcra63Qqq ZgVPVjHMYc7hdzmnB7IPBoeLweBCnHqWpcl9GbJ5i4JrMXiumOdA8KUxNqbQK92hLgfD h6yfMbIJ9MBlPbpiEsrWQ+8YnIWV/0hfjlaIYVfj3kJ1hAKzJt/0cpJmcosk8SvFi4rL o/g+aduST5AvZWjYtn9Z7XUzu8oL6UcyOzgzFPkntW3FssF3PkTdxicSLx4jTD3Y2aH8 je2c4/rVyt+akxQhYavq14uP1ZXxzrbhBu0QOZYk7rjAOAhzeccyAnom16+ON30w/xVn ODpA==; darn=vger.kernel.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20251104; t=1782746855; x=1783351655; darn=vger.kernel.org; h=content-type:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:from:to:cc:subject:date:message-id:reply-to :content-type; bh=nSMNBXqdu7f+jFfHmGj9KxEgcM0T/vdkEFz8bc4WpYw=; b=dSlD1MQCUtkk1L8lBJfz/a/XUeeSiYodfcGnJToBHKYBqjUzXZHBS9Pr9x2O0U7SBN GNoHzxTSjz9gqkyk27ZLqJun7IaSm714TK//v1OF6dboZxG1FgBVG+TjygXQp6W5+Q94 L7NQXuqxKjRp1pcHzynrxR7HuaFz+oZb099WeujOpBwRh4RpHjVt55Xn1r3X6vEWUcxU I+FjkG+c7V2fLYmQbHboZIvZy0lUfDrtFk88HiqZG6c/1r7JPXBWcg+8ipiacXemWNU3 fjCfCk1YfPeCfCp65+aEbb7eXPt0JmEjn2KGkLhGkYVrMv4F4grLuzTmAcCxHLGoQqqe +rDA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782746855; x=1783351655; h=content-type:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to:content-type; bh=nSMNBXqdu7f+jFfHmGj9KxEgcM0T/vdkEFz8bc4WpYw=; b=RucQLkD5w9dNszmzvb7JavqQK9XBTSa7gAOskgm8PuPjflqadIg0ZxXH2ag8rDk7O7 QGhpcA2Qxng5o/nmVPtEO0o1zvw8nbJOmNBGjuGJfZaTn4xevGPNtNKfXKec/hMaPBFA DFEwBKUwuoRb+TDyrckWAkv0s4InMfxHRjVg9g2u1Y8Uw4DJll/G+LSUvDGjbkjmV16w qzJmCbCxzpc7Gy2+/DJyryOD9BJU+0G/v2pcWwBYomJ+4ELjk9/J7y+FiUy18nloHWqw 3adDT2vOFpZXOXiu8UWNmwtebHs1CPkbNp0UqNOTzhhmSq0WlreyJswf4niIM4A33nvZ fsTQ== X-Forwarded-Encrypted: i=1; AHgh+Rq9Q43FUxUmK1Jb8v+LzzyNLQ1sZojrurOYHgP1jAn6pn8qzJSXyNFBz+VEOcYC3IofSadLgUSVINn96i8=@vger.kernel.org X-Gm-Message-State: AOJu0YwfA9qpVhG8VFBMalabvDvUe99g9nmaDY8taqw5ptr9OcvJd/9l Zher+6w1QV6EVZTFTgvg/1Yc1K87PIDxxW9ImkOGCNuhQnDLeDSQ1v9YCwqQq3ppvqVpAwvhsxn ilrEKceXv18vu16X9adXt1NUg/RV1G8wX9rEui0vL1Sitp48QlJZIG8CjBJ4= X-Gm-Gg: AfdE7ckp7uwnI8FpYD1bLiwwkfGgOhibiLwxPTzCHblHEKa2J+QYrmyVdqYtR/mnaZS WroBasmp+Wtj3S26a1aLQJTmJfbV/AMUM8HYZrw6XODGzZuMN45jm+ic/q7fbAHZBhOgmBOYVnm sFHb/og9yy+bhmdb5an4jLOMBpi3kxj2tjat/T8aXcjev+YTroXSuNDOw+8Ar/rAcrlQJ1fQ97M 5E1XLD7m5XkaF8FDfCIukUoqHoj2FAE/jG5Bj1XWohWjsFv/LlLxAyooq8C1nrTr4tOp/2gww== X-Received: by 2002:a05:6512:4289:b0:5ae:ba7d:e41e with SMTP id 2adb3069b0e04-5aebd79ed0cmr6149e87.10.1782746854623; Mon, 29 Jun 2026 08:27:34 -0700 (PDT) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 References: <20260629-alloc-trylock-v3-0-57bef0eadbc2@google.com> <20260629-alloc-trylock-v3-5-57bef0eadbc2@google.com> <20260629142921.9A05A1F000E9@smtp.kernel.org> In-Reply-To: <20260629142921.9A05A1F000E9@smtp.kernel.org> From: Brendan Jackman Date: Mon, 29 Jun 2026 17:27:22 +0200 X-Gm-Features: AVVi8Cez06atlBYDxc5qOHWHrzUA1EIkcGdk101W9a6vnlRoxyYgsDx2otTEPB8 Message-ID: Subject: Re: [PATCH v3 05/16] mm/page_alloc: unify __alloc_frozen_pages[_nolock]_noprof() To: sashiko-reviews@lists.linux.dev Cc: linux-rt-devel@lists.linux.dev, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" On Mon, 29 Jun 2026 at 16:29, wrote: > > Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider: > - [High] Spurious allocation failures for ALLOC_NOLOCK on fragmented systems > -- > > commit e9001ddaf8c952ebe08e5042f720b09e0b4a5da8 > Author: Brendan Jackman > > mm/page_alloc: unify __alloc_frozen_pages[_nolock]_noprof() > > This commit unifies the core allocator entry points by pulling the ALLOC_NOLOCK > control up into __alloc_frozen_pages_noprof(). It turns the nolock variant > into a thin wrapper that just sets the ALLOC_NOLOCK flag and handles > NUMA_NO_NODE. > > > diff --git a/mm/page_alloc.c b/mm/page_alloc.c > > index a3ba63c7f9199..8d409d075e3e9 100644 > > --- a/mm/page_alloc.c > > +++ b/mm/page_alloc.c > > [ ... ] > > > @@ -5310,9 +5384,9 @@ struct page *__alloc_frozen_pages_noprof(gfp_t gfp, unsigned int order, > > fastpath_alloc_flags |= alloc_flags_nofragment(zonelist_zone(ac.preferred_zoneref), gfp); > > fastpath_alloc_flags |= alloc_flags_nonblocking(gfp, order) & ALLOC_HIGHATOMIC; > > > > - /* First allocation attempt */ > > + /* First allocation attempt (or, for nolock, only attempt) */ > > page = get_page_from_freelist(alloc_gfp, order, fastpath_alloc_flags, &ac); > > - if (likely(page)) > > + if (likely(page) || (alloc_flags & ALLOC_NOLOCK)) > > goto out; > > [Severity: High] > Could this lead to spurious allocation failures for ALLOC_NOLOCK requests > on fragmented systems? > > In the pre-patch code, alloc_frozen_pages_nolock_noprof() bypassed > alloc_flags_nofragment(), allowing it to successfully steal pages from > other migratetypes when its preferred migratetype was empty. Oh, yep. Given "no functional change intended" this should not set ALLOC_NOFRAGMENT when ac.alloc_flags has ALLOC_NOLOCK. (Is this intentional? Do we really want to allow "opportunistic" allocations, which are very much allowed to fail, to fragment memory? It doesn't look like this was discussed at when the nolock functionality was added).