Skip to content

Code cleanup and memory usage reduction

Damien Le Moal linux-ide 5 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v5 Latest9 patches 4 repliesIn review
  2. v47 patches 0 repliesSuperseded
  3. v37 patches 8 repliesSuperseded
Earlier versions · 2
VersionPostedPatchesRepliesStatus
v27 patches8 repliesSuperseded
v17 patches11 repliesSuperseded

Changes in v5 from the cover letter

- Added patch 2 and 8
- Modified patch 9 to use the ata_dev_free_resources() function introduced in patch 8.

Patches in v5 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/9ata: libata: Cleanup libata-transportdrivers/ata/libata-transport.c+147 -1520 replies
2/9ata: libata-scsi: Improve ata_scsi_handle_link_detach()drivers/ata/libata-scsi.c+4 -21 reply
3/9ata: libata: Improve __ata_qc_complete()drivers/ata/libata-core.c+7 -50 replies
4/9ata: libata: Move sata_down_spd_limit() to libata-sata.cdrivers/ata/libata-core.c drivers/ata/libata-sata.c drivers/ata/libata.h+96 -860 replies
5/9ata: libata: Move sata_std_hardreset() definition to libata-sata.cdrivers/ata/libata-core.c drivers/ata/libata-sata.c include/linux/libata.h+43 -370 replies
6/9ata: libata: Rename ata_eh_read_sense_success_ncq_log()drivers/ata/libata-eh.c drivers/ata/libata-sata.c drivers/ata/libata.h +1 more+11 -120 replies
7/9ata: libata: Move sector_buf from struct ata_port to struct ata_devicedrivers/ata/libata-core.c drivers/ata/libata-eh.c drivers/ata/libata-pmp.c +3 more+33 -430 replies
8/9ata: libata: Introduce ata_dev_free_resourcesdrivers/ata/libata-core.c drivers/ata/libata-eh.c drivers/ata/libata-scsi.c +1 more+24 -121 reply
9/9ata: libata: Improve CDL resource managementdrivers/ata/libata-core.c drivers/ata/libata-sata.c drivers/ata/libata-scsi.c +2 more+56 -302 replies

Reviews trailers per patch

All 9 patches have a Reviewed-by or Acked-by.

PatchHannes ReineckeNiklas Cassel
1/9R-b R-b
2/9R-b
3/9R-b R-b
4/9R-b R-b
5/9R-b R-b
6/9R-b R-b
7/9R-b R-b
8/9R-b
9/9R-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v5 thread

Cover letter [PATCH v5 0/9] Code cleanup and memory usage reduction

Patch 1 of this series cleans up libata-transport (avoid forward declarations and improved kdoc comments).

Patch 2 improves device flag manipulation in
ata_scsi_handle_link_detach().

Patch 3 introduces a small simplification/improvement of __ata_qc_complete().

Patches 4 and 5 move code that is SATA specific from libata-core.c to libata-sata.c, without any functional change. The benefits of this code reorganization is a smaller libata binary size for hosts that do not support SATA.

Patch 6 renames some functions to make it clearer what the functions do.

Finally, patch 7 to 9 reduce memory usage of libata by:
- Moving the sector_buf buffer from struct ata_port to struct ata_device
- Agregating CDL related buffers together into a new ata_cdl structure and referencing this new structure from struct ata_device only for devices that support CDL.

Changes from V4:
- Added patch 2 and 8
- Modified patch 9 to use the ata_dev_free_resources() function introduced in patch 8.

Changes from V3:
- Small change to struct ata_cdl kzalloc() call as suggested by Niklas
- Removed bogus call to ata_dev_cleanup_cdl_resources() in patch 7
- Added review tags

Changes from V2:
- Reworked patch 1 to address Hannes' comments
- Added Hannes' review tags

Changes from V1:
- Reworked patch 1 to do more cleanups
- Added patch 6. The former patch 6 of v1 is now squashed into patch 7
- Added Niklas review tags

Damien Le Moal (9):
ata: libata: Cleanup libata-transport
ata: libata-scsi: Improve ata_scsi_handle_link_detach()
ata: libata: Improve __ata_qc_complete()
ata: libata: Move sata_down_spd_limit() to libata-sata.c
ata: libata: Move sata_std_hardreset() definition to libata-sata.c
ata: libata: Rename ata_eh_read_sense_success_ncq_log()
ata: libata: Move sector_buf from struct ata_port to struct ata_device
ata: libata: Introduce ata_dev_free_resources
ata: libata: Improve CDL resource management

 drivers/ata/libata-core.c      | 278 ++++++++++--------------------
 drivers/ata/libata-eh.c        |  13 +-
 drivers/ata/libata-pmp.c       |   3 +-
 drivers/ata/libata-sata.c      | 127 +++++++++++++-
 drivers/ata/libata-scsi.c      |  11 +-
 drivers/ata/libata-transport.c | 299 ++++++++++++++++-----------------
 drivers/ata/libata-zpodd.c     |   2 +-
 drivers/ata/libata.h           |  24 ++-
 include/linux/libata.h         |  39 +++--
 9 files changed, 419 insertions(+), 377 deletions(-)
Signature · 1 line
2.46.0