* [PATCH 1/12][SOCK] make sk_alloc use kmalloc for non performance critical families
@ 2005-01-21 3:18 Arnaldo Carvalho de Melo
0 siblings, 0 replies; only message in thread
From: Arnaldo Carvalho de Melo @ 2005-01-21 3:18 UTC (permalink / raw)
To: David S. Miller; +Cc: Networking Team
[-- Attachment #1: Type: text/plain, Size: 67 bytes --]
Hi David,
Please see the log in the patch.
Regards,
- Arnaldo
[-- Attachment #2: 1-sk_alloc.patch --]
[-- Type: text/plain, Size: 1590 bytes --]
===================================================================
ChangeSet@1.1999, 2005-01-20 20:25:41-02:00, acme@toy.ghostprotocols.net
[SOCK] make sk_alloc use kmalloc for non performance critical families
With this we can have aggregate protocol specific struct proto_sock
allocated for non performance critical protocols.
We still check for slab == NULL && zero_it == 1 to allocate from the
generic "sock" slab cache, but this will be removed when all the
network families stop using sk_protinfo, when the generic "sock"
slab cache will be removed.
Signed-off-by: Arnaldo Carvalho de Melo <acme@conectiva.com.br>
Signed-off-by: David S. Miller <davem@davemloft.net>
sock.c | 17 ++++++++++++++---
1 files changed, 14 insertions(+), 3 deletions(-)
diff -Nru a/net/core/sock.c b/net/core/sock.c
--- a/net/core/sock.c 2005-01-21 00:24:03 -02:00
+++ b/net/core/sock.c 2005-01-21 00:24:03 -02:00
@@ -621,9 +621,17 @@
{
struct sock *sk = NULL;
- if (!slab)
+ /*
+ * Transitional, this test will be removed when sk_cachep is killed
+ */
+ if (slab == NULL && zero_it == 1)
slab = sk_cachep;
- sk = kmem_cache_alloc(slab, priority);
+
+ if (slab != NULL)
+ sk = kmem_cache_alloc(slab, priority);
+ else
+ sk = kmalloc(zero_it, priority);
+
if (sk) {
if (zero_it) {
memset(sk, 0,
@@ -662,7 +670,10 @@
__FUNCTION__, atomic_read(&sk->sk_omem_alloc));
security_sk_free(sk);
- kmem_cache_free(sk->sk_slab, sk);
+ if (sk->sk_slab != NULL)
+ kmem_cache_free(sk->sk_slab, sk);
+ else
+ kfree(sk);
module_put(owner);
}
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2005-01-21 3:18 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-01-21 3:18 [PATCH 1/12][SOCK] make sk_alloc use kmalloc for non performance critical families Arnaldo Carvalho de Melo
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.