[[!meta copyright="Copyright © 2011 Free Software Foundation, Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable id="license" text="Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled [[GNU Free Documentation License|/fdl]]."]]"""]] [[!tag open_issue_xen]] IRC, freenode, #hurd, 2011-09-01: <youpi> hum, f951 does myriads of 71->io_seek_request (32768 0) = 0 32768 <youpi> no wonder it's slow <youpi> unfortunately that's also what it does on linux, the system call is just less costly <youpi> apparently gfortran calls io_seek for, like, every token of the sourced file <youpi> (fgetpos actually, but that's the same) <youpi> and it is indeed about 10 times slower under Xen for some reason IRC, freenode, #hurd, 2011-11-02: <youpi> btw, we have a performance issue with xen <youpi> an lseek() call costs a huge lot <youpi> like 1ms <youpi> while the same costs just a few dozens µs with kvm <youpi> there's of course the cost of switching between ring3, ring0, ring1, ring0, ring3, but still <gianluca> oh, nice. <youpi> lseek is supposed to perform only a back&forth <youpi> and I don't observe disk activity, so it's not waiting for the disk to complete whatever atime change & such :) <youpi> it was mentioned that perhaps xen in hvm mode with pv drivers would be faster <youpi> thanks to the ring3/"1" switching being done by the processor <youpi> (and assuming npt) <gianluca> hm <gianluca> i'll look into that, sounds fun. <gianluca> :) <tschwinge> Here is a testcase: http://www.gnu.org/software/hurd/open_issues/performance/io_system/binutils_ld_64ksec.html [[performance/io_system/binutils_ld_64ksec]]. Also see the simple testcases [[test-lseek.c]] and [[test-mach.c]]. IRC, freenode, #hurd, 2011-11-05: <youpi> [test-mach.c is] mostly as a reference for the trap overhead <youpi> 0.56µs (xen) vs 0.48µs(kvm) on test-mach <youpi> 455µs(xen) vs 16µs(kvm) on test-lseek <youpi> that might simply be an issue in the RPC mechanism, which behaves badly with the xen memory management <youpi> yes, about 0.5ms for an lseek, that's quite high :)