lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:	Tue, 7 Aug 2012 13:27:19 +0200
From:	"Rafael J. Wysocki" <rjw@...k.pl>
To:	Ming Lei <ming.lei@...onical.com>
Cc:	linux-kernel@...r.kernel.org, linux-pm@...r.kernel.org
Subject: Re: [PATCH] PM: save 8bytes in 'struct dev_pm_info'

On Tuesday, August 07, 2012, Ming Lei wrote:
> 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>

While I have no fundamental objections against this patch, I see that it
will conflict with some other patches changing struct dev_pm_info.

For this reason, if I apply it at all, I'll do that when my pull request for
v3.7 is practically ready.

Thanks,
Rafael


> ---
>  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;
> 

--
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