All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v6 00/10] scsi: use xarray for devices and targets
@ 2020-08-21 15:41 Douglas Gilbert
  2020-08-21 15:41 ` [PATCH v6 01/10] scsi: convert target lookup to xarray Douglas Gilbert
                   ` (9 more replies)
  0 siblings, 10 replies; 11+ messages in thread
From: Douglas Gilbert @ 2020-08-21 15:41 UTC (permalink / raw)
  To: linux-scsi; +Cc: martin.petersen, jejb, hare, john.garry

This patchset has bounced between my ownership and that of
Hannes Reinecke and now back again. The rationale remains
the same:
  - strengthen the SCSI mid-level object tree "glue" by
    retiring linked lists where practical, especially the
    redundant one. Use xarrays and the idr mechanism
    at the host level
  - make the various 'lookup' exported functions O(ln(n))
    rather than O(n). Transports and LLDs have not been
    using these 'lookup' functions but perhaps they might
    if they knew they were O(ln(n)).
  - lessen the reliance on the host_lock by making finer
    grain locks available (to be done)

Changes since version 5 [20200719]
  - rebased on MKP's 5.10/scsi-queue branch

Version 4 of this patchset was sent to the linux-scsi list on
20200602 by Hannes with a similar subject name. That was
against MKP's 5.8/scsi-queue branch.
It had 6 parts and they form the first 6 patches of this
patchset, with minor changes since it is now based on MKP's
5.9/scsi-queue branch. The last three patches have been
added by the author, the first two have previously been
sent to the Linux-scsi list in early June.

The last patch could change the subject (adding 'hosts')
but the subject line has been kept so former patchset
versions can be more easily found.

Most of the testing done by the author in the last 3 months
has been based on "xa" kernels which contain versions of
this patchset. To test large numbers of SCSI devices (e.g.
a recent test with 16 K devices) it is suggested to used
a SCSI PDT that your distribution does _not_ know about.
The default scsi_debug device is a disk (PDT=0) and distros
like Ubuntu are not designed for that sort of "baggage". So
the author uses PDT=1Dh (e.g. 'scsi_debug ptype=0x1d ...')
to stop the distro going crazy.

Douglas Gilbert (4):
  scsi: add starget_to_shost() specialization
  scsi: simplify scsi_target() inline
  scsi_host: switch ida to idr to hold shost ptr
  scsi_transport_sas: avoid dev_to_shost() walks

Hannes Reinecke (6):
  scsi: convert target lookup to xarray
  target_core_pscsi: use __scsi_device_lookup()
  scsi: move target device list to xarray
  scsi: remove direct device lookup per host
  scsi_error: use xarray lookup instead of wrappers
  scsi: avoid pointless memory allocation in scsi_alloc_target()

 drivers/scsi/hosts.c               |  42 +++-----
 drivers/scsi/scsi.c                | 153 ++++++++++++++++++++++-------
 drivers/scsi/scsi_error.c          |  35 ++++---
 drivers/scsi/scsi_lib.c            |   7 +-
 drivers/scsi/scsi_priv.h           |   2 +
 drivers/scsi/scsi_scan.c           | 112 ++++++++++++---------
 drivers/scsi/scsi_sysfs.c          |  74 ++++++++++----
 drivers/scsi/scsi_transport_sas.c  |  40 ++++----
 drivers/target/target_core_pscsi.c |   8 +-
 include/scsi/scsi_device.h         |  44 ++++++---
 include/scsi/scsi_host.h           |   5 +-
 include/scsi/scsi_transport.h      |   2 +-
 include/scsi/scsi_transport_sas.h  |   8 +-
 13 files changed, 343 insertions(+), 189 deletions(-)

-- 
2.25.1


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

end of thread, other threads:[~2020-08-21 15:43 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-08-21 15:41 [PATCH v6 00/10] scsi: use xarray for devices and targets Douglas Gilbert
2020-08-21 15:41 ` [PATCH v6 01/10] scsi: convert target lookup to xarray Douglas Gilbert
2020-08-21 15:41 ` [PATCH v6 02/10] target_core_pscsi: use __scsi_device_lookup() Douglas Gilbert
2020-08-21 15:41 ` [PATCH v6 03/10] scsi: move target device list to xarray Douglas Gilbert
2020-08-21 15:41 ` [PATCH v6 04/10] scsi: remove direct device lookup per host Douglas Gilbert
2020-08-21 15:41 ` [PATCH v6 05/10] scsi_error: use xarray lookup instead of wrappers Douglas Gilbert
2020-08-21 15:42 ` [PATCH v6 06/10] scsi: avoid pointless memory allocation in scsi_alloc_target() Douglas Gilbert
2020-08-21 15:42 ` [PATCH v6 07/10] scsi: add starget_to_shost() specialization Douglas Gilbert
2020-08-21 15:42 ` [PATCH v6 08/10] scsi: simplify scsi_target() inline Douglas Gilbert
2020-08-21 15:42 ` [PATCH v6 09/10] scsi_host: switch ida to idr to hold shost ptr Douglas Gilbert
2020-08-21 15:42 ` [PATCH v6 10/10] scsi_transport_sas: avoid dev_to_shost() walks Douglas Gilbert

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.