diff options
author | Jeff Garzik <jeff@garzik.org> | 2007-10-18 20:21:18 (GMT) |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2007-10-18 20:21:18 (GMT) |
commit | 3be6cbd73f74b4a3da82cc7d6e1688a4ae595fc7 (patch) | |
tree | a077cf70d1cd438db34f5def23dd8f72f42b5a8c /include/linux/libata.h | |
parent | 858c9c406688bc7244986b5836265071edfd1d3f (diff) | |
download | linux-fsl-qoriq-3be6cbd73f74b4a3da82cc7d6e1688a4ae595fc7.tar.xz |
[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@redhat.com>
Diffstat (limited to 'include/linux/libata.h')
-rw-r--r-- | include/linux/libata.h | 12 |
1 files changed, 0 insertions, 12 deletions
diff --git a/include/linux/libata.h b/include/linux/libata.h index 377e6d4..bc3b6fc 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h @@ -1037,18 +1037,6 @@ extern void ata_port_pbar_desc(struct ata_port *ap, int bar, ssize_t offset, /* * qc helpers */ -static inline int -ata_sg_is_last(struct scatterlist *sg, struct ata_queued_cmd *qc) -{ - if (sg == &qc->pad_sgent) - return 1; - if (qc->pad_len) - return 0; - if (qc->n_iter == qc->n_elem) - return 1; - return 0; -} - static inline struct scatterlist * ata_qc_first_sg(struct ata_queued_cmd *qc) { |