[PATCH 0/3] debloat aic7xxx and aic79xx drivers

From: Denys Vlasenko
Date: Sat Mar 22 2008 - 23:42:26 EST


Hi Andrew,

Can you please take these patches into -mm?

I seem to be unable to push them through scsi people,
they silently drop them on the floor.

There patches significantly debloat drivers/scsi/aic7xxx/*.

1-debloat.patch
Deinlines and moves big functions from .h to .c files.
Adds prototypes for ahc_lookup_scb and ahd_lookup_scb to .h files.

2-addstatic.patch
Adds statics, #ifdefs out huge amount of unused code, adds consts

3-addconst.patch
Adds more consts

Driver code/data size reductions with and without debugging enabled
(aic0 is just an unmodified linux-2.6.25-rc6):

text data bss dec hex filename
211264 28258 1172 240694 3ac36 linux-2.6.25-rc6-aic0-TEST/drivers/scsi/aic7xxx/built-in.o
160012 28258 1172 189442 2e402 linux-2.6.25-rc6-aic1-TEST/drivers/scsi/aic7xxx/built-in.o
166698 20786 1172 188656 2e0f0 linux-2.6.25-rc6-aic2-TEST/drivers/scsi/aic7xxx/built-in.o
185014 2346 1172 188532 2e074 linux-2.6.25-rc6-aic3-TEST/drivers/scsi/aic7xxx/built-in.o

text data bss dec hex filename
264496 47922 1188 313606 4c906 linux-2.6.25-rc6-aic0-TEST2/drivers/scsi/aic7xxx/built-in.o
201056 47922 1188 250166 3d136 linux-2.6.25-rc6-aic1-TEST2/drivers/scsi/aic7xxx/built-in.o
186564 20786 1188 208538 32e9a linux-2.6.25-rc6-aic2-TEST2/drivers/scsi/aic7xxx/built-in.o
204880 2346 1188 208414 32e1e linux-2.6.25-rc6-aic3-TEST2/drivers/scsi/aic7xxx/built-in.o

Configs used for these builds are attached to this email
for anyone interested.

make namespacecheck goes from 400+ functions to:
drivers/scsi/aic7xxx/aic79xx_core.o
ahd_inq
ahd_inw
ahd_outq
ahd_outw
drivers/scsi/aic7xxx/aic79xx_osm.o
ahd_insb
drivers/scsi/aic7xxx/aic7xxx_core.o
ahc_inq
ahc_outq
drivers/scsi/aic7xxx/aic7xxx_osm.o
ahc_insb

None of these patches touch any logic, code changes are pretty minimal.

Compile tested and applies cleanly to 2.6.25-rc6.
I don't have this hardware anymore and cannot run test these patches,
but other people reported success in the past:

On Monday 15 October 2007 14:53, Gabriel C wrote:
> > I can test these patches on an aic7892 controller later on today if you want.
>
> Works fine for me tested on :
>
> 03:0e.0 SCSI storage controller [0100]: Adaptec AIC-7892P U160/m [9005:008f] (rev 02)

Signed-off-by: Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx>
--
vda

Attachment: config-TEST.bz2
Description: BZip2 compressed data

Attachment: config-TEST2.bz2
Description: BZip2 compressed data