All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCHSET 03/03] add hotplug support, take 4
@ 2006-05-29  6:38 Tejun Heo
  2006-05-29  6:38 ` [PATCH 01/13] libata-hp: implement ata_eh_detach_dev() Tejun Heo
                   ` (12 more replies)
  0 siblings, 13 replies; 33+ messages in thread
From: Tejun Heo @ 2006-05-29  6:38 UTC (permalink / raw)
  To: jgarzik, mlord, albertcc, alan, axboe, forrest.zhao, linux-ide,
	htejun

Hello,

This is This is part of patchset series described in [T].

This is the fourth take of add-hotplug-support patchset.  Changes from
the last take[L] are.

* ata_eh_scsi_hotplug() renamed to ata_scsi_hotplug() and moved to
  libata-scsi.c

* ata_port_detach() now automatically calls scsi_remove_host()

* debug stuff removed from convert-sil24 patch

This patchset is against

  upstream (ef2824073fba9def3cf122e89cc485f66dd71f70)
  + [1] set-PIO-0-after-successful-EH-reset
  + [2] prep-for-hotplug-support patchset
  + [3] prep-LLDDs-for-hotplug-support patchset

Thanks.

--
tejun

[T] http://article.gmane.org/gmane.linux.ide/10891
[L] http://article.gmane.org/gmane.linux.ide/10588
[1] http://article.gmane.org/gmane.linux.ide/10890
[2] http://article.gmane.org/gmane.linux.ide/10892
[3] http://article.gmane.org/gmane.linux.ide/10905



^ permalink raw reply	[flat|nested] 33+ messages in thread
* [PATCHSET 03/03] add hotplug support, take 5
@ 2006-05-31 11:25 Tejun Heo
  2006-05-31 11:25 ` [PATCH 05/13] libata-hp: hook warmplug Tejun Heo
  0 siblings, 1 reply; 33+ messages in thread
From: Tejun Heo @ 2006-05-31 11:25 UTC (permalink / raw)
  To: jgarzik, mlord, albertcc, alan, axboe, forrest.zhao, linux-ide,
	htejun

Hello,

This is part of patchset series described in [T].

This is the fifth take of add-hotplug-support patchset.  Changes from
the last take[L] are.

* ata_scsi_hotplug() requeue condition check has been updated such
  that SCSI devices are guaranteed to be attached to ATA devices.  No
  race window anymore.

* boot probing reimplemented using ata_port_wait_eh().

* ata_port_detach() reimplemented using ata_port_wait_eh().  New
  implementation is much more robust and survives PCI unplugging under
  all circumstances.  EH part of unloading is also reimplemented in
  simpler and more robust way.

* UNLOADING check added to ata_scsi_hotplug().  hotplug task flushing
  is reliable now.

* s/FIS34/D2H FIS/g

One thing to note about unload handling is that, if EH is scheduled
after ata_port_detach() is complete but before SCSI host is actually
released, it can oops accessing ap->host_set.  The problem is that, as
SCSI doesn't supply host release callback, host_set is released before
all ports are released.

However, this condition is unlikely to occur - to trigger the bug,
either the driver has to schedule EH while frozen during that window,
or the user has to hold reference to scan/delete node and issue warm
plug request, again, during the window.

This patchset is against

  upstream (ef2824073fba9def3cf122e89cc485f66dd71f70)
  + [1] set-PIO-0-after-successful-EH-reset
  + [2] shift-host-flag-constants
  + [3] implement-ata_eh_wait
  + [4] prep-for-hotplug-support patchset
  + [5] prep-LLDDs-for-hotplug-support patchset

Thanks.

--
tejun

[T] http://article.gmane.org/gmane.linux.ide/11012
[L] http://article.gmane.org/gmane.linux.ide/10892
[1] http://article.gmane.org/gmane.linux.ide/10890
[2] http://article.gmane.org/gmane.linux.ide/11010
[3] http://article.gmane.org/gmane.linux.ide/11011
[4] http://article.gmane.org/gmane.linux.ide/11014
[5] http://article.gmane.org/gmane.linux.ide/11028



^ permalink raw reply	[flat|nested] 33+ messages in thread
* [PATCHSET 03/03] add hotplug support, take 3
@ 2006-05-19 15:48 Tejun Heo
  2006-05-19 15:48 ` [PATCH 05/13] libata-hp: hook warmplug Tejun Heo
  0 siblings, 1 reply; 33+ messages in thread
