fs: remove 8 bytes of padding from struct writeback_control on 64 bit builds
authorRichard Kennedy <richard@rsk.demon.co.uk>
Wed, 25 Apr 2012 13:53:05 +0000 (14:53 +0100)
committerFengguang Wu <fengguang.wu@intel.com>
Wed, 25 Apr 2012 13:58:11 +0000 (21:58 +0800)
Reorder structure writeback_control to remove 8 bytes of padding on 64
bit builds, this shrinks its size from 48 to 40 bytes.

This structure is always on the stack and uses C99 named initialisation,
so should be safe and have a small impact on stack usage.

Signed-off-by: Richard Kennedy <richard@rsk.demon.co.uk>
Signed-off-by: Fengguang Wu <fengguang.wu@intel.com>
include/linux/writeback.h

index a2b84f598e2b1a3068c3c4ec422df05dcf094d6a..3309736ff0598ed5d1999f6d820e0aa36684d3fd 100644 (file)
@@ -58,7 +58,6 @@ extern const char *wb_reason_name[];
  * in a manner such that unspecified fields are set to zero.
  */
 struct writeback_control {
-       enum writeback_sync_modes sync_mode;
        long nr_to_write;               /* Write this many pages, and decrement
                                           this for each page written */
        long pages_skipped;             /* Pages which were not written */
@@ -71,6 +70,8 @@ struct writeback_control {
        loff_t range_start;
        loff_t range_end;
 
+       enum writeback_sync_modes sync_mode;
+
        unsigned for_kupdate:1;         /* A kupdate writeback */
        unsigned for_background:1;      /* A background writeback */
        unsigned tagged_writepages:1;   /* tag-and-write to avoid livelock */