[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1344308278-23211-1-git-send-email-ming.lei@canonical.com>
Date: Tue, 7 Aug 2012 10:57:58 +0800
From: Ming Lei <ming.lei@...onical.com>
To: "Rafael J. Wysocki" <rjw@...k.pl>
Cc: linux-kernel@...r.kernel.org, linux-pm@...r.kernel.org,
Ming Lei <ming.lei@...onical.com>
Subject: [PATCH] PM: save 8bytes in 'struct dev_pm_info'
On ARMv7, sizeof(struct dev_pm_info) becomes 344Bytes from 352Bytes
after applying the patch which only changes fields' order, so we can
save 8bytes per device. Nothing in behaviour changed.
GCC: gcc version 4.5.1
Signed-off-by: Ming Lei <ming.lei@...onical.com>
---
include/linux/pm.h | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/include/linux/pm.h b/include/linux/pm.h
index f067e60..f116d40 100644
--- a/include/linux/pm.h
+++ b/include/linux/pm.h
@@ -505,11 +505,6 @@ struct pm_subsys_data {
struct dev_pm_info {
pm_message_t power_state;
- unsigned int can_wakeup:1;
- unsigned int async_suspend:1;
- bool is_prepared:1; /* Owned by the PM core */
- bool is_suspended:1; /* Ditto */
- bool ignore_children:1;
spinlock_t lock;
#ifdef CONFIG_PM_SLEEP
struct list_head entry;
@@ -519,13 +514,12 @@ struct dev_pm_info {
#else
unsigned int should_wakeup:1;
#endif
+ unsigned int can_wakeup:1;
+ unsigned int async_suspend:1;
+ bool is_prepared:1; /* Owned by the PM core */
+ bool is_suspended:1; /* Ditto */
+ bool ignore_children:1;
#ifdef CONFIG_PM_RUNTIME
- struct timer_list suspend_timer;
- unsigned long timer_expires;
- struct work_struct work;
- wait_queue_head_t wait_queue;
- atomic_t usage_count;
- atomic_t child_count;
unsigned int disable_depth:3;
unsigned int idle_notification:1;
unsigned int request_pending:1;
@@ -538,6 +532,12 @@ struct dev_pm_info {
unsigned int timer_autosuspends:1;
enum rpm_request request;
enum rpm_status runtime_status;
+ struct timer_list suspend_timer;
+ unsigned long timer_expires;
+ struct work_struct work;
+ wait_queue_head_t wait_queue;
+ atomic_t usage_count;
+ atomic_t child_count;
int runtime_error;
int autosuspend_delay;
unsigned long last_busy;
--
1.7.9.5
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists