diff options
| author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2019-03-30 10:17:36 +0100 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2019-03-30 10:17:36 +0100 |
| commit | 40c493e29885df8b9e3eaef8418af97ce8a90967 (patch) | |
| tree | 027d2db67f512bc754bd315b69330af03f88be68 /usb-usb.h-tweak-struct-urb-to-remove-wasted-space.patch | |
| parent | fcc8d57689005dc360ad29bc63d06a844efc11c4 (diff) | |
| download | patches-40c493e29885df8b9e3eaef8418af97ce8a90967.tar.gz | |
new patches added
Diffstat (limited to 'usb-usb.h-tweak-struct-urb-to-remove-wasted-space.patch')
| -rw-r--r-- | usb-usb.h-tweak-struct-urb-to-remove-wasted-space.patch | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/usb-usb.h-tweak-struct-urb-to-remove-wasted-space.patch b/usb-usb.h-tweak-struct-urb-to-remove-wasted-space.patch new file mode 100644 index 00000000000000..83641335d1f9b1 --- /dev/null +++ b/usb-usb.h-tweak-struct-urb-to-remove-wasted-space.patch @@ -0,0 +1,35 @@ +From cde8161f9ee466655588b66a106276044b2fc282 Mon Sep 17 00:00:00 2001 +From: Greg Kroah-Hartman <gregkh@linuxfoundation.org> +Date: Fri, 1 Mar 2019 18:13:27 +0100 +Subject: [PATCH] USB: usb.h: tweak struct urb to remove wasted space + +By moving one field around in 'struct urb' we reduce the size of the +structure by 8 bytes. + +Before the patch on x86_64 the overall size of the structure as reported +by pahole was: + /* size: 192, cachelines: 3, members: 30 */ + /* sum members: 184, holes: 2, sum holes: 8 */ +After the patch we now have: + /* size: 184, cachelines: 3, members: 30 */ + /* last cacheline: 56 bytes */ + +Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> +--- + include/linux/usb.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/include/linux/usb.h ++++ b/include/linux/usb.h +@@ -1545,10 +1545,10 @@ typedef void (*usb_complete_t)(struct ur + struct urb { + /* private: usb core and host controller only fields in the urb */ + struct kref kref; /* reference count of the URB */ ++ int unlinked; /* unlink error code */ + void *hcpriv; /* private data for host controller */ + atomic_t use_count; /* concurrent submissions counter */ + atomic_t reject; /* submissions will fail */ +- int unlinked; /* unlink error code */ + + /* public: documented fields in the urb that can be used by drivers */ + struct list_head urb_list; /* list head for use by the urb's |
