Messages in this thread Patch in this message | | | From | Roger Larsson <> | Subject | [PATCH] Re: linux readahead setting? | Date | Wed, 14 Nov 2001 01:37:05 +0100 |
| |
On Tuesday 13 November 2001 16:21, Roy Sigurd Karlsbakk wrote: > Hi > > I heard linux does <= 32 page readahead from block devices > (scsi/ide/que?). Is there a way to double this? I want to read 256kB > chunks from the SCSI drives, as to get the best speed. These numbers are > based on some testing and information I've got from Compaq's storage guys. > > roy
Note that the interface to /proc/ide/hdX/settings still is buggy...
i.e you should be able to do (in pages): echo "file_readahead:64" > /proc/ide/hdX/settings but the result will be a readahead of 128*1024 PAGES... and that is too much... (even 1024 PAGES is too much)
(after patch, in kB) echo "file_readahead:256" > /proc/ide/hdX/settings
It is likely that there are more settings in the ide subsystem that is has this fault... (Andre, I keep repeating myself...)
/RogerL -- Roger Larsson Skellefteå Sweden ******************************************* Patch prepared by: roger.larsson@norran.net Name of file: /home/roger/patches/patch-2.4.11-pre2-ide_settings
--- linux/drivers/ide/ide-disk.c.orig Tue Oct 2 01:05:41 2001 +++ linux/drivers/ide/ide-disk.c Thu Oct 4 21:15:36 2001 @@ -690,7 +690,7 @@ ide_add_setting(drive, "multcount", id ? SETTING_RW : SETTING_READ, HDIO_GET_MULTCOUNT, HDIO_SET_MULTCOUNT, TYPE_BYTE, 0, id ? id->max_multsect : 0, 1, 2, &drive->mult_count, set_multcount); ide_add_setting(drive, "nowerr", SETTING_RW, HDIO_GET_NOWERR, HDIO_SET_NOWERR, TYPE_BYTE, 0, 1, 1, 1, &drive->nowerr, set_nowerr); ide_add_setting(drive, "breada_readahead", SETTING_RW, BLKRAGET, BLKRASET, TYPE_INT, 0, 255, 1, 2, &read_ahead[major], NULL); - ide_add_setting(drive, "file_readahead", SETTING_RW, BLKFRAGET, BLKFRASET, TYPE_INTA, 0, INT_MAX, 1, 1024, &max_readahead[major][minor], NULL); + ide_add_setting(drive, "file_readahead", SETTING_RW, BLKFRAGET, BLKFRASET, TYPE_INTA, 0, 4096, PAGE_SIZE, 1024, &max_readahead[major][minor], NULL); ide_add_setting(drive, "max_kb_per_request", SETTING_RW, BLKSECTGET, BLKSECTSET, TYPE_INTA, 1, 255, 1, 2, &max_sectors[major][minor], NULL); ide_add_setting(drive, "lun", SETTING_RW, -1, -1, TYPE_INT, 0, 7, 1, 1, &drive->lun, NULL); ide_add_setting(drive, "failures", SETTING_RW, -1, -1, TYPE_INT, 0, 65535, 1, 1, &drive->failures, NULL); | |