<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/scsi, branch v2.6.25.2</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/scsi?h=v2.6.25.2</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/scsi?h=v2.6.25.2'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2008-05-01T21:44:39Z</updated>
<entry>
<title>SCSI: qla2xxx: Correct regression in relogin code.</title>
<updated>2008-05-01T21:44:39Z</updated>
<author>
<name>Andrew Vasquez</name>
<email>andrew.vasquez@qlogic.com</email>
</author>
<published>2008-04-27T18:35:08Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d4aa5e3e3e76f3f8c54c7ab1259feabbd4b7da32'/>
<id>urn:sha1:d4aa5e3e3e76f3f8c54c7ab1259feabbd4b7da32</id>
<content type='text'>
commit: 666301e673e192c87a40e07a8357d6996b57b70f upstream


Commit 63a8651f2548c6bb5132c0b4e7dad4f57a9274db ([SCSI] qla2xxx:
Correct infinite-login-retry issue.) introduced a small
regression where a successful relogin would result in an fcport's
loop_id to be incorrectly reset to FC_NO_LOOP_ID.  Only clear-out
loopid, if retries have been 'truly' exhausted.

Signed-off-by: Andrew Vasquez &lt;andrew.vasquez@qlogic.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>scsi: fix sense_slab/bio swapping livelock</title>
<updated>2008-04-06T23:10:08Z</updated>
<author>
<name>Hugh Dickins</name>
<email>hugh@veritas.com</email>
</author>
<published>2008-04-06T22:56:57Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=164fc5dcd6a1026fc713f5c63fad899aa484888c'/>
<id>urn:sha1:164fc5dcd6a1026fc713f5c63fad899aa484888c</id>
<content type='text'>
Since 2.6.25-rc7, I've been seeing an occasional livelock on one x86_64
machine, copying kernel trees to tmpfs, paging out to swap.

Signature: 6000 pages under writeback but never getting written; most
tasks of interest trying to reclaim, but each get_swap_bio waiting for a
bio in mempool_alloc's io_schedule_timeout(5*HZ); every five seconds an
atomic page allocation failure report from kblockd failing to allocate a
sense_buffer in __scsi_get_command.

__scsi_get_command has a (one item) free_list to protect against this,
but rc1's [SCSI] use dynamically allocated sense buffer
de25deb18016f66dcdede165d07654559bb332bc upset that slightly.  When it
fails to allocate from the separate sense_slab, instead of giving up, it
must fall back to the command free_list, which is sure to have a
sense_buffer attached.

Either my earlier -rc testing missed this, or there's some recent
contributory factor.  One very significant factor is SLUB, which merges
slab caches when it can, and on 64-bit happens to merge both bio cache
and sense_slab cache into kmalloc's 128-byte cache: so that under this
swapping load, bios above are liable to gobble up all the slots needed
for scsi_cmnd sense_buffers below.

That's disturbing behaviour, and I tried a few things to fix it.  Adding
a no-op constructor to the sense_slab inhibits SLUB from merging it, and
stops all the allocation failures I was seeing; but it's rather a hack,
and perhaps in different configurations we have other caches on the
swapout path which are ill-merged.

Another alternative is to revert the separate sense_slab, using
cache-line-aligned sense_buffer allocated beyond scsi_cmnd from the one
kmem_cache; but that might waste more memory, and is only a way of
diverting around the known problem.

While I don't like seeing the allocation failures, and hate the idea of
all those bios piled up above a scsi host working one by one, it does
seem to emerge fairly soon with the livelock fix.  So lacking better
ideas, stick with that one clear fix for now.

Signed-off-by: Hugh Dickins &lt;hugh@veritas.com&gt;
Cc: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Cc: FUJITA Tomonori &lt;fujita.tomonori@lab.ntt.co.jp&gt;
Cc: Jens Axboe &lt;jens.axboe@oracle.com&gt;
Cc: Christoph Lameter &lt;clameter@sgi.com&gt;
Cc: Pekka Enberg &lt;penberg@cs.helsinki.fi&gt;
Cc: Peter Zijlstra &lt;a.p.ziljstra@chello.nl&gt;
Cc: Rafael J. Wysocki &lt;rjw@sisk.pl&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>[SCSI] mvsas: check subsystem id</title>
<updated>2008-03-28T17:32:22Z</updated>
<author>
<name>Ke Wei</name>
<email>kewei@marvell.com</email>
</author>
<published>2008-03-27T06:55:41Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0b977608e6c8ba2d40445999bbcac8b411bf3f6a'/>
<id>urn:sha1:0b977608e6c8ba2d40445999bbcac8b411bf3f6a</id>
<content type='text'>
add support for mv6480 chip which subsystem id is 6480 in spite of device id is 6440.

