Re: serial ATA status?

看板DFBSD_kernel作者時間21年前 (2004/11/06 09:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串10/11 (看更多)
:I've looked at the scsi/sata_sil.c driver but I learned more C than I :understood what was actually happening. : :My main concern is 15 byte write quirk that seems to only affect certain :combinations of drives and the 3112 (Addonics) controller. : :My drive in particular, was subject to serious corruption until about :linux-2.6.7-bk8 when it was fixed. However, my drive got added to the :black list which means ~20Mb/sec vs ~50Mb/sec. It doesn't belong in the :blacklist, when I remove it, I get the performance with no corruption :issues. I've tested a lot of gigs on that 160G drive and made it my :primary disk about the time 2.6.8.1 came out with the following mod: : :linux-2.6.8.1-sta/drivers/scsi/sata_sil.c :... :struct sil_drivelist { : const char * product; : unsigned int quirk; :} sil_blacklist [] = { : { "ST320012AS", SIL_QUIRK_MOD15WRITE }, : { "ST330013AS", SIL_QUIRK_MOD15WRITE }, :... : : :I've not tried sata on 2.6.9, but I don't expect any :difference. : :Of course I'm only saying all this because it is a :nasty bug that I hope doesn't show up in DragonFly. : :// George : :-- :George Georgalis, systems architect, administrator Linux BSD IXOYE :http://galis.org/george/ cell:646-331-2027 mailto:george@galis.org The SIL_QUIRK_MOD15WRITE flag forces linux to limit I/O requests to no more then 15 sectors (around ~7K) per request), but it is a brute-force solution to the real problem which appears to be related to DMA programming of the device by the driver. e.g. I came upon this reference (this is an old patch but the description is relevant): http://www.ussg.iu.edu/hypermail/linux/kernel/0403.1/1907.html So the question is whether our code uses the correct registers. The answer is: I don't know. Our code is so different that it would take some sleuthing to figure out where the equivalent code is and what register offsets are actually used. -Matt Matthew Dillon <dillon@backplane.com>
文章代碼(AID): #11Z29Q00 (DFBSD_kernel)
討論串 (同標題文章)
文章代碼(AID): #11Z29Q00 (DFBSD_kernel)