Jeff Garzik wrote:
NOTE: This is appended to the previous libata fixes, in a linear history. If you pull this, and have not pulled yesterday's submission, you will get -both-. If you pulled yesterday's fixes, you will only get the single changeset below. Please pull from 'upstream-linus' branch of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev.git upstream-linus to receive the following updates: drivers/ata/pdc_adma.c | 9 +- drivers/ata/sata_mv.c | 26 +- drivers/ata/sata_sil24.c | 11 +- drivers/scsi/ipr.c | 11 +- include/linux/libata.h | 12 - 11 files changed, 1567 insertions(+), 90 deletions(-) create mode 100644 drivers/ata/sata_fsl.c [libata] kill ata_sg_is_last() Short term, this works around a bug introduced by early sg-chaining work. Long term, removing this function eliminates a branch from a hot path loop in each scatter/gather table build. Also, as this code demonstrates, we don't need to _track_ the end of the s/g list, as long as we mark it in some way. And doing so programatically is nice. So its a useful cleanup, regardless of its short term effects. Based conceptually on a quick patch by Jens Axboe. Signed-off-by: Jeff Garzik <jgarzik@xxxxxxxxxx>
And if it wasn't clear from the flurry of emails, this is independent from and parallel to Jens' current work.
So, it should not conflict, and it fixes several do-not-work-at-all drivers broken by sg-chaining.
Jeff - 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