On 17 March 2013 00:04, Aurelien Jarno <aurel...@aurel32.net> wrote: > On Fri, Mar 15, 2013 at 03:45:11PM +0000, Peter Maydell wrote: >> On 15 March 2013 15:42, Aurelien Jarno <aurel...@aurel32.net> wrote: >> > On Fri, Mar 15, 2013 at 03:35:48PM +0000, Peter Maydell wrote: >> >> I'm not convinced this is a good thing -- I think you should have >> >> to know that you're attaching an SD card and not a hard disk, >> >> because the performance is much worse. In particular if you >> >> don't specify 'cache=writeback' your performance will be >> >> dreadful, so you need to do something different from hard >> >> disks anyhow. >> >> > Being a good thing or not, the current code is wrong: the default >> > interface type is set to SCSI (I guess it has been copied from >> > versatilepb.c), while the vexpress machine has no SCSI >> > interface. >> >> I agree we shouldn't be claiming to have a scsi interface, yes. >> > > Does it means you are going to accept the patch?
No, I meant I'd accept a patch which stops us reporting that we have a SCSI interface when we don't. > In anycase let me give you some more arguments in favor of it. Even if > you believe that users should always provide a cache= argument, I don't > think it should be done by setting a wrong default interfaces. Users are > likely to simply google for a command line and paste it without > understanding the consequences of cache=writeback. The way to go there > is to make the writeback argument mandatory for some machines if you > really believe it's need by all users. writeback shouldn't be mandatory randomly for some machines and interfaces and not others. > That said I don't share this opinion. I have made some tests comparing > a versatile and a vexpress machine, running Debian Wheezy, armel for the > first one and armhf for the second one. This has been done on a Core i5 > 2500 machine with a ST2000DM001 hard drive. Here are the results: > > | boot | install build-dep | build lm-sensors | > ------------------------+------+-------------------+------------------+ > versatile | 1:09 | 2:27 | 4:09 | > versatile cache=wb | 1:08 | 2:25 | 3:44 | > vexpress | 1:11 | 3:07 | 3:49 | > vexpress cache=wb | 1:07 | 3:07 | 3:47 | > > Note: the install build-dep time doesn't include the download time. > > So even if the two systems are not directly comparable, it shows that > the SD card emulation is indeed slower than the hard disk one. That said > while cache=writeback makes a difference for the versatile platform, it > doesn't really change anything for the vexpress platform. Therefore > forcing the users to add this option doesn't seems to be a good idea. Maybe the default has changed. Certainly it used to be the case that sd card emulation was incredibly slow without some kind of caching option, because it writes 512 bytes at a time, synchronously, and the SD card interface has no way for the guest to say 'write; write; write; ok now make sure that's all committed'. -- PMM