USB: m66592-udc: reduce size of data structure.
authorPaul Mundt <lethal@linux-sh.org>
Wed, 13 Feb 2008 08:02:33 +0000 (17:02 +0900)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 25 Apr 2008 04:16:35 +0000 (21:16 -0700)
Poking around with pahole, we see that m66592 handily shoves a u16 in
between larger types on 2 separate occasions leaving us with 2 2-byte
holes:

struct m66592 {
...

/* size: 1196, cachelines: 38 */
/* sum members: 1192, holes: 2, sum holes: 4 */
/* last cacheline: 12 bytes */
}; /* definitions: 1 */

Pairing them gets back 4-bytes:

struct m66592 {
...

/* size: 1192, cachelines: 38 */
/* last cacheline: 8 bytes */
}; /* definitions: 1 */

Unfortunately it's not enough to save a cacheline with this massive
structure, but every byte helps.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/gadget/m66592-udc.h

index 17b792b7f6bfc43d3879fc316b188f0a12ae36f4..be0a4c1f80a2d66fa8c26ed66f9aacc81093e811 100644 (file)
@@ -486,10 +486,10 @@ struct m66592 {
 
        struct usb_request      *ep0_req;       /* for internal request */
        u16                     ep0_data;       /* for internal request */
+       u16                     old_vbus;
 
        struct timer_list       timer;
 
-       u16                     old_vbus;
        int                     scount;
 
        int                     old_dvsq;