From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f202.google.com (mail-pl1-f202.google.com [209.85.214.202]) (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 35CD2288B1 for ; Wed, 8 Apr 2026 11:04:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.202 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775646297; cv=none; b=B5KBUiVf1D3zl70hPIcTW5Ys5C+6eXTcJCb4lHcavRmCR14KjTG9Ry9VQec/v1ySvpQsXUvOijuBy+XC7CXO6+B/PTbj5F4FEslGjTrxKQUMa2DJzoUcq7+UjIr1phm1sDRZZfW2Bv07oG0WLqFi4VLQjTOCkUTw8AtuvZNV558= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775646297; c=relaxed/simple; bh=GZMCJolJQf4iopHXOvsa4bzZKwb0GDSa6TuYmZA3rps=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=vCNwjFunW1glX5ML/x+mIQWqZatl3M45rDqPCpzdPDz1iHk49g9cD2n9x10NVsSZCcgep7NPFmqGoUTT2uNhX6h8DUTIP4AAEAyCCVqP2Hkim0d9y8ql8S9miKml453tGcgHswoYvKkUfSu6RhVQHumI0LSG2Uu7NwZFb4caOBw= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--joonwonkang.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=WQKnq1lp; arc=none smtp.client-ip=209.85.214.202 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=flex--joonwonkang.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="WQKnq1lp" Received: by mail-pl1-f202.google.com with SMTP id d9443c01a7336-2b0bf2b3879so159795205ad.1 for ; Wed, 08 Apr 2026 04:04:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20251104; t=1775646295; x=1776251095; darn=vger.kernel.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=1QFeYzDg8GJ9NKSr0YRaZ+Ij5/0muyTGiaNqDyaMghA=; b=WQKnq1lp033yhBbFtinG7YKinuUga1QyPhux4Jj9oAx8Mo3GX9M4KO3jQknf2a2ZVu Dl1ByLc6We05GbkxMp2Tdn1aOxkC/WLKt/2U+t4FC4XR93EojrlYNOFTyqi9K8Nj17pO 3MePMkams9lNNDiyqfNcJ6HzGC35QXfytGYv8t3grjdFARlHDnngfK3+uB5AtkXZkwA1 LFvRf4bfZ+t1BqiGxtDbZ7jIbliuhlFZlub8rjHIFB/UXSrrP1FHb7TJEa2VxKVkPZp8 aa3dVEmyRbtuN721aFrLS70qYfctwDc5YR5gWXYqM5cmm63ZcQ9Me718ExMgebUCKWhS NqQQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775646295; x=1776251095; 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=1QFeYzDg8GJ9NKSr0YRaZ+Ij5/0muyTGiaNqDyaMghA=; b=MN6jbQl/DeB7gtaSVvE7VL8lML1XHndoqrMcsUMFQqkzBqMCSgJjEGJYz9cWnagvXx TLVsc3sVkWiSMiQeIg/sOn4ICvISAfvhYvIJSTjOhIR44lyW1gY0TbdkcY3cPBnpJkn0 u18QS3Vwz2QGcAFB/knCAzdoVuf8tTJaM2WdTbbIsCbS3wQrGNZPq6jkIVi51FfNS9HR OcuSlp9GbGvX9rTrqgOguiIe4ZN8faZn+OCT3rB41dm38TKkHcwKIsEVZt277Mvp1yzi huMlOLOZQy0lpCJijm/AxTrqWlr62eD7BtepxAhrRUOQf8neMX4kp7fBXq/hO0vrQg60 9fLA== X-Forwarded-Encrypted: i=1; AJvYcCVlbRSsfg/FjFbQInDgE5lqI2mLWO4ookAQcRh5SzVcIw493JcXhZxL4w2V3OmKK9TYl0yu34eZk3orI+c=@vger.kernel.org X-Gm-Message-State: AOJu0YwN+ELnnL4fQLDgimMhjH0c1Qq8DxHigkKvJUHiBPqXDQ/VwlV/ UgHgDJ50iSr2taXjWf21Die+LMJXYBM7KnVIR/LM1h+JIzcbJWjNUkZ1lUqazyruUjRl22T6j2Q RKy1L7/ehAIeeZHmA5T39hOfVNA== X-Received: from plrd7.prod.google.com ([2002:a17:902:aa87:b0:2b0:495c:f3ec]) (user=joonwonkang job=prod-delivery.src-stubby-dispatcher) by 2002:a17:903:38c3:b0:2b0:a980:367c with SMTP id d9443c01a7336-2b28167312cmr221287015ad.2.1775646295294; Wed, 08 Apr 2026 04:04:55 -0700 (PDT) Date: Wed, 8 Apr 2026 11:04:53 +0000 In-Reply-To: <20260408100642.83919-1-joonwonkang@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20260408100642.83919-1-joonwonkang@google.com> X-Mailer: git-send-email 2.53.0.1213.gd9a14994de-goog Message-ID: <20260408110453.694461-1-joonwonkang@google.com> Subject: Re: [PATCH v2] percpu: Fix hint invariant breakage From: Joonwon Kang To: joonwonkang@google.com Cc: akpm@linux-foundation.org, cl@gentwo.org, dennis@kernel.org, dodam@google.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org, tj@kernel.org Content-Type: text/plain; charset="UTF-8" > The invariant "scan_hint_start > contig_hint_start if and only if > scan_hint == contig_hint" should be kept for hint management. However, > it could be broken in some cases: > > - if (new contig == contig_hint == scan_hint) && (contig_hint_start < > scan_hint_start < new contig start) && the new contig is to become a > new contig_hint due to its better alignment, then scan_hint should > be invalidated instead of keeping the old value. > > - if (new contig == contig_hint > scan_hint) && (new contig start < > contig_hint_start) && the new contig is not to become a new > contig_hint, then scan_hint should be not updated to the new contig. > > This commit refactors the percpu block update code to make it more > visible on what to consider, e.g. when the new contig overlaps with the > old contig_hint or scan_hint, fixes the invariant breakage and also > optimizes scan_hint further. Some of the optimization cases when no > overlap occurs are: > > - if (new contig > contig_hint > scan_hint) && (scan_hint_start < new > contig start < contig_hint_start), then keep scan_hint instead of > invalidating it. > > - if (new contig > contig_hint == scan_hint) && (contig_hint_start < > new contig start < scan_hint_start), then update scan_hint to the > old contig_hint instead of invalidating it. > > - if (new contig == contig_hint > scan_hint) && (new contig start < > contig_hint_start) && the new contig is to become a new contig_hint > due to its better alignment, then update scan_hint to the old > contig_hint instead of invalidating or keeping it. > > Signed-off-by: Joonwon Kang I have just encountered a kernel panic with this patch. Will submit a new version after working on it. Thanks, Joonwon Kang