From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f49.google.com (mail-wm1-f49.google.com [209.85.128.49]) (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 B41BA2882B6 for ; Tue, 23 Dec 2025 19:08:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.49 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766516939; cv=none; b=aewffm0WAXLzL+n0rgAAd6lEwYK03b2KcBpa23Pg02pDvWGtvdvXxbRpU1ZHVQfwGBJ+udegOfG6k9sBZA0XECshJ19VVBQRrW1vRZZeKRASN+orIJf9OItwzcdICTa/II1zuIflSOUdOCTBOxxrdgzeGAsvACO+EdV986ly6mA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766516939; c=relaxed/simple; bh=bxWOviDURpu0BngGmKehQNKByWXinUctQypHgi4C1Gc=; h=Date:From:To:Cc:Subject:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=SN/Fy0yGaDr9w2x+c+AESaXrac0KBwN3huzs9lTeQB9wSMSEUtdMOBwyUwMeCeB0By9EZapZaXK7JpsJYhEPvanr8ZeCVDpdJMz+Q8tvq4kFMFfM6mY/7XMwznWDNPiwwkRlHfb03OD74+GNshkAfX1L7wzH6lcaX2QC/v0MLWg= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=I92Drk0H; arc=none smtp.client-ip=209.85.128.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="I92Drk0H" Received: by mail-wm1-f49.google.com with SMTP id 5b1f17b1804b1-47bdbc90dcaso35001425e9.1 for ; Tue, 23 Dec 2025 11:08:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1766516936; x=1767121736; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:from:to:cc:subject:date :message-id:reply-to; bh=f94AB6cb3HG/eWMYQqlXm4FzeTrvvTstknIkIvvEzDE=; b=I92Drk0H/L7ON18EzB4Vsp0kvupFHG5qM6By7aEunbBWfrrYubxQE74/F1OZpPPord qSdr5nDGp79FWcihTbChFZ+KXH3pSb/DpGoPYiM2iva+tB53o6vF+QzzMK0o0ZonHRsE rSrC+PqO21anh2y3jRfVIxRPWVGkeftz+5JNNU6AnDOxz0TG9OjxjN4vH9hvqK+7lOmY 1qzsMf4skwi/zmBOPyn0WQg2Yvv0ZuHLsp3dfMaCuV5xzLA1cvK+9bOCabs0feWY+JSp YDWaRzB4twStxseywmL8i7qdsNOMFxeFH0UvJXoPXLJ2WeItGII1pZlM6bciCnQ+X4sA tIBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766516936; x=1767121736; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=f94AB6cb3HG/eWMYQqlXm4FzeTrvvTstknIkIvvEzDE=; b=i7ZPQJDbVYmsGj5LMjp98jCATjdPoIcU6c1Oq93xVlXIgp3EbjdbrvzNDp73wFlODC usmFDsRruEI/Sn9GCl+mOl6JLaEtxfS6zhvxf7/eadJC+gy4iy/uUe/gDpmH4UNKD7sa QRzL0660rpIcqYqVr01hxWM2pwL6TC3g2hwAZ8+9XbvpQrocGaN+S+oyII3DSTfDYD15 6YAHFZlpn/53c86eDMw9egnyoSDSPjST7NqCqe6QYPqBDQTSqFg7gnK/ND+qWoFNjB3D GfHh+6Y71uPemdF+gM77XwVZIS9gwZHSIZqRaZ0p7HCnsYuEuSpDyCZGYYLrvcQIyAU6 Fg6g== X-Forwarded-Encrypted: i=1; AJvYcCUR1RRpDGFkbvhMB0ghYVtIACis8auXwszQAOakO6y0zXW/CBUA0nZdQz8xBhXeeynQe0QYFLGpXntOXUU=@vger.kernel.org X-Gm-Message-State: AOJu0YzD8v/sRgCZAJUt6IghXl6oNTdyUGtZjIy6o3OjZO4MJb+M6At8 StC67paTeH/W1NhMfkX3Pulo7qmUU5LgWo8Qtq3WM3dy3/291XOjDHH8 X-Gm-Gg: AY/fxX6t8msG3agLAsXgUGIOvTl7moohZ0fb2KheGwZXkzwF/4NUAFNJpv0s6mejOFU JryAZzT8hx0m0n1+26+LLixwW2rO9I11D40NQLqPHpBC1SM4TmZmdDZ8d4SN5VoBRM092sREIh6 gWaDJwhcUCQgkHFEFuqtwY7nbvJMXeuqsEauJWTO6gNiFOjBrQZLzPih74qFkc/tW/WLH/HpcJ6 rGg/iyVQXJHBmejMckGFc9nKHtOg/gHztQayySwDW5uBz/UE6z/zZ1FN5UycDYJurvewLQtUFnY bXDs6qymnp42o9dj4Y+rE4lhgBQiyQvBx8FYWBQUtd4MJGRQHP1YMT9GlwjxmA1qxrAzIEO9y/W FeYG5pOVLZ7yyAXNgsZyrVzwBr5IUg6rTLA4u4+oJIcfyjcFg2YY73rf2WYwjnzHiK3sDUB/s8O 4SztbqgTNsLh4kAOdYgZAnC96Xj5jDus7Nh8OgJ49MQOBX1MDT++8= X-Google-Smtp-Source: AGHT+IH3Q0hPHKJKChpo35Wgcum55tE85eoWpfZOgkdjlvObESRWfsHXpeJunSU5cP6/XSJwW1Ja9A== X-Received: by 2002:a05:600c:45cf:b0:477:75eb:a643 with SMTP id 5b1f17b1804b1-47d19533403mr139222325e9.4.1766516931787; Tue, 23 Dec 2025 11:08:51 -0800 (PST) Received: from pumpkin (host-2-103-239-165.as13285.net. [2.103.239.165]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4324ea227casm29610174f8f.15.2025.12.23.11.08.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 23 Dec 2025 11:08:51 -0800 (PST) Date: Tue, 23 Dec 2025 19:08:46 +0000 From: David Laight To: "Yury Norov (NVIDIA)" Cc: Tony Nguyen , Przemek Kitszel , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rasmus Villemoes , Andrew Morton , intel-wired-lan@lists.osuosl.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 2/3] ice: use bitmap_weighted_xor() in ice_find_free_recp_res_idx() Message-ID: <20251223190846.76ff4dc0@pumpkin> In-Reply-To: <20251223162303.434659-3-yury.norov@gmail.com> References: <20251223162303.434659-1-yury.norov@gmail.com> <20251223162303.434659-3-yury.norov@gmail.com> X-Mailer: Claws Mail 4.1.1 (GTK 3.24.38; arm-unknown-linux-gnueabihf) 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-Transfer-Encoding: 7bit On Tue, 23 Dec 2025 11:23:01 -0500 "Yury Norov (NVIDIA)" wrote: > Use the right helper and save one bitmaps traverse. It makes no difference here. The bitmap has 48 entries and is just a single 'long' on 64bit. It is also already in a very slow path that has iterated all the 'set' bit of two bitmaps. The code is also pretty convoluted and confusing already. One of the other bitmaps has 64 entries, recoding using u64 would make it a bit more readable. Doing the 'weight' here is also just optimising for failure. Oh, and using u8 and u16 for function parameters, return values and maths requires extra instructions and is usually a bad idea. Dvaid > > Signed-off-by: Yury Norov (NVIDIA) > --- > drivers/net/ethernet/intel/ice/ice_switch.c | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) > > diff --git a/drivers/net/ethernet/intel/ice/ice_switch.c b/drivers/net/ethernet/intel/ice/ice_switch.c > index 84848f0123e7..903417477929 100644 > --- a/drivers/net/ethernet/intel/ice/ice_switch.c > +++ b/drivers/net/ethernet/intel/ice/ice_switch.c > @@ -4984,10 +4984,8 @@ ice_find_free_recp_res_idx(struct ice_hw *hw, const unsigned long *profiles, > hw->switch_info->recp_list[bit].res_idxs, > ICE_MAX_FV_WORDS); > > - bitmap_xor(free_idx, used_idx, possible_idx, ICE_MAX_FV_WORDS); > - > /* return number of free indexes */ > - return (u16)bitmap_weight(free_idx, ICE_MAX_FV_WORDS); > + return (u16)bitmap_weighted_xor(free_idx, used_idx, possible_idx, ICE_MAX_FV_WORDS); > } > > /**