linux-scsi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] debloat aic7xxx and aic79xx drivers
@ 2008-03-23  3:40 Denys Vlasenko
  2008-03-23  3:41 ` [PATCH 1/3] " Denys Vlasenko
  0 siblings, 1 reply; 21+ messages in thread
From: Denys Vlasenko @ 2008-03-23  3:40 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Hannes Reinecke, linux-scsi, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 2428 bytes --]

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@googlemail.com>
--
vda

[-- Attachment #2: config-TEST.bz2 --]
[-- Type: application/x-bzip2, Size: 7959 bytes --]

[-- Attachment #3: config-TEST2.bz2 --]
[-- Type: application/x-bzip2, Size: 8058 bytes --]

^ permalink raw reply	[flat|nested] 21+ messages in thread
* [PATCH 0/3] debloat aic7xxx and aic79xx drivers
@ 2007-10-14 14:58 Denys Vlasenko
  2007-10-14 15:00 ` [PATCH 1/3] " Denys Vlasenko
  0 siblings, 1 reply; 21+ messages in thread
From: Denys Vlasenko @ 2007-10-14 14:58 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Hannes Reinecke, linux-scsi, linux-kernel

Hi,

Following patches debloat drivers/scsi/aic7xxx/*.
I also had to add prototypes for ahc_lookup_scb
and ahd_lookup_scb to .h files.

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:

Build with debugging on (CONFIG_AIC7XXX_DEBUG_ENABLE=y):
   text    data     bss     dec     hex filename
 310865   49922    1204  361991   58607 linux-2.6.23.t/drivers/scsi/aic7xxx/built-in.o
 221987    2754    1204  225945   37299 linux-2.6.23-aic-3-addconst.t/drivers/scsi/aic7xxx/built-in.o

With debugging off:
   text    data     bss     dec     hex filename
 298896   42754    1172  342822   53b26 linux-2.6.23.tt/drivers/scsi/aic7xxx/built-in.o
 216068    2754    1172  219994   35b5a linux-2.6.23-aic-3-addconst.tt/drivers/scsi/aic7xxx/built-in.o

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.23.
I don't have this hardware anymore and cannot run test these patches.

Please apply.

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

^ permalink raw reply	[flat|nested] 21+ messages in thread
* [PATCH 0/3] debloat aic7xxx and aic79xx drivers
@ 2007-08-31 15:13 Denys Vlasenko
  2007-08-31 15:15 ` [PATCH 1/3] " Denys Vlasenko
  0 siblings, 1 reply; 21+ messages in thread
From: Denys Vlasenko @ 2007-08-31 15:13 UTC (permalink / raw)
  To: Hannes Reinecke
  Cc: Jan Engelhardt, Matthew Wilcox, Denys Vlasenko, Arjan van de Ven,
	Adrian Bunk, Andrew Morton, linux-scsi, linux-kernel

On Friday 31 August 2007 14:42, Hannes Reinecke wrote:
> Jan Engelhardt wrote:
> > On Aug 30 2007 13:02, Matthew Wilcox wrote:
> >>> Well, you can send it to Linus/Andrew, that will usually upset people
> >>> and they start commenting on it. Or they don't, and everything is fine.
> >>> (The "default y" approach so to speak ;-)
> >>
> >> The problem is that we don't really have a maintainer for the aic7xyz
> >> drivers any more.  Volunteers welcome.  NOT IT!
> >
> > Take it before someone else does!
>
> Well, the semi-official maintainers are James B. and me.
>
> So I might as well do it officially.

Cool.

Thanks to Arjan's insistence, I also took a look at adding statics
and unexpectedly discovered yet another 50 kbytes of dead code
(I'm not kidding).

Attached are three patches which fix that:

   text    data     bss     dec     hex filename
 261433   50018    1172  312623   4c52f linux-2.6.23-rc1.org.t/drivers/scsi/aic7xxx/built-in.o
 199654   50018    1172  250844   3d3dc linux-2.6.23-rc1.aic.t/drivers/scsi/aic7xxx/built-in.o
 184014   21314    1172  206500   326a4 linux-2.6.23-rc1.aic1.t/drivers/scsi/aic7xxx/built-in.o
 202378    2850    1172  206400   32640 linux-2.6.23-rc1.aic2.t/drivers/scsi/aic7xxx/built-in.o

1-debloat.patch    deinlines a lot of functions
2-addstatic.patch  adds statics, #ifdefs out huge amount of unused code, adds consts
3-addconst.patch   adds more consts

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 actually touch any logic, code changes
are pretty minimal.

Compile tested and applies cleanly to 2.6.23-rc1, applies with some fuzz to 2.6.23-rc3.

Please propagate to mainline.
--
vda

^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2008-04-21  5:10 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-03-23  3:40 [PATCH 0/3] debloat aic7xxx and aic79xx drivers Denys Vlasenko
2008-03-23  3:41 ` [PATCH 1/3] " Denys Vlasenko
2008-03-23  3:42   ` [PATCH 2/3] " Denys Vlasenko
2008-03-23  3:42     ` [PATCH 3/3] " Denys Vlasenko
2008-04-07 10:36       ` Hannes Reinecke
2008-04-07 10:34     ` [PATCH 2/3] " Hannes Reinecke
2008-04-07 18:00       ` Denys Vlasenko
2008-04-08 12:23         ` Hannes Reinecke
2008-04-08 14:08           ` Denys Vlasenko
2008-04-08 14:54             ` Hannes Reinecke
2008-04-08 15:08               ` Denys Vlasenko
2008-04-14 18:47                 ` Denys Vlasenko
     [not found]                   ` <4804BE68.4000704@suse.de>
2008-04-15 20:10                     ` Denys Vlasenko
2008-04-21  5:10                       ` Denys Vlasenko
2008-04-14 18:46             ` Denys Vlasenko
2008-04-15 14:44               ` Hannes Reinecke
2008-04-07 10:31   ` [PATCH 1/3] " Hannes Reinecke
2008-04-07 18:01     ` Denys Vlasenko
  -- strict thread matches above, loose matches on Subject: below --
2007-10-14 14:58 [PATCH 0/3] " Denys Vlasenko
2007-10-14 15:00 ` [PATCH 1/3] " Denys Vlasenko
2007-10-14 15:01   ` [PATCH 2/3] " Denys Vlasenko
2007-08-31 15:13 [PATCH 0/3] " Denys Vlasenko
2007-08-31 15:15 ` [PATCH 1/3] " Denys Vlasenko
2007-08-31 15:16   ` [PATCH 2/3] " Denys Vlasenko
2007-09-24 10:23     ` Hannes Reinecke

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).