> FYI, I still think this whole limit is a bad idea, and instead we > need to fix the algorithms to not waste time iterating over the bios > again and again in non-optimal ways. I still haven't seen an answer > if your original latency problems are reproducable with the iomap > direct I/O implementation, and we've also not even started the work on > making some of the common iterators less stupid. Sorry. I missed your request. Actually iomap direct I/O implementaion in f2fs, or do_direct_IO() is not easy to me. So I tested it on ext4 environment. iomap is applied in ext4 already. As a result, same performance degradation is reproduced. I tested 512MB file read with direct I/O. and chunk size is 64MB. - on SCSI disk, with no limit of bio max size(4GB) : avg. 630 MB/s - on SCSI disk, with limit bio max size to 1MB : avg. 645 MB/s - on ramdisk, with no limit of bio max size(4GB) : avg. 2749 MB/s - on ramdisk, with limit bio max size to 1MB : avg. 3068 MB/s I set ramdisk environment as below. - dd if=/dev/zero of=/mnt/ramdisk.img bs=$((1024*1024)) count=1024 - mkfs.ext4 /mnt/ramdisk.img - mkdir /mnt/ext4ramdisk - mount -o loop /mnt/ramdisk.img /mnt/ext4ramdisk With low performance disk, bio submit delay caused by large bio size is not big protion. So it can't be feel easily. But it will be shown in high performance disk. Limit bio size is not affact to stacked driver. it's for physical disk driver. As your advise, algorithm fixing to remove waste time is needed for each module. I agree with you. But I think it might be good submitting bio when bio size is over than disk transfer size logically too. Thanks, Changheun Lee.