Block device request merging - repeated requests.

David Woodhouse dwmw2 en infradead.org
Lun Ene 31 13:59:54 CST 2000


I'm playing with a new block device driver in 2.3.41

When I try something simple like 
	'dd if=/dev/zero of=/dev/mydevice bs=512 count=10'

 ... I find that the requests are helpfully merged.

Unfortunately, I find that they're also repeated.

So - what was ten separate write requests, for each consecutive block, now 
becomes ten write requests, each for the whole ten.

Am I doing something wrong - when I'm passed a request should I be checking it 
to see if it's already uptodate?

Or is the block request combining code in 2.3.41 completely shagged?

# dd if=nftl.c of=/dev/nftla bs=512 count=2 
2+0 records in
2+0 records out


NFTL_open called
NFTL write request of 0x2 sectors @ 0
Writing block 0 to EUN 5f
Writing block 1 to EUN 5a
NFTL write request completed OK
NFTL write request of 0x2 sectors @ 0
Writing block 0 to EUN 60
Writing block 1 to EUN 5b
NFTL write request completed OK


By setting max_sectors to 1 for the device in question, effectively disabling
the request merging, I return the system to sane behaviour.



--
dwmw2



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo en vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



Más información sobre la lista de distribución Ayuda