From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-qk1-f182.google.com (mail-qk1-f182.google.com [209.85.222.182]) (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 1B9AB287247 for ; Thu, 21 May 2026 23:31:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.182 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779406273; cv=none; b=KooABZldbhJQ4LTrp8Ec8dLA5/rhoyLYJIyA9LmNX++fRnPnZJ4HC6yieSxcF9SNo7ttP5em6mJOpWVu/8EeHGPDYEW6Gtp7MekQMxmbAOD/cyJ0PaPVYX6Ve4sAeBKYybKCEM6zTm+YME/MhNi3uGNchIjd/dbtBV6T7Jk5reE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779406273; c=relaxed/simple; bh=82g4Tho5NWunK558UwT+b9NNPbB4NOpanfbpaN+b7nc=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=UTdZp2ATHaXN6pY5dsjtenxjsmSpsF+7F931fghKF50tOTh7LBi/egBAxRzjuGCxkwmAwNDIfGA9JVZRe/aDSNkIJP7lqXfuiS1mSlNlwAaeLVlAAkRkEOBVuJm9H6KGEhNoR9WuSAajXBN5Vwu+BTBh3TVSGw/YbZG5lSCW32s= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=soleen.com; spf=pass smtp.mailfrom=soleen.com; dkim=pass (2048-bit key) header.d=soleen.com header.i=@soleen.com header.b=Kkd2aRfA; arc=none smtp.client-ip=209.85.222.182 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=soleen.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=soleen.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=soleen.com header.i=@soleen.com header.b="Kkd2aRfA" Received: by mail-qk1-f182.google.com with SMTP id af79cd13be357-913cc4d7c71so698931385a.2 for ; Thu, 21 May 2026 16:31:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=soleen.com; s=google; t=1779406271; x=1780011071; darn=vger.kernel.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=DnVBY/gIrvG9PTA5e+cvuIrP5NR07Enj/HmhXB9HoTY=; b=Kkd2aRfAz5VR+SeW4OBowxHdDaCGh+dUizvWVknDDoden7Q16oJgFAm8+sPd7VfFRA slzqJ5xcjDrLB7qC40Pwn/B3gcRkYbIIm9x+Qez+GmnGJ+xGT45sOiPOVx1PC00wzS1G SW1geN/efwQyB9rHhmkNFTc6D08rall0vBVBqO7l4mLXQBAUzfLfDHvSn48aJ7lPs327 ZQkR5skr6NrLlfa4LpkPygfO42Ro9KcHmdW9fj4vHywtFFha7xYi4v7R7Jk12x/ouTFd fs3q9taaJ/ouvo1/vi/eHpYdpLDNHm8KNShr5L+xw5KPu2Zzlx1fOlnervEhxA0/JeGn E+AQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779406271; x=1780011071; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=DnVBY/gIrvG9PTA5e+cvuIrP5NR07Enj/HmhXB9HoTY=; b=bPP8h4G7vPi+a5KxBv7IYXG4zZWW7Iduz/qc1iwBIuG3spe90hug4pYUveC+UyCgPD hWpfb+9GfLe1KRATZlt7o+STdSNdbRftO6ZP0uH7IT6V8cO+Q3aEyICyBS/5MV7+NYKE pStiqV0A4SdltiiMS5dhsoxExIanhH07X686RSrdvYZU7RAEd7d1WwAnVbQKrV4BH9Gi 49v9IsljvncwB2Re5qhV513HskcmglnM7Edf4gJ9juvkEc6+EFaVvtbCEf1KDZms0HqM 07isKgoopMHvPF3Pbll+HD7QWdrPOigjK8UYujHK3yusYj7nM3qYUiHcczEulS+GXMrL 9Khw== X-Forwarded-Encrypted: i=1; AFNElJ8pSJMF6sbTRtSKSbGgSaZTNlt/8zRq/qZ67CdLLuV124XTxmSvTmPfE9DKdpux/tO4sPiMH8pquKUuU0U=@vger.kernel.org X-Gm-Message-State: AOJu0Ywy6WrYIlHFtLzm2bOBiBM/lSxEu8+IPFcJjbjZYD5YVHNRPAWD EUjp3YgqF2kngpFcN7CRLJZgwpsKgWOAwB+7HnhcO1vvXHGsMXef5/bpTjJZdfLOYg0= X-Gm-Gg: Acq92OGmlDDWX5smj2erlVRgigETSwPlylQ9iHBxu4H5EDBELXlzVeDLbY9g4ZMeBa8 spcjh33V+arF1SMXaQ21Ci4VyVcjRABsPPfROJawA8a9pAEQM7bZzaUPtJuOlCEOzwe38mhsX1A gi+yVwK6i5EHRUzLOC3h5m9uhvSlEzInxTHiCmKBP8DE2jur98dDv098bF/SREs/hRmeFumCEBe hHQ6M+XZ5slrXeC8bZ6LpeMMvYn5FKrI8ka2k9OQWkOYfvnuN8ARztqdd7OdtEywEGuvnPL/b/3 E8Ek+Z+yPP9bxCY3KMFXYFQy6oh2qsH6ZQKSDbsU5h4A1MTrAYBhJM2zgfVKK/4KGE1vFksN2Pl FpHA/Xsw4WVe1MuD5I7yA0JuauAZRX0qxOAiUXaFMMzFJ4REC3hFVocItSIol3B26uGtesBa5no qJ9h5S1txvMPAyBIhe6Aa3vAM5+wZUuEY0t2ChWxqtVR2ymBl1PNfYpDLjImVsxQ== X-Received: by 2002:a05:620a:8393:b0:8cf:c0c9:bca with SMTP id af79cd13be357-914b492cebemr215182885a.17.1779406270986; Thu, 21 May 2026 16:31:10 -0700 (PDT) Received: from plex ([71.181.43.54]) by smtp.gmail.com with ESMTPSA id af79cd13be357-914b604e040sm34931385a.45.2026.05.21.16.31.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2026 16:31:10 -0700 (PDT) Date: Thu, 21 May 2026 23:31:09 +0000 From: Pasha Tatashin To: Pratyush Yadav Cc: Mike Rapoport , Pasha Tatashin , Alexander Graf , Muchun Song , Oscar Salvador , David Hildenbrand , Andrew Morton , Jason Miu , kexec@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 03/12] kho: add a struct for radix callbacks Message-ID: References: <20260429133928.850721-1-pratyush@kernel.org> <20260429133928.850721-4-pratyush@kernel.org> <2vxzzf25c39x.fsf@kernel.org> <2vxz5x4tat6w.fsf@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <2vxz5x4tat6w.fsf@kernel.org> On 05-12 11:11, Pratyush Yadav wrote: > On Tue, May 12 2026, Mike Rapoport wrote: > > > On Mon, May 11, 2026 at 06:35:54PM +0200, Pratyush Yadav wrote: > >> On Mon, May 11 2026, Mike Rapoport wrote: > >> > >> > On Wed, Apr 29, 2026 at 03:39:05PM +0200, Pratyush Yadav wrote: > >> >> From: "Pratyush Yadav (Google)" > >> >> > >> >> A future commit will add more callbacks for the KHO radix tree. Add a > >> >> struct for collecting the callbacks. > >> >> > >> >> Signed-off-by: Pratyush Yadav (Google) > >> >> --- > >> [...] > >> >> --- a/kernel/liveupdate/kexec_handover.c > >> >> +++ b/kernel/liveupdate/kexec_handover.c > >> >> @@ -266,16 +266,18 @@ void kho_radix_del_key(struct kho_radix_tree *tree, unsigned long key) > >> >> } > >> >> EXPORT_SYMBOL_GPL(kho_radix_del_key); > >> >> > >> >> -static int kho_radix_walk_leaf(struct kho_radix_leaf *leaf, > >> >> - unsigned long key, > >> >> - kho_radix_tree_walk_callback_t cb) > >> >> +static int kho_radix_walk_leaf(struct kho_radix_leaf *leaf, unsigned long key, > >> >> + const struct kho_radix_walk_cb *cb) > >> >> { > >> >> unsigned long *bitmap = (unsigned long *)leaf; > >> >> unsigned int i; > >> >> int err; > >> >> > >> >> + if (!cb->key) > >> >> + return 0; > >> >> + > >> >> for_each_set_bit(i, bitmap, PAGE_SIZE * BITS_PER_BYTE) { > >> >> - err = cb(key | i); > >> >> + err = cb->key(key | i); > >> > > >> > key(key) reads weird :) > >> > Can't say I have a good name, maybe key_action()? > >> > >> I thought the context of it being under a callback struct would make it > >> more obvious. I don't like key_action() much better TBH, but I don't > >> have a strong opinion. Perhaps Pasha can suggest a 3rd option and we > >> pick on randomly ;-) > > > > Another option I thought is to call them ->leaf() and ->node(). > > This one sounds nice. Will use it in v2. Thank you. I also prefer ->leaf() and ->node(); they are simple and applicable to any tree. > > -- > Regards, > Pratyush Yadav