summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Schwinge <thomas@schwinge.name>2011-11-05 23:19:34 +0100
committerThomas Schwinge <thomas@schwinge.name>2011-11-05 23:19:34 +0100
commit4cc3f682fb57a920e3cc14e99323d66e380c1ee7 (patch)
treea229f63ded16b837b11b5ca73c568380d793efe0
parentba985e9b5f15933e9b8c33d63cf903972c75e913 (diff)
open_issues/performance/io_system/binutils_ld_64ksec: Move Xen lseek stuff...
open_issues/xen_lseek: ... here.
-rw-r--r--open_issues/performance/io_system/binutils_ld_64ksec.mdwn23
-rw-r--r--open_issues/xen_lseek.mdwn22
-rw-r--r--open_issues/xen_lseek/test-lseek.c (renamed from open_issues/performance/io_system/test-lseek.c)0
-rw-r--r--open_issues/xen_lseek/test-mach.c (renamed from open_issues/performance/io_system/test-mach.c)0
4 files changed, 25 insertions, 20 deletions
diff --git a/open_issues/performance/io_system/binutils_ld_64ksec.mdwn b/open_issues/performance/io_system/binutils_ld_64ksec.mdwn
index d0b8ea7f..931fd0ee 100644
--- a/open_issues/performance/io_system/binutils_ld_64ksec.mdwn
+++ b/open_issues/performance/io_system/binutils_ld_64ksec.mdwn
@@ -27,10 +27,6 @@ extracted from cdf7c161ebd4a934c9e705d33f5247fd52975612 sources, 2010-10-24.
On the idle grubber, this one repeatedly takes a few minutes wall time to
complete successfully, contrary to a few seconds on a GNU/Linux system.
-> On order of slowness may in fact be due to a Xen-specific issue, see
-> [[xen_lseek]]. (But there are probably still one or two orders left, even
-> without Xen.)
-
While processing the object files, there is heavy interaction with the relevant
[[hurd/translator/ext2fs]] process. Running [[hurd/debugging/rpctrace]] on
the testee shows that (primarily) an ever-repeating series of `io_seek` and
@@ -38,19 +34,6 @@ the testee shows that (primarily) an ever-repeating series of `io_seek` and
shows the equivalent thing (`_llseek`, `read`) -- but Linux' I/O system isn't
as slow as the Hurd's.
----
-
-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
-
-Also see testcase [[test-lseek.c]] and [[test-mach.c]]
-
-[[!tag open_issue_xen]]
+As Samuel figured out later, this slowness may in fact be due to a Xen-specific
+issue, see [[Xen_lseek]]. After the latter has been addressed, we can
+re-evaluate this issue here.
diff --git a/open_issues/xen_lseek.mdwn b/open_issues/xen_lseek.mdwn
index accc7c8f..756abf5e 100644
--- a/open_issues/xen_lseek.mdwn
+++ b/open_issues/xen_lseek.mdwn
@@ -10,6 +10,17 @@ 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
@@ -33,3 +44,14 @@ IRC, freenode, #hurd, 2011-11-02:
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 :)
diff --git a/open_issues/performance/io_system/test-lseek.c b/open_issues/xen_lseek/test-lseek.c
index 667dce66..667dce66 100644
--- a/open_issues/performance/io_system/test-lseek.c
+++ b/open_issues/xen_lseek/test-lseek.c
diff --git a/open_issues/performance/io_system/test-mach.c b/open_issues/xen_lseek/test-mach.c
index 90337346..90337346 100644
--- a/open_issues/performance/io_system/test-mach.c
+++ b/open_issues/xen_lseek/test-mach.c