All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.