> It looks like a variant
> of that patch got into 2.6.33 (41d2e4949377)
>
according to
http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.33.y.git;a=commit;h=41d2e4949377
there is a /proc/timer_list - here is mine with 2.6.33 and CONFIG_NOHZ active:
Timer List Version: v0.5
HRTIMER_MAX_CLOCK_BASES: 2
now at 39700078385698 nsecs
cpu: 0
clock 0:
.base: ffff880008013f08
.index: 0
.resolution: 1 nsecs
.get_time: ktime_get_real
.offset: 1268594403242758210 nsecs
active timers:
clock 1:
.base: ffff880008013f48
.index: 1
.resolution: 1 nsecs
.get_time: ktime_get
.offset: 0 nsecs
active timers:
#0: <ffff8800ec2f1948>, hrtimer_wakeup, S:01, schedule_hrtimeout_range,
xend/14751
# expires at 39700088244281-39700088294281 nsecs [in 9858583 to 9908583
nsecs]
#1: <ffff88011de87a78>, hrtimer_wakeup, S:01, schedule_hrtimeout_range,
kwin/3976
# expires at 39700088517904-39700088567904 nsecs [in 10132206 to 10182206
nsecs]
#2: <ffff880114271a78>, hrtimer_wakeup, S:01, schedule_hrtimeout_range,
gkrellm/4029
# expires at 39700090903507-39700090953507 nsecs [in 12517809 to 12567809
nsecs]
#3: <ffff880008013fe0>, tick_sched_timer, S:01, tick_nohz_stop_sched_tick,
swapper/0
# expires at 39700319000000-39700319000000 nsecs [in 240614302 to 240614302
nsecs]
#4: <ffff8801172f5a78>, hrtimer_wakeup, S:01, schedule_hrtimeout_range, plasma-
desktop/3980
# expires at 39700375492906-39700375841905 nsecs [in 297107208 to 297456207
nsecs]
#5: <ffff88010e1cda78>, hrtimer_wakeup, S:01, schedule_hrtimeout_range,
gkrellm/4030
# expires at 39700513816021-39700514369020 nsecs [in 435430323 to 435983322
nsecs]
#6: <ffff88010e1cfa78>, hrtimer_wakeup, S:01, schedule_hrtimeout_range,
gkrellm/4031
# expires at 39700928500172-39700929452171 nsecs [in 850114474 to 851066473
nsecs]
#7: <ffff8801eeeb1948>, hrtimer_wakeup, S:01, schedule_hrtimeout_range,
xend/2498
# expires at 39701136632456-39701138632455 nsecs [in 1058246758 to 1060246757
nsecs]
#8: <ffff8801ecff7a78>, hrtimer_wakeup, S:01, schedule_hrtimeout_range, avahi-
daemon/2643
# expires at 39701630089942-39701658854941 nsecs [in 1551704244 to 1580469243
nsecs]
#9: <ffff8801edd05948>, hrtimer_wakeup, S:01, schedule_hrtimeout_range, munin-
node/2936
# expires at 39701811354852-39701813354851 nsecs [in 1732969154 to 1734969153
nsecs]
#10: <ffff8801ead57a78>, hrtimer_wakeup, S:01, schedule_hrtimeout_range,
ntpd/1863
# expires at 39805530083909-39805630083909 nsecs [in 105451698211 to
105551698211 nsecs]
#11: <ffff8800da159948>, hrtimer_wakeup, S:01, schedule_hrtimeout_range,
rsyslogd/16096
# expires at 39911498142700-39911598142700 nsecs [in 211419757002 to
211519757002 nsecs]
.expires_next : 39700088294281 nsecs
.hres_active : 1
.nr_events : 17061828
.nr_retries : 3170
.nr_hangs : 0
.max_hang_time : 0 nsecs
.nohz_mode : 2
.idle_tick : 39700077000000 nsecs
.tick_stopped : 1
.idle_jiffies : 4334367373
.idle_calls : 54289068
.idle_sleeps : 34911450
.idle_entrytime : 39700077164622 nsecs
.idle_waketime : 39700077116565 nsecs
.idle_exittime : 39700074096546 nsecs
.idle_sleeptime : 31394496198384 nsecs
.last_jiffies : 4334367374
.next_jiffies : 4334367616
.idle_expires : 39700319000000 nsecs
jiffies: 4334367375
cpu: 1
clock 0:
.base: ffff880008026f08
.index: 0
.resolution: 1 nsecs
.get_time: ktime_get_real
.offset: 1268594403242758210 nsecs
active timers:
clock 1:
.base: ffff880008026f48
.index: 1
.resolution: 1 nsecs
.get_time: ktime_get
.offset: 0 nsecs
active timers:
#0: <ffff880008026fe0>, tick_sched_timer, S:01, tick_nohz_restart_sched_tick,
swapper/0
# expires at 39700079083333-39700079083333 nsecs [in 697635 to 697635 nsecs]
#1: <ffff8801ebdb6468>, it_real_fn, S:01, do_setitimer, uml_switch/2130
# expires at 39700827086561-39700827086561 nsecs [in 748700863 to 748700863
nsecs]
#2: <ffff88000396f948>, hrtimer_wakeup, S:01, schedule_hrtimeout_range,
dirmngr/16013
# expires at 39700984969090-39700985969086 nsecs [in 906583392 to 907583388
nsecs]
#3: <ffffffff816c1838>, sched_rt_period_timer, S:01, enqueue_task_rt,
swapper/1
# expires at 39701000000000-39701000000000 nsecs [in 921614302 to 921614302
nsecs]
#4: <ffff8801ee5df948>, hrtimer_wakeup, S:01, schedule_hrtimeout_range,
mysqld/2346
# expires at 39702678123264-39702683123263 nsecs [in 2599737566 to 2604737565
nsecs]
#5: <ffff8801eeea5948>, hrtimer_wakeup, S:01, schedule_hrtimeout_range,
xend/2496
# expires at 100000015827667689-100000015927667689 nsecs [in
99960315749281991 to 99960315849281991 nsecs]
.expires_next : 39700079083333 nsecs
.hres_active : 1
.nr_events : 15140240
.nr_retries : 964
.nr_hangs : 1
.max_hang_time : 3968056 nsecs
.nohz_mode : 2
.idle_tick : 39699985083333 nsecs
.tick_stopped : 0
.idle_jiffies : 4334367281
.idle_calls : 20003807
.idle_sleeps : 5904872
.idle_entrytime : 39700078089128 nsecs
.idle_waketime : 39700076359045 nsecs
.idle_exittime : 39700076361140 nsecs
.idle_sleeptime : 37710292484734 nsecs
.last_jiffies : 4334367374
.next_jiffies : 4334367375
.idle_expires : 39701700000000 nsecs
jiffies: 4334367375
cpu: 2
clock 0:
.base: ffff880008039f08
.index: 0
.resolution: 1 nsecs
.get_time: ktime_get_real
.offset: 1268594403242758210 nsecs
active timers:
clock 1:
.base: ffff880008039f48
.index: 1
.resolution: 1 nsecs
.get_time: ktime_get
.offset: 0 nsecs
active timers:
#0: <ffff880008039fe0>, tick_sched_timer, S:01, tick_nohz_restart_sched_tick,
swapper/0
# expires at 39700079166666-39700079166666 nsecs [in 780968 to 780968 nsecs]
#1: <ffff8801098aba78>, hrtimer_wakeup, S:01, schedule_hrtimeout_range,
amarok/4040
# expires at 39700121985119-39700122084118 nsecs [in 43599421 to 43698420
nsecs]
#2: <ffff880114253a78>, hrtimer_wakeup, S:01, schedule_hrtimeout_range,
klipper/4011
# expires at 39700334245968-39700335244967 nsecs [in 255860270 to 256859269
nsecs]
#3: <ffff8801143f9a78>, hrtimer_wakeup, S:01, schedule_hrtimeout_range,
kmix/4018
# expires at 39700351305204-39700353303203 nsecs [in 272919506 to 274917505
nsecs]
#4: <ffff8801ee6bfa78>, hrtimer_wakeup, S:01, schedule_hrtimeout_range,
kontact/4039
# expires at 39700432386829-39700433385828 nsecs [in 354001131 to 355000130
nsecs]
#5: <ffff8801ecd63948>, hrtimer_wakeup, S:01, schedule_hrtimeout_range,
mysqld/2344
# expires at 39701067743916-39701068743915 nsecs [in 989358218 to 990358217
nsecs]
#6: <ffff88011dd5ba78>, hrtimer_wakeup, S:01, schedule_hrtimeout_range,
kded4/3950
# expires at 39701351300666-39701356298665 nsecs [in 1272914968 to 1277912967
nsecs]
#7: <ffff8801098e1a78>, hrtimer_wakeup, S:01, schedule_hrtimeout_range,
akonadiserver/4049
# expires at 39701849232912-39701855575911 nsecs [in 1770847214 to 1777190213
nsecs]
#8: <ffff88012091b948>, hrtimer_wakeup, S:01, schedule_hrtimeout_range, gpg-
agent/3856
# expires at 39702757252653-39702760249600 nsecs [in 2678866955 to 2681863902
nsecs]
#9: <ffff880109b03a78>, hrtimer_wakeup, S:01, schedule_hrtimeout_range,
akonadi_control/4047
# expires at 39707457215355-39707467205354 nsecs [in 7378829657 to 7388819656
nsecs]
#10: <ffff8801edd43eb8>, hrtimer_wakeup, S:01, do_nanosleep, cron/2170
# expires at 39718231470880-39718231520880 nsecs [in 18153085182 to
18153135182 nsecs]
#11: <ffff8800ec3f9d28>, hrtimer_wakeup, S:01, futex_wait_queue_me,
rsyslogd/12234
# expires at 39733019433875-39733019483875 nsecs [in 32941048177 to
32941098177 nsecs]
#12: <ffff8801ee14f948>, hrtimer_wakeup, S:01, schedule_hrtimeout_range,
mdadm/2194
# expires at 40019833645109-40019933645109 nsecs [in 319755259411 to
319855259411 nsecs]
.expires_next : 39700079166666 nsecs
.hres_active : 1
.nr_events : 6718421
.nr_retries : 1069
.nr_hangs : 0
.max_hang_time : 0 nsecs
.nohz_mode : 2
.idle_tick : 39700068166666 nsecs
.tick_stopped : 0
.idle_jiffies : 4334367364
.idle_calls : 8721853
.idle_sleeps : 3768379
.idle_entrytime : 39700067749764 nsecs
.idle_waketime : 39700076873579 nsecs
.idle_exittime : 39700076874813 nsecs
.idle_sleeptime : 37892101915060 nsecs
.last_jiffies : 4334367364
.next_jiffies : 4334367500
.idle_expires : 39700203000000 nsecs
jiffies: 4334367375
cpu: 3
clock 0:
.base: ffff88000804cf08
.index: 0
.resolution: 1 nsecs
.get_time: ktime_get_real
.offset: 1268594403242758210 nsecs
active timers:
clock 1:
.base: ffff88000804cf48
.index: 1
.resolution: 1 nsecs
.get_time: ktime_get
.offset: 0 nsecs
active timers:
#0: <ffff88000804cfe0>, tick_sched_timer, S:01, tick_nohz_restart_sched_tick,
swapper/0
# expires at 39700079249999-39700079249999 nsecs [in 864301 to 864301 nsecs]
#1: <ffff8801efc9f948>, hrtimer_wakeup, S:01, schedule_hrtimeout_range, init/1
# expires at 39702931328063-39702936328062 nsecs [in 2852942365 to 2857942364
nsecs]
.expires_next : 39700079249999 nsecs
.hres_active : 1
.nr_events : 7019712
.nr_retries : 703
.nr_hangs : 0
.max_hang_time : 0 nsecs
.nohz_mode : 2
.idle_tick : 39697932249999 nsecs
.tick_stopped : 0
.idle_jiffies : 4334365228
.idle_calls : 15211478
.idle_sleeps : 11625422
.idle_entrytime : 39699938261592 nsecs
.idle_waketime : 39698025114890 nsecs
.idle_exittime : 39698025116159 nsecs
.idle_sleeptime : 37962384222924 nsecs
.last_jiffies : 4334367235
.next_jiffies : 4334367236
.idle_expires : 39698029000000 nsecs
jiffies: 4334367375
cpu: 4
clock 0:
.base: ffff88000805ff08
.index: 0
.resolution: 1 nsecs
.get_time: ktime_get_real
.offset: 1268594403242758210 nsecs
active timers:
clock 1:
.base: ffff88000805ff48
.index: 1
.resolution: 1 nsecs
.get_time: ktime_get
.offset: 0 nsecs
active timers:
#0: <ffff88000805ffe0>, tick_sched_timer, S:01, tick_nohz_restart_sched_tick,
swapper/0
# expires at 39700079333332-39700079333332 nsecs [in 947634 to 947634 nsecs]
#1: <ffff8801ecd77948>, hrtimer_wakeup, S:01, schedule_hrtimeout_range,
mysqld/2345
# expires at 39700515448847-39700516448846 nsecs [in 437063149 to 438063148
nsecs]
#2: <ffff8801ee069a78>, hrtimer_wakeup, S:01, schedule_hrtimeout_range, hald-
addon-stor/2731
# expires at 39700757370965-39700759288964 nsecs [in 678985267 to 680903266
nsecs]
#3: <ffff8801ee5b9a78>, hrtimer_wakeup, S:01, schedule_hrtimeout_range, hald-
addon-stor/2732
# expires at 39700757368857-39700759355856 nsecs [in 678983159 to 680970158
nsecs]
#4: <ffff8801eedcfa78>, hrtimer_wakeup, S:01, schedule_hrtimeout_range,
krunner/4005
# expires at 39700965439836-39700966438835 nsecs [in 887054138 to 888053137
nsecs]
#5: <ffff8801ee0ffa78>, hrtimer_wakeup, S:01, schedule_hrtimeout_range, hald-
addon-stor/2730
# expires at 39701757375385-39701759293384 nsecs [in 1678989687 to 1680907686
nsecs]
#6: <ffff8801ecc95948>, hrtimer_wakeup, S:01, schedule_hrtimeout_range,
winbindd/2445
# expires at 39704287532303-39704317532302 nsecs [in 4209146605 to 4239146604
nsecs]
#7: <ffff88011dc59a78>, hrtimer_wakeup, S:01, schedule_hrtimeout_range,
klauncher/3948
# expires at 39704522370930-39704532360929 nsecs [in 4443985232 to 4453975231
nsecs]
#8: <ffff8801eed35a78>, hrtimer_wakeup, S:01, schedule_hrtimeout_range,
hald/2691
# expires at 39708757725862-39708787723861 nsecs [in 8679340164 to 8709338163
nsecs]
#9: <ffff880120af7a78>, hrtimer_wakeup, S:01, schedule_hrtimeout_range,
console-kit-dae/3640
# expires at 39711757158054-39711787158053 nsecs [in 11678772356 to
11708772355 nsecs]
#10: <ffff8801ec733468>, it_real_fn, S:01, do_setitimer, qmgr/2821
# expires at 39950643408313-39950643408313 nsecs [in 250565022615 to
250565022615 nsecs]
#11: <ffff8801efd64868>, it_real_fn, S:01, do_setitimer, master/2812
# expires at 40010643498250-40010643498250 nsecs [in 310565112552 to
310565112552 nsecs]
#12: <ffff8801ebe03eb8>, hrtimer_wakeup, S:01, do_nanosleep, atd/2149
# expires at 43215598718315-43215598768315 nsecs [in 3515520332617 to
3515520382617 nsecs]
#13: <ffff8801ebdc2068>, it_real_fn, S:01, do_setitimer, pickup/15002
# expires at 45677643431329-45677643431329 nsecs [in 5977565045631 to
5977565045631 nsecs]
.expires_next : 39700079333332 nsecs
.hres_active : 1
.nr_events : 5181117
.nr_retries : 1352
.nr_hangs : 2
.max_hang_time : 31154440 nsecs
.nohz_mode : 2
.idle_tick : 39698048333332 nsecs
.tick_stopped : 0
.idle_jiffies : 4334365344
.idle_calls : 6885906
.idle_sleeps : 3874150
.idle_entrytime : 39700078338583 nsecs
.idle_waketime : 39698051036847 nsecs
.idle_exittime : 39698051038239 nsecs
.idle_sleeptime : 37271606112519 nsecs
.last_jiffies : 4334367375
.next_jiffies : 4334367411
.idle_expires : 39698691000000 nsecs
jiffies: 4334367375
cpu: 5
clock 0:
.base: ffff880008072f08
.index: 0
.resolution: 1 nsecs
.get_time: ktime_get_real
.offset: 1268594403242758210 nsecs
active timers:
clock 1:
.base: ffff880008072f48
.index: 1
.resolution: 1 nsecs
.get_time: ktime_get
.offset: 0 nsecs
active timers:
#0: <ffff8801ee259a78>, hrtimer_wakeup, S:01, schedule_hrtimeout_range,
cupsd/2838
# expires at 39700188554200-39700199554199 nsecs [in 110168502 to 121168501
nsecs]
#1: <ffff88011437da78>, hrtimer_wakeup, S:01, schedule_hrtimeout_range,
kwalletd/4132
# expires at 39701350568747-39701355563746 nsecs [in 1272183049 to 1277178048
nsecs]
#2: <ffff880008072fe0>, tick_sched_timer, S:01, tick_nohz_stop_sched_tick,
swapper/0
# expires at 39701688000000-39701688000000 nsecs [in 1609614302 to 1609614302
nsecs]
#3: <ffff8801ec4c5d28>, hrtimer_wakeup, S:01, futex_wait_queue_me, bacula-
fd/3492
# expires at 39709742894693-39709742944693 nsecs [in 9664508995 to 9664558995
nsecs]
#4: <ffff8801142fda78>, hrtimer_wakeup, S:01, schedule_hrtimeout_range,
korgac/4019
# expires at 39748359758573-39748419730572 nsecs [in 48281372875 to
48341344874 nsecs]
#5: <ffff8801ee15b948>, hrtimer_wakeup, S:01, schedule_hrtimeout_range,
rsyslogd/2096
# expires at 122711318146941-122711418146941 nsecs [in 83011239761243 to
83011339761243 nsecs]
.expires_next : 39700199554199 nsecs
.hres_active : 1
.nr_events : 3946402
.nr_retries : 883
.nr_hangs : 2
.max_hang_time : 2960096 nsecs
.nohz_mode : 2
.idle_tick : 39699958416665 nsecs
.tick_stopped : 1
.idle_jiffies : 4334367254
.idle_calls : 5770603
.idle_sleeps : 3654532
.idle_entrytime : 39699957423004 nsecs
.idle_waketime : 39699921692874 nsecs
.idle_exittime : 39699921694130 nsecs
.idle_sleeptime : 37835103396410 nsecs
.last_jiffies : 4334367254
.next_jiffies : 4334368985
.idle_expires : 39701688000000 nsecs
jiffies: 4334367375
Tick Device: mode: 1
Per CPU device: 0
Clock Event Device: xen
max_delta_ns: 4294967295
min_delta_ns: 100000
mult: 1
shift: 0
mode: 3
next_event: 39700088294281 nsecs
set_next_event: vcpuop_set_next_event
set_mode: vcpuop_set_mode
event_handler: hrtimer_interrupt
Tick Device: mode: 1
Per CPU device: 1
Clock Event Device: xen
max_delta_ns: 4294967295
min_delta_ns: 100000
mult: 1
shift: 0
mode: 3
next_event: 39700079083333 nsecs
set_next_event: vcpuop_set_next_event
set_mode: vcpuop_set_mode
event_handler: hrtimer_interrupt
Tick Device: mode: 1
Per CPU device: 2
Clock Event Device: xen
max_delta_ns: 4294967295
min_delta_ns: 100000
mult: 1
shift: 0
mode: 3
next_event: 39700079166666 nsecs
set_next_event: vcpuop_set_next_event
set_mode: vcpuop_set_mode
event_handler: hrtimer_interrupt
Tick Device: mode: 1
Per CPU device: 3
Clock Event Device: xen
max_delta_ns: 4294967295
min_delta_ns: 100000
mult: 1
shift: 0
mode: 3
next_event: 39700079249999 nsecs
set_next_event: vcpuop_set_next_event
set_mode: vcpuop_set_mode
event_handler: hrtimer_interrupt
Tick Device: mode: 1
Per CPU device: 4
Clock Event Device: xen
max_delta_ns: 4294967295
min_delta_ns: 100000
mult: 1
shift: 0
mode: 3
next_event: 39700079333332 nsecs
set_next_event: vcpuop_set_next_event
set_mode: vcpuop_set_mode
event_handler: hrtimer_interrupt
Tick Device: mode: 1
Per CPU device: 5
Clock Event Device: xen
max_delta_ns: 4294967295
min_delta_ns: 100000
mult: 1
shift: 0
mode: 3
next_event: 39700199554199 nsecs
set_next_event: vcpuop_set_next_event
set_mode: vcpuop_set_mode
event_handler: hrtimer_interrupt
This is after some uptime with HVM guest active.
As the ".nr_retries" indicate i still experience small hiccups, not long ones
(but definitly longer than 100ms) but still quite annoying.
CONFIG_NOHZ definitly helps, but not enough.
Greetings
Tobias
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|