linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "BALBIR SINGH" <balbir.singh@wipro.com>
To: linux-kernel@vger.kernel.org
Subject: [RFC][PATCH]Small Minor optimization to kmem_cache_estimate
Date: Fri, 05 Oct 2001 17:04:21 +0530	[thread overview]
Message-ID: <3BBD9ABD.6040909@wipro.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 1113 bytes --]

A small minor optimization in kmem_cache_estimate() slab.c

The patch below saves some CPU cycles, especially when the value of size
is small. This is against 2.4.2-2.

--- slab.c.org  Fri Oct  5 16:09:39 2001
+++ slab.c      Fri Oct  5 16:46:34 2001
@@ -386,10 +386,10 @@
                base = sizeof(slab_t);
                extra = sizeof(kmem_bufctl_t);
        }
-       i = 0;
+       i = (wastage - base)/(size + extra);
        while (i*size + L1_CACHE_ALIGN(base+i*extra) <= wastage)
                i++;
-       if (i > 0)
+       while (i*size + L1_CACHE_ALIGN(base+i*extra) > wastage)
                i--;

instead of looping through to get the right value, we make a guess
(mathematically) and move a bit to get the correct value.

Hey, I remember reading the Newton-Raphson method in school.

I verified the number of objects per slab is the same in both cases.
This patch may not improve the performance of your CPU by a great amount,
but when there is a faster way to do things, why live with the slower one.

NOTE: The code hardly does one loop in both the while statements.

Comments,
Balbir



[-- Attachment #2: Wipro_Disclaimer.txt --]
[-- Type: text/plain, Size: 853 bytes --]

----------------------------------------------------------------------------------------------------------------------
Information transmitted by this E-MAIL is proprietary to Wipro and/or its Customers and
is intended for use only by the individual or entity to which it is
addressed, and may contain information that is privileged, confidential or
exempt from disclosure under applicable law. If you are not the intended
recipient or it appears that this mail has been forwarded to you without
proper authority, you are notified that any use or dissemination of this
information in any manner is strictly prohibited. In such cases, please
notify us immediately at mailto:mailadmin@wipro.com and delete this mail
from your records.
----------------------------------------------------------------------------------------------------------------------


             reply	other threads:[~2001-10-05 11:33 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-10-05 11:34 BALBIR SINGH [this message]
2001-10-05 23:44 ` [RFC][PATCH]Small Minor optimization to kmem_cache_estimate David S. Miller

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=3BBD9ABD.6040909@wipro.com \
    --to=balbir.singh@wipro.com \
    --cc=linux-kernel@vger.kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).