Received: by 2002:a05:6a10:5bc5:0:0:0:0 with SMTP id os5csp2066786pxb; Thu, 28 Oct 2021 15:34:24 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwfN4GNZEtTovdn1hW6Jp8KInuumYIh8xhg7bWi098hOWT8mWUshoYXUQyInvczk8C80kFi X-Received: by 2002:a17:907:7f8b:: with SMTP id qk11mr9063660ejc.313.1635460464315; Thu, 28 Oct 2021 15:34:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1635460464; cv=none; d=google.com; s=arc-20160816; b=cA0Vkbh/zwEyVkIOPS9+vbVPHkVNmKX5GIdUF5cWellJMwCk9lOZR2fx4y3mrKfGAS u7V6TmY4aV0qKddD4N91lWTKEvPcKCtLuXy0sBgSTWGd+Kb0xvjBufll5UVpNvh7RZAK DUZZYDd3QETmTtZkEGay5G5MOHcev5d6SgZyqwqiUSv6FszHrZ64dJGCZAAGUHSOXh+N RDdgbTdQ6b87HHng424Un2PutAQvEtt5Ds6p6x08gGY0PGJV9kGZcLUZ0wvG+4VDM2gE cKNpueOvDPJkI2Ws6IPnZwJdF6XbxMEWPiCcg4w1A/AMbLgGk6UF6VDJaehWEAZLEYRV N0zg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=I7eGen7JECVUkThvRVTTwozLhXseRbCfKOTfYdXKRBs=; b=RppqhAQFCBDV1Cy7ZyMQNOVOp7FxIXJ6rr/af+CwC9rH2gl64UXhReYt8VNeZ8MynB F18/B1A4oxyB+7JRcibZBmfWyRlFq9BRZ6CiyKyDUD86TMTnlCYAWOS6c5ZbZifIMWqd sai+Aw1Jprf+w/fhowjOc60BjVVH3M6Z1DnCrccSPQ9j4uCBGH1iTM0NAfwsOlg/m//w /sB6IzPG8HAfwIryc/MgE41CW39kaXfU7kNVTdWIqibv4pP5JpDkNyhAh3+fGxouVzDl mYix/tQlLqCyeZH0yIpNloZwUIPA4T3eIVPq206z5nA0H2mZjahJmYusyOduUuP3KON3 Vyjw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@riseup.net header.s=squak header.b=HGGWnteP; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=riseup.net Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id cw16si7410999ejc.737.2021.10.28.15.34.01; Thu, 28 Oct 2021 15:34:24 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@riseup.net header.s=squak header.b=HGGWnteP; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=riseup.net Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231463AbhJ1Weg (ORCPT + 99 others); Thu, 28 Oct 2021 18:34:36 -0400 Received: from mx1.riseup.net ([198.252.153.129]:55022 "EHLO mx1.riseup.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231235AbhJ1Wec (ORCPT ); Thu, 28 Oct 2021 18:34:32 -0400 Received: from fews1.riseup.net (fews1-pn.riseup.net [10.0.1.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "mail.riseup.net", Issuer "R3" (not verified)) by mx1.riseup.net (Postfix) with ESMTPS id 4HgKrn3djkzDyBS; Thu, 28 Oct 2021 15:25:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=riseup.net; s=squak; t=1635459945; bh=xHy97TRGd36uilCrXHAAiqs5DSSNpliTXZiimyIItEI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=HGGWntePD6SJ3W8AQP2t7v1gaM/SXLDYfeGBKv4wFPx2gSNpGbtygrH+aPuDwkmie YmR+0CWLnCdn72ahYp1YxFAcLwKenB7+zazbgwQvbrqGZ7JRhedrGQguXn1URjeI3e oQm1P/OrkJIY8WplmRX5uUqTfelNvDgrnecHHL1w= X-Riseup-User-ID: 96FDC7424422932BC9CE54B2BC348A375FED1B021415608E30FB90EF665580BB Received: from [127.0.0.1] (localhost [127.0.0.1]) by fews1.riseup.net (Postfix) with ESMTPSA id 4HgKrj3tHgz5vvd; Thu, 28 Oct 2021 15:25:41 -0700 (PDT) From: Isabella Basso To: geert@linux-m68k.org Cc: ferreiraenzoa@gmail.com, augusto.duraes33@gmail.com, brendanhiggins@google.com, dlatypov@google.com, davidgow@google.com, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, kunit-dev@googlegroups.com, ~lkcamp/patches@lists.sr.ht, rodrigosiqueiramelo@gmail.com, akpm@linux-foundation.org, skhan@linuxfoundation.org, Isabella Basso , Isabella Basso Subject: [PATCH v3 1/5] hash.h: remove unused define directive Date: Thu, 28 Oct 2021 19:25:29 -0300 Message-Id: <20211028222533.432641-2-isabbasso@riseup.net> In-Reply-To: <20211028222533.432641-1-isabbasso@riseup.net> References: <20211028222533.432641-1-isabbasso@riseup.net> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Isabella Basso Currently, there exist hash_32() and __hash_32() functions, which were introduced in a patch [1] targeting architecture specific optimizations. These functions can be overridden on a per-architecture basis to achieve such optimizations. They must set their corresponding define directive (HAVE_ARCH_HASH_32 and HAVE_ARCH__HASH_32, respectively) so that header files can deal with these overrides properly. As the supported 32-bit architectures that have their own hash function implementation (i.e. m68k, Microblaze, H8/300, pa-risc) have only been making use of the (more general) __hash_32() function (which only lacks a right shift operation when compared to the hash_32() function), remove the define directive corresponding to the arch-specific hash_32() implementation. [1] https://lore.kernel.org/lkml/20160525073311.5600.qmail@ns.sciencehorizons.net/ Reviewed-by: David Gow Tested-by: David Gow Co-developed-by: Augusto Durães Camargo Signed-off-by: Augusto Durães Camargo Co-developed-by: Enzo Ferreira Signed-off-by: Enzo Ferreira Signed-off-by: Isabella Basso --- Changes since v1: - As suggested by David Gow: 1. Reword commit message. include/linux/hash.h | 5 +---- lib/test_hash.c | 24 +----------------------- tools/include/linux/hash.h | 5 +---- 3 files changed, 3 insertions(+), 31 deletions(-) diff --git a/include/linux/hash.h b/include/linux/hash.h index ad6fa21d977b..38edaa08f862 100644 --- a/include/linux/hash.h +++ b/include/linux/hash.h @@ -62,10 +62,7 @@ static inline u32 __hash_32_generic(u32 val) return val * GOLDEN_RATIO_32; } -#ifndef HAVE_ARCH_HASH_32 -#define hash_32 hash_32_generic -#endif -static inline u32 hash_32_generic(u32 val, unsigned int bits) +static inline u32 hash_32(u32 val, unsigned int bits) { /* High bits are more random, so use them. */ return __hash_32(val) >> (32 - bits); diff --git a/lib/test_hash.c b/lib/test_hash.c index 0ee40b4a56dd..d4b0cfdb0377 100644 --- a/lib/test_hash.c +++ b/lib/test_hash.c @@ -94,22 +94,7 @@ test_int_hash(unsigned long long h64, u32 hash_or[2][33]) pr_err("hash_32(%#x, %d) = %#x > %#x", h0, k, h1, m); return false; } -#ifdef HAVE_ARCH_HASH_32 - h2 = hash_32_generic(h0, k); -#if HAVE_ARCH_HASH_32 == 1 - if (h1 != h2) { - pr_err("hash_32(%#x, %d) = %#x != hash_32_generic() " - " = %#x", h0, k, h1, h2); - return false; - } -#else - if (h2 > m) { - pr_err("hash_32_generic(%#x, %d) = %#x > %#x", - h0, k, h1, m); - return false; - } -#endif -#endif + /* Test hash_64 */ hash_or[1][k] |= h1 = hash_64(h64, k); if (h1 > m) { @@ -227,13 +212,6 @@ test_hash_init(void) #else pr_info("__hash_32() has no arch implementation to test."); #endif -#ifdef HAVE_ARCH_HASH_32 -#if HAVE_ARCH_HASH_32 != 1 - pr_info("hash_32() is arch-specific; not compared to generic."); -#endif -#else - pr_info("hash_32() has no arch implementation to test."); -#endif #ifdef HAVE_ARCH_HASH_64 #if HAVE_ARCH_HASH_64 != 1 pr_info("hash_64() is arch-specific; not compared to generic."); diff --git a/tools/include/linux/hash.h b/tools/include/linux/hash.h index ad6fa21d977b..38edaa08f862 100644 --- a/tools/include/linux/hash.h +++ b/tools/include/linux/hash.h @@ -62,10 +62,7 @@ static inline u32 __hash_32_generic(u32 val) return val * GOLDEN_RATIO_32; } -#ifndef HAVE_ARCH_HASH_32 -#define hash_32 hash_32_generic -#endif -static inline u32 hash_32_generic(u32 val, unsigned int bits) +static inline u32 hash_32(u32 val, unsigned int bits) { /* High bits are more random, so use them. */ return __hash_32(val) >> (32 - bits); -- 2.33.1