summaryrefslogtreecommitdiff
path: root/open_issues/time.mdwn
blob: becb88b047f0fab65d93a442d750b1595d1d181d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
[[!meta copyright="Copyright © 2009, 2011, 2013 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_porting]]

Neither the `time` executable from the GNU time package work completely
correctly, nor does the GNU Bash built-in one.

    tschwinge@flubber:~ $ \time sleep 2
    0.00user 0.00system 9:38:00elapsed 0%CPU (0avgtext+0avgdata 0maxresident)k
    0inputs+0outputs (0major+0minor)pagefaults 0swaps
    tschwinge@flubber:~ $ \time sleep 4
    0.00user 0.00system 18:50:25elapsed 0%CPU (0avgtext+0avgdata 0maxresident)k
    0inputs+0outputs (0major+0minor)pagefaults 0swaps
    tschwinge@flubber:~ $ \time sleep 6
    0.00user 0.00system 28:00:53elapsed 0%CPU (0avgtext+0avgdata 0maxresident)k
    0inputs+0outputs (0major+0minor)pagefaults 0swaps
    tschwinge@flubber:~ $ time sleep 2
    
    real    0m2.093s
    user    0m0.000s
    sys     0m0.011s
    tschwinge@flubber:~ $ time sleep 4
    
    real    0m4.083s
    user    0m0.000s
    sys     0m0.010s
    tschwinge@flubber:~ $ time sleep 6
    
    real    0m6.164s
    user    0m0.000s
    sys     0m0.010s

GNU time's *elapsed* value is off by some factor.

    $ \time factor 1111111111111111111
    1111111111111111111: 1111111111111111111
    0.00user 0.00system 52:39:24elapsed 0%CPU (0avgtext+0avgdata 0maxresident)k
    0inputs+0outputs (0major+0minor)pagefaults 0swaps
    $ time factor 1111111111111111111
    1111111111111111111: 1111111111111111111
    
    real    0m11.424s
    user    0m0.000s
    sys     0m0.010s

As above; also here all the running time should be attributed to *user* time.
This is probably a [[!taglink open_issue_gnumach]].


# 2011-09-02

Might want to revisit this, and take Xen [[!tag open_issue_xen]] into account
-- I believe flubber has already been Xenified at that time.


## IRC, freenode, #hurd, 2011-09-02

While testing some [[performance/IPC_virtual_copy]] performance issues:

    <tschwinge> And I can confirm that with dd if=/dev/zero of=/dev/null bs=4k
      running, a parallel sleep 10 takes about 20 s (on strauss).

# 2013-03-30/31

Investigating time's `configure`, a difference of the output between Linux and
Hurd shows:

    -checking for wait3 that fills in rusage... yes
    +checking for wait3 that fills in rusage... no

This causes a different code path in `resuse.c` to be used; such code path does
not get a define for `HZ`, which is then defined with a fallback value of 60.

[[!debbug 704283]] has been filed with a fix for this no-wait3 case.