Messages in this thread | | | Date | Fri, 4 Apr 2003 15:22:14 +0200 | From | Jens Axboe <> | Subject | Re: [PATCH] only use 48-bit lba when necessary |
| |
On Fri, Apr 04 2003, Juan Quintela wrote: > >>>>> "jens" == Jens Axboe <axboe@suse.de> writes: > > jens> Hi, > jens> 48-bit lba has a non-significant overhead (twice the outb's, 12 instead > jens> of 6 per command), so it makes sense to use 28-bit lba commands whenever > jens> we can. > > jens> Patch is against 2.5.66-BK. > > jens> ===== drivers/ide/ide-disk.c 1.36 vs edited ===== > jens> --- 1.36/drivers/ide/ide-disk.c Wed Mar 26 21:23:01 2003 > jens> +++ edited/drivers/ide/ide-disk.c Fri Apr 4 14:18:41 2003 > jens> @@ -367,12 +367,15 @@ > jens> static ide_startstop_t do_rw_disk (ide_drive_t *drive, struct request *rq, sector_t block) > jens> { > jens> ide_hwif_t *hwif = HWIF(drive); > jens> - u8 lba48 = (drive->addressing == 1) ? 1 : 0; > jens> + u8 lba48 = 0; > jens> task_ioreg_t command = WIN_NOP; > jens> ata_nsector_t nsectors; > > jens> nsectors.all = (u16) rq->nr_sectors; > > jens> + if (drive->addressing == 1 && block > 0xfffffff) > jens> + lba48 = 1; > jens> + > > lba48 = (drive->addressing == 1) && (block > 0xfffffff); > > should do the trick.
I'm not going to use such nonsense, sorry. The spelled out versions are a lot more readable. The command ?: constructs used in ide-disk are a joke, imo.
> jens> + if (lba48bit && block > 0xfffffff) > > that test should be equivalent to: > > if (lba48bit)
Yes that is correct, that should be changed.
> Talking about consistency, wouldn't be better to use always the same > name, lba48 or lba48bit?
There was no consistency to begin with, if anything my patch is consistent with the inconsistent source :)
-- Jens Axboe
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |