Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1734122 > unrolled thread

[PATCH][V2] libata: make const arrays static, reduces object code size

Started byColin King <colin.king@canonical.com>
First post2017-09-18 15:40 +0200
Last post2017-09-18 19:00 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH][V2] libata: make const arrays static, reduces object code size Colin King <colin.king@canonical.com> - 2017-09-18 15:40 +0200
    Re: [PATCH][V2] libata: make const arrays static, reduces object code  size Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> - 2017-09-18 19:00 +0200

#1734122 — [PATCH][V2] libata: make const arrays static, reduces object code size

FromColin King <colin.king@canonical.com>
Date2017-09-18 15:40 +0200
Subject[PATCH][V2] libata: make const arrays static, reduces object code size
Message-ID<ur4rj-6TZ-43@gated-at.bofh.it>
From: Colin Ian King <colin.king@canonical.com>

Don't populate const arrays on the stack, instead make them static.
Makes the object code smaller by over 260 bytes:

Signed-off-by: Colin Ian King <colin.king@canonical.com>
---
 drivers/ata/libata-scsi.c  | 10 +++++-----
 fs/ocfs2/dlm/dlmrecovery.c |  1 -
 2 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c
index 44ba292f2cd7..c3c483fc2145 100644
--- a/drivers/ata/libata-scsi.c
+++ b/drivers/ata/libata-scsi.c
@@ -2145,7 +2145,7 @@ static void ata_scsi_rbuf_fill(struct ata_scsi_args *args,
  */
 static unsigned int ata_scsiop_inq_std(struct ata_scsi_args *args, u8 *rbuf)
 {
-	const u8 versions[] = {
+	static const u8 versions[] = {
 		0x00,
 		0x60,	/* SAM-3 (no version claimed) */
 
@@ -2155,7 +2155,7 @@ static unsigned int ata_scsiop_inq_std(struct ata_scsi_args *args, u8 *rbuf)
 		0x03,
 		0x00	/* SPC-3 (no version claimed) */
 	};
-	const u8 versions_zbc[] = {
+	static const u8 versions_zbc[] = {
 		0x00,
 		0xA0,	/* SAM-5 (no version claimed) */
 
@@ -2227,7 +2227,7 @@ static unsigned int ata_scsiop_inq_std(struct ata_scsi_args *args, u8 *rbuf)
 static unsigned int ata_scsiop_inq_00(struct ata_scsi_args *args, u8 *rbuf)
 {
 	int num_pages;
-	const u8 pages[] = {
+	static const u8 pages[] = {
 		0x00,	/* page 0x00, this page */
 		0x80,	/* page 0x80, unit serial no page */
 		0x83,	/* page 0x83, device ident page */
@@ -2258,7 +2258,7 @@ static unsigned int ata_scsiop_inq_00(struct ata_scsi_args *args, u8 *rbuf)
  */
 static unsigned int ata_scsiop_inq_80(struct ata_scsi_args *args, u8 *rbuf)
 {
-	const u8 hdr[] = {
+	static const u8 hdr[] = {
 		0,
 		0x80,			/* this page code */
 		0,
@@ -2580,7 +2580,7 @@ static unsigned int ata_scsiop_mode_sense(struct ata_scsi_args *args, u8 *rbuf)
 {
 	struct ata_device *dev = args->dev;
 	u8 *scsicmd = args->cmd->cmnd, *p = rbuf;
-	const u8 sat_blk_desc[] = {
+	static const u8 sat_blk_desc[] = {
 		0, 0, 0, 0,	/* number of blocks: sat unspecified */
 		0,
 		0, 0x2, 0x0	/* block length: 512 bytes */
diff --git a/fs/ocfs2/dlm/dlmrecovery.c b/fs/ocfs2/dlm/dlmrecovery.c
index 74407c6dd592..31a61e8e0152 100644
--- a/fs/ocfs2/dlm/dlmrecovery.c
+++ b/fs/ocfs2/dlm/dlmrecovery.c
@@ -1129,7 +1129,6 @@ static int dlm_send_mig_lockres_msg(struct dlm_ctxt *dlm,
 		(mres->num_locks * sizeof(struct dlm_migratable_lock));
 
 	/* add an all-done flag if we reached the last lock */
-	orig_flags = mres->flags;
 	BUG_ON(total_locks > mres_total_locks);
 	if (total_locks == mres_total_locks)
 		mres->flags |= DLM_MRES_ALL_DONE;
-- 
2.14.1

[toc] | [next] | [standalone]


#1734307 — Re: [PATCH][V2] libata: make const arrays static, reduces object code size

FromSergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Date2017-09-18 19:00 +0200
SubjectRe: [PATCH][V2] libata: make const arrays static, reduces object code size
Message-ID<ur7yO-mI-21@gated-at.bofh.it>
In reply to#1734122
Hello!

On 09/18/2017 04:32 PM, Colin King wrote:

> From: Colin Ian King <colin.king@canonical.com>
> 
> Don't populate const arrays on the stack, instead make them static.
> Makes the object code smaller by over 260 bytes:
> 
> Signed-off-by: Colin Ian King <colin.king@canonical.com>
> ---
>   drivers/ata/libata-scsi.c  | 10 +++++-----
>   fs/ocfs2/dlm/dlmrecovery.c |  1 -
>   2 files changed, 5 insertions(+), 6 deletions(-)
[...]
> diff --git a/fs/ocfs2/dlm/dlmrecovery.c b/fs/ocfs2/dlm/dlmrecovery.c
> index 74407c6dd592..31a61e8e0152 100644
> --- a/fs/ocfs2/dlm/dlmrecovery.c
> +++ b/fs/ocfs2/dlm/dlmrecovery.c
> @@ -1129,7 +1129,6 @@ static int dlm_send_mig_lockres_msg(struct dlm_ctxt *dlm,
>   		(mres->num_locks * sizeof(struct dlm_migratable_lock));
>   
>   	/* add an all-done flag if we reached the last lock */
> -	orig_flags = mres->flags;

    What's that? :-/

>   	BUG_ON(total_locks > mres_total_locks);
>   	if (total_locks == mres_total_locks)
>   		mres->flags |= DLM_MRES_ALL_DONE;

MBR, Sergei

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web