Re: [PATCH] Remove sync waiting code from libata

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Matthew Wilcox wrote:
> On Sat, Sep 08, 2007 at 05:14:21PM +0900, Tejun Heo wrote:
>> Matthew Wilcox wrote:
>>> By using the scsi async probing code, we can remove the 'sync' argument
>>> from ata_scsi_scan_host():
>> Hmmm... How so?  @sync is there to keep device numbering stable even
>> when SCSI scan fails due to allocation failure.  I don't see how async
>> probing changes that.
> 
> async probing also keeps device numbering stable.  As long as the device
> responds within ten seconds (and the current code has half a second as
> the timeout), it'll get the same number it would have had, even though
> other hosts have successfully completed their probes during that time.

The @sync parameter is to work around GFP_ATOMIC allocation in SCSI scan
code.  A libata SCSI host can have upto 15 devices with PMP and with
multiple devices allocation failure is not so rare, probably because
libata SCSI scanning is done back-to-back in rapid succession.

The proper fix is probably to make SCSI scanning code not use GFP_ATOMIC
(there doesn't seem to be any reason to) but @sync is the bandaid till
that happens.

Thanks.

-- 
tejun
-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux