From: linux@treblig.org
To: idryomov@gmail.com, xiubli@redhat.com, ceph-devel@vger.kernel.org
Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
"Dr. David Alan Gilbert" <linux@treblig.org>
Subject: [PATCH] libceph: Remove crush deadcode
Date: Fri, 11 Oct 2024 23:47:36 +0100 [thread overview]
Message-ID: <20241011224736.236863-1-linux@treblig.org> (raw)
From: "Dr. David Alan Gilbert" <linux@treblig.org>
crush_bucket_alg_name(), crush_get_bucket_item_weight(), crush_hash32(),
and crush_hash32_5() were added by commit
5ecc0a0f8128 ("ceph: CRUSH mapping algorithm")
in 2009 but never used.
crush_hash_name() was added a little later by commit
fb690390e305 ("ceph: make CRUSH hash function a bucket property")
and also not used.
Remove them.
They called a couple of static functions crush_hash32_rjenkins1()
and crush_hash32_rjenkins1_5() which are now unused.
Also remove them.
Signed-off-by: Dr. David Alan Gilbert <linux@treblig.org>
---
include/linux/crush/crush.h | 2 --
include/linux/crush/hash.h | 5 ----
net/ceph/crush/crush.c | 37 -----------------------
net/ceph/crush/hash.c | 59 -------------------------------------
4 files changed, 103 deletions(-)
diff --git a/include/linux/crush/crush.h b/include/linux/crush/crush.h
index 30dba392b730..ed26099957df 100644
--- a/include/linux/crush/crush.h
+++ b/include/linux/crush/crush.h
@@ -117,7 +117,6 @@ enum {
CRUSH_BUCKET_STRAW = 4,
CRUSH_BUCKET_STRAW2 = 5,
};
-extern const char *crush_bucket_alg_name(int alg);
/*
* although tree was a legacy algorithm, it has been buggy, so
@@ -314,7 +313,6 @@ struct crush_map {
/* crush.c */
-extern int crush_get_bucket_item_weight(const struct crush_bucket *b, int pos);
extern void crush_destroy_bucket_uniform(struct crush_bucket_uniform *b);
extern void crush_destroy_bucket_list(struct crush_bucket_list *b);
extern void crush_destroy_bucket_tree(struct crush_bucket_tree *b);
diff --git a/include/linux/crush/hash.h b/include/linux/crush/hash.h
index 904df41f7847..0ee007a98236 100644
--- a/include/linux/crush/hash.h
+++ b/include/linux/crush/hash.h
@@ -12,13 +12,8 @@
#define CRUSH_HASH_DEFAULT CRUSH_HASH_RJENKINS1
-extern const char *crush_hash_name(int type);
-
-extern __u32 crush_hash32(int type, __u32 a);
extern __u32 crush_hash32_2(int type, __u32 a, __u32 b);
extern __u32 crush_hash32_3(int type, __u32 a, __u32 b, __u32 c);
extern __u32 crush_hash32_4(int type, __u32 a, __u32 b, __u32 c, __u32 d);
-extern __u32 crush_hash32_5(int type, __u32 a, __u32 b, __u32 c, __u32 d,
- __u32 e);
#endif
diff --git a/net/ceph/crush/crush.c b/net/ceph/crush/crush.c
index 254ded0b05f6..9331f91f1242 100644
--- a/net/ceph/crush/crush.c
+++ b/net/ceph/crush/crush.c
@@ -7,43 +7,6 @@
# include "crush.h"
#endif
-const char *crush_bucket_alg_name(int alg)
-{
- switch (alg) {
- case CRUSH_BUCKET_UNIFORM: return "uniform";
- case CRUSH_BUCKET_LIST: return "list";
- case CRUSH_BUCKET_TREE: return "tree";
- case CRUSH_BUCKET_STRAW: return "straw";
- case CRUSH_BUCKET_STRAW2: return "straw2";
- default: return "unknown";
- }
-}
-
-/**
- * crush_get_bucket_item_weight - Get weight of an item in given bucket
- * @b: bucket pointer
- * @p: item index in bucket
- */
-int crush_get_bucket_item_weight(const struct crush_bucket *b, int p)
-{
- if ((__u32)p >= b->size)
- return 0;
-
- switch (b->alg) {
- case CRUSH_BUCKET_UNIFORM:
- return ((struct crush_bucket_uniform *)b)->item_weight;
- case CRUSH_BUCKET_LIST:
- return ((struct crush_bucket_list *)b)->item_weights[p];
- case CRUSH_BUCKET_TREE:
- return ((struct crush_bucket_tree *)b)->node_weights[crush_calc_tree_node(p)];
- case CRUSH_BUCKET_STRAW:
- return ((struct crush_bucket_straw *)b)->item_weights[p];
- case CRUSH_BUCKET_STRAW2:
- return ((struct crush_bucket_straw2 *)b)->item_weights[p];
- }
- return 0;
-}
-
void crush_destroy_bucket_uniform(struct crush_bucket_uniform *b)
{
kfree(b->h.items);
diff --git a/net/ceph/crush/hash.c b/net/ceph/crush/hash.c
index fe79f6d2d0db..33792c0ea132 100644
--- a/net/ceph/crush/hash.c
+++ b/net/ceph/crush/hash.c
@@ -24,17 +24,6 @@
#define crush_hash_seed 1315423911
-static __u32 crush_hash32_rjenkins1(__u32 a)
-{
- __u32 hash = crush_hash_seed ^ a;
- __u32 b = a;
- __u32 x = 231232;
- __u32 y = 1232;
- crush_hashmix(b, x, hash);
- crush_hashmix(y, a, hash);
- return hash;
-}
-
static __u32 crush_hash32_rjenkins1_2(__u32 a, __u32 b)
{
__u32 hash = crush_hash_seed ^ a ^ b;
@@ -73,34 +62,6 @@ static __u32 crush_hash32_rjenkins1_4(__u32 a, __u32 b, __u32 c, __u32 d)
return hash;
}
-static __u32 crush_hash32_rjenkins1_5(__u32 a, __u32 b, __u32 c, __u32 d,
- __u32 e)
-{
- __u32 hash = crush_hash_seed ^ a ^ b ^ c ^ d ^ e;
- __u32 x = 231232;
- __u32 y = 1232;
- crush_hashmix(a, b, hash);
- crush_hashmix(c, d, hash);
- crush_hashmix(e, x, hash);
- crush_hashmix(y, a, hash);
- crush_hashmix(b, x, hash);
- crush_hashmix(y, c, hash);
- crush_hashmix(d, x, hash);
- crush_hashmix(y, e, hash);
- return hash;
-}
-
-
-__u32 crush_hash32(int type, __u32 a)
-{
- switch (type) {
- case CRUSH_HASH_RJENKINS1:
- return crush_hash32_rjenkins1(a);
- default:
- return 0;
- }
-}
-
__u32 crush_hash32_2(int type, __u32 a, __u32 b)
{
switch (type) {
@@ -130,23 +91,3 @@ __u32 crush_hash32_4(int type, __u32 a, __u32 b, __u32 c, __u32 d)
return 0;
}
}
-
-__u32 crush_hash32_5(int type, __u32 a, __u32 b, __u32 c, __u32 d, __u32 e)
-{
- switch (type) {
- case CRUSH_HASH_RJENKINS1:
- return crush_hash32_rjenkins1_5(a, b, c, d, e);
- default:
- return 0;
- }
-}
-
-const char *crush_hash_name(int type)
-{
- switch (type) {
- case CRUSH_HASH_RJENKINS1:
- return "rjenkins1";
- default:
- return "unknown";
- }
-}
--
2.47.0
next reply other threads:[~2024-10-11 22:47 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-11 22:47 linux [this message]
2024-10-12 13:32 ` [PATCH] libceph: Remove crush deadcode Simon Horman
2024-10-27 20:40 ` Ilya Dryomov
2024-10-27 21:00 ` Dr. David Alan Gilbert
2024-10-27 21:47 ` Ilya Dryomov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20241011224736.236863-1-linux@treblig.org \
--to=linux@treblig.org \
--cc=ceph-devel@vger.kernel.org \
--cc=idryomov@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=xiubli@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.