Signed-off-by: Ke Wei &lt;kewei@marvell.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] mvsas: get phy info.</title>
<updated>2008-03-28T17:32:09Z</updated>
<author>
<name>Ke Wei</name>
<email>kewei@marvell.com</email>
</author>
<published>2008-03-27T06:55:33Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e9ff91b6927079307b5d481a93beac4134e923eb'/>
<id>urn:sha1:e9ff91b6927079307b5d481a93beac4134e923eb</id>
<content type='text'>
removed unused code and attached SATA address makes use of port id.
enable HBA interrupt after calling sas_register_ha();

Signed-off-by: Ke Wei &lt;kewei@marvell.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] mvsas: fix the buffer of rx DMA overflow bug</title>
<updated>2008-03-28T17:31:54Z</updated>
<author>
<name>Ke Wei</name>
<email>kewei@marvell.com</email>
</author>
<published>2008-03-27T06:55:23Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=963829e650516d140e1f2ddaa6c9ba7cce4c2c6a'/>
<id>urn:sha1:963829e650516d140e1f2ddaa6c9ba7cce4c2c6a</id>
<content type='text'>
fix the buffer of rx DMA overflow bug.
fix default queue depth.

Signed-off-by: Ke Wei &lt;kewei@marvell.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] mvsas: retry aborting task.</title>
<updated>2008-03-28T17:31:40Z</updated>
<author>
<name>Ke Wei</name>
<email>kewei@marvell.com</email>
</author>
<published>2008-03-27T06:55:04Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=8121ed420285885654af133a6ca1919590f98917'/>
<id>urn:sha1:8121ed420285885654af133a6ca1919590f98917</id>
<content type='text'>
Signed-off-by: Ke Wei &lt;kewei@marvell.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] mvsas: check hd whether unplugged</title>
<updated>2008-03-28T17:31:25Z</updated>
<author>
<name>Ke Wei</name>
<email>kewei@marvell.com</email>
</author>
<published>2008-03-27T06:54:50Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=4e52fc0a0a2ec2158691efba3f149f6416481255'/>
<id>urn:sha1:4e52fc0a0a2ec2158691efba3f149f6416481255</id>
<content type='text'>
if unplugged, driver's queuecommand function will return SAS_PHY_DOWN.
task-&gt;lldd_task is used for saving its slot info.

Signed-off-by: Ke Wei &lt;kewei@marvell.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] mvsas : interrupt handling</title>
<updated>2008-03-28T17:31:03Z</updated>
<author>
<name>Ke Wei</name>
<email>kewei@marvell.com</email>
</author>
<published>2008-03-27T06:54:23Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=1fce5e5da03b18505179882be27cc697f24d6b58'/>
<id>urn:sha1:1fce5e5da03b18505179882be27cc697f24d6b58</id>
<content type='text'>
When a slot is busy, we will not free this slot until slot reset is
completed.  When unplugged the disk, we should release all command
tasks with unplugged port that have been sent.

If MVS_USE_TASKLET is defined, we can enable tasklet. Default is off.

Signed-off-by: Ke Wei &lt;kewei@marvell.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] mvsas: a tag handler implementation</title>
<updated>2008-03-28T17:27:54Z</updated>
<author>
<name>Ke Wei</name>
<email>kewei@marvell.com</email>
</author>
<published>2008-03-27T06:53:47Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ee1f1c2ef95258351e1ecb89a2dbd2763cb3a6ed'/>
<id>urn:sha1:ee1f1c2ef95258351e1ecb89a2dbd2763cb3a6ed</id>
<content type='text'>
add a new tag handler to create slot num. When a slot num is busy, new
task can't hit this bit which was already used.  plumb in phy speeds.

Signed-off-by: Ke Wei &lt;kewei@marvell.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] mvsas: fill in error info record and phy mode6 bits.</title>
<updated>2008-03-28T17:27:16Z</updated>
<author>
<name>Ke Wei</name>
<email>kewei@marvell.com</email>
</author>
<published>2008-03-27T06:53:24Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0eb9ddd82a5cb08f3622345e723d236eefa0039f'/>
<id>urn:sha1:0eb9ddd82a5cb08f3622345e723d236eefa0039f</id>
<content type='text'>
and remove some unused members from struct.

Signed-off-by: Ke Wei &lt;kewei@marvell.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</content>
</entry>
</feed>
