]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
KABI: padding optimization
authorManjunath Govindashetty <manjunath.govindashetty@oracle.com>
Thu, 10 Dec 2015 02:10:58 +0000 (18:10 -0800)
committerSantosh Shilimkar <santosh.shilimkar@oracle.com>
Fri, 11 Dec 2015 17:15:45 +0000 (09:15 -0800)
Orabug : 22239883

Removed pads affecting the network datapath in sock , sk_buff
net , pci_dev and iptunnel

Signed-off-by: Manjunath Govindashetty <manjunath.govindashetty@oracle.com>
include/linux/blkdev.h
include/linux/mm_types.h
include/linux/pci.h
include/linux/skbuff.h
include/linux/user_namespace.h
include/net/ip_tunnels.h
include/net/net_namespace.h
include/net/sock.h
include/scsi/scsi_host.h

index d22c8ad2c1a15ac09a3bc2615182b734058ff620..d78df14d857f257f0d3c8b760681096b6312d934 100644 (file)
@@ -308,12 +308,11 @@ struct queue_limits {
        unsigned char           cluster;
        unsigned char           discard_zeroes_data;
        unsigned char           raid_partial_stripes_expensive;
-         /* Oracle inc use only
-          *
-          * The following padding has been inserted before ABI freeze to
-          * allow extending the structure while preserving ABI.
-          */
-
+  /* Oracle inc use only
+   *
+   * The following padding has been inserted before ABI freeze to
+   * allow extending the structure while preserving ABI.
+   */
         UEK_KABI_RESERVED(1)
         UEK_KABI_RESERVED(2)
 };
index f41302bfd50df7028c7c928603386a4e05b0f831..169b381951685dd453f3d01d16671b0ccdf765b6 100644 (file)
@@ -1,7 +1,6 @@
 #ifndef _LINUX_MM_TYPES_H
 #define _LINUX_MM_TYPES_H
 
-#include <linux/uek_kabi.h>
 #include <linux/auxvec.h>
 #include <linux/types.h>
 #include <linux/threads.h>
@@ -11,6 +10,7 @@
 #include <linux/rwsem.h>
 #include <linux/completion.h>
 #include <linux/cpumask.h>
+#include <linux/uek_kabi.h>
 #include <linux/uprobes.h>
 #include <linux/page-flags-layout.h>
 #include <asm/page.h>
@@ -314,7 +314,7 @@ struct vm_area_struct {
 #ifdef CONFIG_NUMA
        struct mempolicy *vm_policy;    /* NUMA policy for the VMA */
 #endif
-        /* Oracle inc use only 
+        /* Oracle inc use only
          * The following padding has been inserted before ABI freeze to
          * allow extending the structure while preserving ABI.
          */
index 90a6ffe468c8e38afea8944c205f7f5ff06e8fb8..2882e4f4056adfb2189a11dea30f9ff84c87feb4 100644 (file)
@@ -33,7 +33,6 @@
 #include <uapi/linux/pci.h>
 
 #include <linux/pci_ids.h>
-#include <linux/uek_kabi.h>
 
 /*
  * The PCI interface treats multi-function devices as independent
@@ -380,14 +379,6 @@ struct pci_dev {
        phys_addr_t rom; /* Physical address of ROM if it's not from the BAR */
        size_t romlen; /* Length of ROM if it's not from the BAR */
        char *driver_override; /* Driver name to force a match */
-/*
- *     Oracle Specific Extension to accomodate future upstream changes to this structure
- *     yet maintain KABI.  For Oracle internal use only!
- */
-        UEK_KABI_EXTEND(u8   uek_reserved1) 
-        UEK_KABI_EXTEND(u16   uek_reserved2) 
-        UEK_KABI_EXTEND(unsigned int   uek_reserved3) 
-        UEK_KABI_EXTEND(u64   uek_reserved4) 
 };
 
 static inline struct pci_dev *pci_physfn(struct pci_dev *dev)
index fcd05bcfba5414617a7aafb748d5155d8c391c54..f15154a879c711870ba649f867fc6eeb47212f14 100644 (file)
@@ -34,7 +34,6 @@
 #include <linux/dma-mapping.h>
 #include <linux/netdev_features.h>
 #include <linux/sched.h>
-#include <linux/uek_kabi.h>
 #include <net/flow_keys.h>
 
 /* A. Checksumming of received packets by device.
@@ -608,7 +607,6 @@ struct sk_buff {
        __u8                    csum_valid:1;
        __u8                    csum_complete_sw:1;
        __u8                    csum_level:2;
-       __u8                    csum_pad:1;
        __u8                    csum_bad:1;
 
 #ifdef CONFIG_IPV6_NDISC_NODETYPE
@@ -677,13 +675,6 @@ struct sk_buff {
                                *data;
        unsigned int            truesize;
        atomic_t                users;
-         /* Oracle inc use only
-          *
-          * The following padding has been inserted before ABI freeze to
-          * allow extending the structure while preserving ABI.
-          */
-        UEK_KABI_RESERVED(1)
-        UEK_KABI_RESERVED(2)
 };
 
 #ifdef __KERNEL__
index 78d1148ca6b6b209799f55e20661136e1ca7643b..54d88cb223910be516c73125ae07e11c44c638e6 100644 (file)
@@ -40,11 +40,11 @@ struct user_namespace {
        struct key              *persistent_keyring_register;
        struct rw_semaphore     persistent_keyring_register_sem;
 #endif
        /* Oracle use only
-          *
-          * The following padding has been inserted before ABI freeze to
-          * allow extending the structure while preserve ABI.
-          */
+ /* Oracle use only
+  *
+  * The following padding has been inserted before ABI freeze to
+  * allow extending the structure while preserve ABI.
+  */
         UEK_KABI_EXTEND(bool                    may_mount_sysfs)
         UEK_KABI_EXTEND(bool                    may_mount_proc)
 };
index 95ceb532447cfb833d9184e36cef38ca793712b5..d8214cb88bbcfa6524a7d1900c543a45a05f7f31 100644 (file)
@@ -5,7 +5,6 @@
 #include <linux/netdevice.h>
 #include <linux/skbuff.h>
 #include <linux/types.h>
-#include <linux/uek_kabi.h>
 #include <linux/u64_stats_sync.h>
 #include <net/dsfield.h>
 #include <net/gro_cells.h>
@@ -85,13 +84,6 @@ struct ip_tunnel {
        unsigned int            prl_count;      /* # of entries in PRL */
        int                     ip_tnl_net_id;
        struct gro_cells        gro_cells;
-         /* Oracle inc use only
-          *
-          * The following padding has been inserted before ABI freeze to
-          * allow extending the structure while preserving ABI.
-          */
-        UEK_KABI_RESERVED(1)
-        UEK_KABI_RESERVED(2)
 };
 
 #define TUNNEL_CSUM            __cpu_to_be16(0x01)
index ee2e43512b3d5456f22490bbf3270ba3a80896f2..f733656404de0ea5cba33c83a641e37dc4e4d5e5 100644 (file)
@@ -28,7 +28,6 @@
 #include <net/netns/xfrm.h>
 #include <net/netns/mpls.h>
 #include <linux/ns_common.h>
-#include <linux/uek_kabi.h>
 
 struct user_namespace;
 struct proc_dir_entry;
@@ -134,18 +133,6 @@ struct net {
 #endif
        struct sock             *diag_nlsk;
        atomic_t                fnhe_genid;
-         /* Oracle use only
-          *
-          * The following padding has been inserted before ABI freeze to
-          * allow extending the structure while preserving ABI.
-          */
-        UEK_KABI_EXTEND(int              sysctl_ip_no_pmtu_disc)
-        UEK_KABI_EXTEND(int              sysctl_ip_fwd_use_pmtu)
-        /* upstream has this as part of netns_ipv4 */
-        UEK_KABI_EXTEND(struct local_ports ipv4_sysctl_local_ports)
-        UEK_KABI_EXTEND(spinlock_t       nsid_lock)
-        /* upstream has this as part of netns_ipv4 */
-        UEK_KABI_EXTEND(struct sock  * __percpu *ipv4_tcp_sk)
 };
 
 #include <linux/seq_file_net.h>
index 6f91ef2f02e2df06e2d08bee1f25705024f68abb..3a4898ec8c67c5242e9467a0d32f2e68f3a55302 100644 (file)
@@ -62,7 +62,6 @@
 #include <linux/filter.h>
 #include <linux/rculist_nulls.h>
 #include <linux/poll.h>
-#include <linux/uek_kabi.h>
 
 #include <linux/atomic.h>
 #include <net/dst.h>
@@ -439,14 +438,6 @@ struct sock {
        int                     (*sk_backlog_rcv)(struct sock *sk,
                                                  struct sk_buff *skb);
        void                    (*sk_destruct)(struct sock *sk);
-        /* Oracle specific
-         * padding inserted before ABI freeze to
-         * allow extending the structure while preserving ABI. Feel free
-         * to replace reserved slots with required structure field
-         * additions of your backport.
-         */
-        UEK_KABI_RESERVED(1)
-        UEK_KABI_RESERVED(2)
 };
 
 #define __sk_user_data(sk) ((*((void __rcu **)&(sk)->sk_user_data)))
index 910aa0279395aa05e155174ce2f6a54675f7d7ea..77ddd61a374b83919c6ffa913d73637bd1b190ae 100644 (file)
@@ -760,7 +760,7 @@ struct Scsi_Host {
         * alignment to a long boundary.
         */
        unsigned long hostdata[0]  /* Used for storage of host specific stuff */
-               __attribute__ ((aligned (sizeof(unsigned long))));
+               __attribute__ ((aligned (sizeof(unsigned long))));
 };
 
 #define                class_to_shost(d)       \