From: Tejun Heo @ 2006-05-19 15:48 UTC (permalink / raw)
  To: jgarzik, mlord, albertcc, alan, axboe, forrest.zhao, linux-ide,
	htejun

Hello,

This is part of patchset series described in [T].

This is the third take of add-hotplug-support patchset.  Changes from
the last take[L] are

* Hotplug event is marked with ata_ehi_hotplugged() instead of
  directly setting flags.  The helper also takes care of timestamping
  the event such that spinup waiting time can be calculated.  So,
  LLDDs are required to call ata_ehi_hotplugged() as soon as possible
  once hotplug event is detected.

* ahci is changed to wait for spinup explicitly.  After spinup wait is
  complete, SRST is used to probe the new device.

* ahci hardreset() now clears TF rx area prior to issuing COMRESET to
  avoid finishing prematurely due to the existing TF value.

* sata_sil is changed to issue hardreset after hotplug event.
  COMRESET clears TF on these controllers and make the controllers
  wait for the first D2H reliably.

* sata_sil24 is changed to wait for spinup explicitly.  After spinup
  wait is complete, SRST is used to probe the new device.

This patchset is against

  upstream (8d4ee71ff6de5255ebfdf44fb83419d27bd06368)
  + enforce-default-EH-actions patch [1]
  + scsi_implement_eh-patch [2]
  + prep-for-hotplug-support patchset [3]
  + prep-LLDDs-for-hotplug-support patchset [4]

Thanks.

--
tejun

[T] http://article.gmane.org/gmane.linux.ide/10530
[L] http://article.gmane.org/gmane.linux.ide/10063
[1] http://article.gmane.org/gmane.linux.ide/10317
[2] http://article.gmane.org/gmane.linux.ide/10529
[3] http://article.gmane.org/gmane.linux.ide/10546
[4] http://article.gmane.org/gmane.linux.ide/10573



