Subject: [PATCH v4 14/27] ata: let compiler optimize out ata_dev_config_ncq() on non-SATA hosts

Add !IS_ENABLED(CONFIG_SATA_HOST) to ata_dev_config_ncq() to allow
compiler to optimize out the function for non-SATA configs.

Code size savings on m68k arch using (modified) atari_defconfig:

text data bss dec hex filename
before:
37582 572 40 38194 9532 drivers/ata/libata-core.o
after:
36462 572 40 37074 90d2 drivers/ata/libata-core.o

Signed-off-by: Bartlomiej Zolnierkiewicz <[email protected]>
---
drivers/ata/libata-core.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index f88fa4db2cab..fa1fd0735321 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -2301,6 +2301,8 @@ static int ata_dev_config_ncq(struct ata_device *dev,
desc[0] = '\0';
return 0;
}
+ if (!IS_ENABLED(CONFIG_SATA_HOST))
+ return 0;
if (dev->horkage & ATA_HORKAGE_NONCQ) {
snprintf(desc, desc_sz, "NCQ (not used)");
return 0;
--
2.24.1


2020-03-26 09:52:23

by Christoph Hellwig

[permalink] [raw]
Subject: Re: [PATCH v4 14/27] ata: let compiler optimize out ata_dev_config_ncq() on non-SATA hosts

On Tue, Mar 17, 2020 at 03:43:20PM +0100, Bartlomiej Zolnierkiewicz wrote:
> Add !IS_ENABLED(CONFIG_SATA_HOST) to ata_dev_config_ncq() to allow
> compiler to optimize out the function for non-SATA configs.

Looks good,

Reviewed-by: Christoph Hellwig <[email protected]>