Re: [PATCH] nfsd: Simplify the allocation of slab caches in nfsd_drc_slab_create

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thank you to all the guys who responded to my emails.

On 2024/2/2 22:24, Jeff Layton wrote:
On Fri, 2024-02-02 at 09:13 -0500, Benjamin Coddington wrote:
On 1 Feb 2024, at 3:19, Kunwu Chan wrote:

Use the new KMEM_CACHE() macro instead of direct kmem_cache_create
to simplify the creation of SLAB caches.
Make the code cleaner and more readable.

Signed-off-by: Kunwu Chan <chentao@xxxxxxxxxx>
---
  fs/nfsd/nfscache.c | 3 +--
  1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/fs/nfsd/nfscache.c b/fs/nfsd/nfscache.c
index 5c1a4a0aa605..64ce0cc22197 100644
--- a/fs/nfsd/nfscache.c
+++ b/fs/nfsd/nfscache.c
@@ -166,8 +166,7 @@ nfsd_reply_cache_free(struct nfsd_drc_bucket *b, struct nfsd_cacherep *rp,

  int nfsd_drc_slab_create(void)
  {
-	drc_slab = kmem_cache_create("nfsd_drc",
-				sizeof(struct nfsd_cacherep), 0, 0, NULL);
+	drc_slab = KMEM_CACHE(nfsd_cacherep, 0);
  	return drc_slab ? 0: -ENOMEM;
  }

--
2.39.2

I don't agree that the code is cleaner or more readable like this.  I really
dislike having to parse through the extra "simplification" to see what's
actually being called and sent.

Just my .02 worth.

Ben


Everyone has a different opinion. From newcomers like me, a simple code is more important than checking all the args of a call function to understand what it does. Too many default arguments can cost us a lot of time that could be spent understanding the main logic of the module code, rather than wasting it on a single line of calls.

This will also result in a behavioral change. The "nfsd_drc" string is
lost with the above macro and (I think) the new name will be
"nfsd_cacherep". I'm not necessarily opposed to that, as I don't think
anything depends on the old name, but it should at least be noted in the
changelog.
Thanks i'll update my v2 patch with a new commit msg to show the name change.


--
Thanks,
  Kunwu





[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux