net: remove padding from struct socket on 64bit & increase objects/cache
Richard Kennedy [Tue, 8 Jul 2008 10:03:01 +0000 (03:03 -0700)]
remove padding from struct socket reducing its size by 8 bytes.

This allows more objects/cache in sock_inode_cache
12 objects/cache when cacheline size is 128 (generic x86_64)

Signed-off-by: Richard Kennedy <richard@rsk.demon.co.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>

include/linux/net.h

index 71f7dd5..150a48c 100644 (file)
@@ -106,23 +106,23 @@ enum sock_shutdown_cmd {
 /**
  *  struct socket - general BSD socket
  *  @state: socket state (%SS_CONNECTED, etc)
+ *  @type: socket type (%SOCK_STREAM, etc)
  *  @flags: socket flags (%SOCK_ASYNC_NOSPACE, etc)
  *  @ops: protocol specific socket operations
  *  @fasync_list: Asynchronous wake up list
  *  @file: File back pointer for gc
  *  @sk: internal networking protocol agnostic socket representation
  *  @wait: wait queue for several uses
- *  @type: socket type (%SOCK_STREAM, etc)
  */
 struct socket {
        socket_state            state;
+       short                   type;
        unsigned long           flags;
        const struct proto_ops  *ops;
        struct fasync_struct    *fasync_list;
        struct file             *file;
        struct sock             *sk;
        wait_queue_head_t       wait;
-       short                   type;
 };
 
 struct vm_area_struct;