^ permalink raw reply	[flat|nested] 33+ messages in thread
* [PATCHSET 08/11] add hotplug support, take 2
@ 2006-05-11 15:32 Tejun Heo
  2006-05-11 15:32 ` [PATCH 05/13] libata-hp: hook warmplug Tejun Heo
  0 siblings, 1 reply; 33+ messages in thread
From: Tejun Heo @ 2006-05-11 15:32 UTC (permalink / raw)
  To: jgarzik, alan, axboe, albertcc, forrest.zhao, efalk, linux-ide,
	htejun

Hi.

This is part of patchset series described in [T].

This is the second take of add-hotplug-support patchset.  Changes from
the last take[L] are

* No ap->hotplug_flags and no atomic bitops helpers.  All are handled
  via dev->dflags and ap->eh_info.  Things are much simpler now.

* Tighter event handling.  Unless a new device is plugged in the
  middle of reset (there's no generic and reliable way to handle
  this), no hotplug event is lost.

* Stronger SCSI synchronization.  There still is a race condition
  during SCSI scan after hotplugging, but the window is really tiny
  and there doesn't seem to be a waterproof way to fix it.  I don't
  think the race will ever get triggered and even if it does the worst
  that can happen is not attaching a SCSI device for a newly detected
  ATA device.  Other than this race condition, everything should be
  watertight.

* Disabled devices are not automatically rescanned on user scan
  request unless the user explicitly requests scan of the device by
  specifying the device ID or using wild card.

* Probing during driver loading and detaching while unloading are all
  handled by hotplug.  There is only one probing/detaching path now.

* Unused ->probe_init, ->probe_reset and all related functions killed.

This patchset is against

  upstream (acc696d93dcf993dec123d69d599979e1456ffec)
  + [1] prep-for-new-EH patchset
  + [2] new-EH-framework patchset, take 3
  + [3] new-EH-implementation patchset, take 3
  + [4] merge-irq-pio patchset
  + [5] add-NCQ-support patchset, take 3
  + [6] prep-for-hotplug support, take 2
  + [7] prep-LLDDs-for-hotplug-support, take 1

--
tejun

[T] http://article.gmane.org/gmane.linux.ide/9957
[L] http://article.gmane.org/gmane.linux.ide/9587
[1] http://article.gmane.org/gmane.linux.ide/9959
[2] http://article.gmane.org/gmane.linux.ide/9984
[3] http://article.gmane.org/gmane.linux.ide/9995
[4] http://article.gmane.org/gmane.linux.ide/10005
[5] http://article.gmane.org/gmane.linux.ide/10011
[6] http://article.gmane.org/gmane.linux.ide/10028
[7] http://article.gmane.org/gmane.linux.ide/10063



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

end of thread, other threads:[~2006-05-31 11:25 UTC | newest]

Thread overview: 33+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-05-29  6:38 [PATCHSET 03/03] add hotplug support, take 4 Tejun Heo
2006-05-29  6:38 ` [PATCH 01/13] libata-hp: implement ata_eh_detach_dev() Tejun Heo
2006-05-30  4:17   ` Jeff Garzik
2006-05-29  6:38 ` [PATCH 03/13] libata-hp: implement SCSI part of hotplug Tejun Heo
2006-05-29  6:38 ` [PATCH 02/13] libata-hp: implement hotplug Tejun Heo
2006-05-30  4:18   ` Jeff Garzik
2006-05-30  4:44     ` Tejun Heo
2006-05-29  6:38 ` [PATCH 04/13] libata-hp: implement warmplug Tejun Heo
2006-05-29  6:38 ` [PATCH 12/13] libata-hp: killl ops->probe_reset Tejun Heo
2006-05-29  6:38 ` [PATCH 08/13] ata_piix: convert ata_piix to new probing mechanism Tejun Heo
2006-05-29  6:38 ` [PATCH 07/13] libata-hp: implement unload-unplug Tejun Heo
2006-05-30  4:24   ` Jeff Garzik
2006-05-30  4:37     ` Tejun Heo
2006-05-30  4:44       ` Jeff Garzik
2006-05-29  6:38 ` [PATCH 06/13] libata-hp: implement bootplug Tejun Heo
2006-05-30  4:23   ` Jeff Garzik
2006-05-30  4:29     ` Tejun Heo
2006-05-30  4:34       ` Jeff Garzik
2006-05-30  4:40         ` Tejun Heo
2006-05-30  4:43           ` Jeff Garzik
2006-05-29  6:38 ` [PATCH 10/13] ahci: convert to new probing mechanism and add hotplug support Tejun Heo
2006-05-30  4:27   ` Jeff Garzik
2006-05-29  6:38 ` [PATCH 13/13] libata-hp: move ata_do_reset() to libata-eh.c Tejun Heo
2006-05-30  4:28   ` Jeff Garzik
2006-05-29  6:38 ` [PATCH 11/13] sata_sil24: convert to new probing mechanism and add hotplug support Tejun Heo
2006-05-30  4:28   ` Jeff Garzik
2006-05-29  6:38 ` [PATCH 05/13] libata-hp: hook warmplug Tejun Heo
2006-05-30  4:21   ` Jeff Garzik
2006-05-29  6:38 ` [PATCH 09/13] sata_sil: convert to new probing mechanism and add hotplug support Tejun Heo
2006-05-30  4:26   ` Jeff Garzik
  -- strict thread matches above, loose matches on Subject: below --
2006-05-31 11:25 [PATCHSET 03/03] add hotplug support, take 5 Tejun Heo
2006-05-31 11:25 ` [PATCH 05/13] libata-hp: hook warmplug Tejun Heo
2006-05-19 15:48 [PATCHSET 03/03] add hotplug support, take 3 Tejun Heo
2006-05-19 15:48 ` [PATCH 05/13] libata-hp: hook warmplug Tejun Heo
2006-05-11 15:32 [PATCHSET 08/11] add hotplug support, take 2 Tejun Heo
2006-05-11 15:32 ` [PATCH 05/13] libata-hp: hook warmplug Tejun Heo

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.