diff options
author | Richard Kennedy <richard@rsk.demon.co.uk> | 2012-04-25 15:53:05 +0200 |
---|---|---|
committer | Fengguang Wu <fengguang.wu@intel.com> | 2012-04-25 15:58:11 +0200 |
commit | 4cd9069a0a0e5fb8b007425c937642682ac96c76 (patch) | |
tree | cb7872cb3a6a22b1503349106faa1ad0068f8cbc /include/linux/writeback.h | |
parent | mm: page-writeback.c: local functions should not be exposed globally (diff) | |
download | linux-4cd9069a0a0e5fb8b007425c937642682ac96c76.tar.xz linux-4cd9069a0a0e5fb8b007425c937642682ac96c76.zip |
fs: remove 8 bytes of padding from struct writeback_control on 64 bit builds
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>
Diffstat (limited to '')
-rw-r--r-- | include/linux/writeback.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/include/linux/writeback.h b/include/linux/writeback.h index a2b84f598e2b..3309736ff059 100644 --- a/include/linux/writeback.h +++ b/include/linux/writeback.h @@ -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 */ |