LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* [RFC][PATCH]Small Minor optimization to kmem_cache_estimate
@ 2001-10-05 11:34 BALBIR SINGH
2001-10-05 23:44 ` David S. Miller
0 siblings, 1 reply; 2+ messages in thread
From: BALBIR SINGH @ 2001-10-05 11:34 UTC (permalink / raw)
To: linux-kernel
[-- 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.
----------------------------------------------------------------------------------------------------------------------
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [RFC][PATCH]Small Minor optimization to kmem_cache_estimate
2001-10-05 11:34 [RFC][PATCH]Small Minor optimization to kmem_cache_estimate BALBIR SINGH
@ 2001-10-05 23:44 ` David S. Miller
0 siblings, 0 replies; 2+ messages in thread
From: David S. Miller @ 2001-10-05 23:44 UTC (permalink / raw)
To: balbir.singh; +Cc: linux-kernel
From: "BALBIR SINGH" <balbir.singh@wipro.com>
Date: Fri, 05 Oct 2001 17:04:21 +0530
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.
Since this code only occurs during SLAB creation, you estimation on
CPU savings is correct.
Why live with it? Less changes to verify would be one reason :-)
Franks a lot,
David S. Miller
davem@redhat.com
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2001-10-05 23:44 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-10-05 11:34 [RFC][PATCH]Small Minor optimization to kmem_cache_estimate BALBIR SINGH
2001-10-05 23:44 ` David S. Miller
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).