All of lore.kernel.org
 help / color / mirror / Atom feed
* [timer/ticks related] dom0 hang during boot on large 1TB system
@ 2009-12-18  4:36 Mukesh Rathor
  2009-12-18  7:02 ` Keir Fraser
  0 siblings, 1 reply; 51+ messages in thread
From: Mukesh Rathor @ 2009-12-18  4:36 UTC (permalink / raw)
  To: Xen-devel@lists.xensource.com; +Cc: Kurt Hackel, Dan Magenheimer

[-- Attachment #1: Type: text/plain, Size: 1414 bytes --]

Hi,

I finally solved a hang on a 1TB box during our dom0 boot on xen 3.4.0,
that I'd been working on. The hang comes from:

calibrate_delay_direct():
....
        for (i = 0; i < MAX_DIRECT_CALIBRATION_RETRIES; i++) {
                pre_start = 0;
                start_jiffies = jiffies;
                while (jiffies <= (start_jiffies + tick_divider)) {
                        pre_start = start;
                        read_current_timer(&start);
                }
                read_current_timer(&post_start);
...


start_jiffies is set to : INITIAL_JIFFIES == 0xfffedb08

now, timer interrupt comes in and finding delta to be rather
huge (thanks to the page scrubbing of 1TB in xen), makes jiffies
wrap around. This causes hang in the loop, that would resolve after
say several days.

delta: 940b7d68a4, jiffies:00009f8b


I came up with fix (is there a reason it doesn't use 64bit values?) :

             while (jiffies <= (start_jiffies + tick_divider)) {
                   pre_start = start;
                   read_current_timer(&start);
+                  if (jiffies < start_jiffies)  /* jiffies wrapped */
+                          start_jiffies = jiffies;
             }


The other fix I thought of was to change INITIAL_JIFFIES to something 
sooner.


Would appreciate any help, I don't understand xen time management well.

thanks,
Mukesh


PS: I'm attaching output of 'xm debug-key t'.


[-- Attachment #2: skew.out --]
[-- Type: application/octet-stream, Size: 16359 bytes --]

(XEN) Synced cycles skew: max=128755 avg=128755 samples=1 current=128755
(XEN) Synced stime skew: max=63373ns avg=61935ns samples=2 current=63373ns
(XEN) Synced cycles skew: max=129906 avg=129330 samples=2 current=129906
(XEN) Synced stime skew: max=63373ns avg=60583ns samples=3 current=57881ns
(XEN) Synced cycles skew: max=133764 avg=130808 samples=3 current=133764
(XEN) Synced stime skew: max=63373ns avg=60431ns samples=4 current=59976ns
(XEN) Synced cycles skew: max=133764 avg=130397 samples=4 current=129165
(XEN) Synced stime skew: max=64212ns avg=61187ns samples=5 current=64212ns
(XEN) Synced cycles skew: max=133764 avg=129990 samples=5 current=128363
(XEN) Synced stime skew: max=77171ns avg=63851ns samples=6 current=77171ns
(XEN) Synced cycles skew: max=133764 avg=129874 samples=6 current=129293
(XEN) Synced stime skew: max=80539ns avg=66235ns samples=7 current=80539ns
(XEN) Synced cycles skew: max=133764 avg=129796 samples=7 current=129329
(XEN) Synced stime skew: max=86713ns avg=68795ns samples=8 current=86713ns
(XEN) Synced cycles skew: max=133764 avg=128902 samples=8 current=122645
(XEN) Synced stime skew: max=86713ns avg=67529ns samples=9 current=57401ns
(XEN) Synced cycles skew: max=133764 avg=128793 samples=9 current=127920
(XEN) Synced stime skew: max=86713ns avg=68076ns samples=10 current=73000ns
(XEN) Synced cycles skew: max=133764 avg=128779 samples=10 current=128656
(XEN) Synced stime skew: max=86713ns avg=67276ns samples=11 current=59282ns
(XEN) Synced cycles skew: max=133764 avg=128856 samples=11 current=129622
(XEN) Synced stime skew: max=86713ns avg=67577ns samples=12 current=70889ns
(XEN) Synced cycles skew: max=133764 avg=128868 samples=12 current=129006
(XEN) Synced stime skew: max=86713ns avg=67438ns samples=13 current=65768ns
(XEN) Synced cycles skew: max=133764 avg=128891 samples=13 current=129166
(XEN) Synced stime skew: max=86713ns avg=68475ns samples=14 current=81951ns
(XEN) Synced cycles skew: max=133764 avg=128910 samples=14 current=129159
(XEN) Synced stime skew: max=86713ns avg=68557ns samples=15 current=69716ns
(XEN) Synced cycles skew: max=140030 avg=129651 samples=15 current=140030
(XEN) Synced stime skew: max=86713ns avg=68187ns samples=16 current=62623ns
(XEN) Synced cycles skew: max=140030 avg=130028 samples=16 current=135669
(XEN) Synced stime skew: max=86713ns avg=67589ns samples=17 current=58036ns
(XEN) Synced cycles skew: max=140030 avg=130010 samples=17 current=129726
(XEN) Synced stime skew: max=86713ns avg=67628ns samples=18 current=68276ns
(XEN) Synced cycles skew: max=140702 avg=130604 samples=18 current=140702
(XEN) Synced stime skew: max=86713ns avg=67436ns samples=19 current=63995ns
(XEN) Synced cycles skew: max=140702 avg=130851 samples=19 current=135296
(XEN) Synced stime skew: max=86713ns avg=66869ns samples=20 current=56100ns
(XEN) Synced cycles skew: max=140702 avg=130728 samples=20 current=128388
(XEN) Synced stime skew: max=86713ns avg=67756ns samples=21 current=85495ns
(XEN) Synced cycles skew: max=141906 avg=131260 samples=21 current=141906
(XEN) Synced stime skew: max=86713ns avg=68000ns samples=22 current=73117ns
(XEN) Synced cycles skew: max=141906 avg=131701 samples=22 current=140977
(XEN) Synced stime skew: max=86713ns avg=66884ns samples=23 current=42339ns
(XEN) Synced cycles skew: max=141906 avg=131575 samples=23 current=128793
(XEN) Synced stime skew: max=86713ns avg=66076ns samples=24 current=47488ns
(XEN) Synced cycles skew: max=141906 avg=131472 samples=24 current=129115
(XEN) Synced stime skew: max=86713ns avg=65573ns samples=25 current=53510ns
(XEN) Synced cycles skew: max=141906 avg=131363 samples=25 current=128730
(XEN) Synced stime skew: max=86713ns avg=65448ns samples=26 current=62315ns
(XEN) Synced cycles skew: max=141906 avg=131535 samples=26 current=135841
(XEN) Synced stime skew: max=86713ns avg=66054ns samples=27 current=81795ns
(XEN) Synced cycles skew: max=141906 avg=131689 samples=27 current=135698
(XEN) Synced stime skew: max=89642ns avg=66896ns samples=28 current=89642ns
(XEN) Synced cycles skew: max=141906 avg=131823 samples=28 current=135425
(XEN) Synced stime skew: max=114074ns avg=68523ns samples=29 current=114074ns
(XEN) Synced cycles skew: max=141906 avg=131940 samples=29 current=135243
(XEN) Synced stime skew: max=114074ns avg=68299ns samples=30 current=61804ns
(XEN) Synced cycles skew: max=141906 avg=131864 samples=30 current=129658
(XEN) Synced stime skew: max=114074ns avg=67987ns samples=31 current=58635ns
(XEN) Synced cycles skew: max=141906 avg=131777 samples=31 current=129171
(XEN) Synced stime skew: max=114074ns avg=67455ns samples=32 current=50977ns
(XEN) Synced cycles skew: max=141906 avg=131705 samples=32 current=129449
(XEN) Synced stime skew: max=114074ns avg=67072ns samples=33 current=54801ns
(XEN) Synced cycles skew: max=141906 avg=131814 samples=33 current=135323
(XEN) Synced stime skew: max=114074ns avg=67185ns samples=34 current=70930ns
(XEN) Synced cycles skew: max=147335 avg=132271 samples=34 current=147335
(XEN) Synced stime skew: max=114074ns avg=67510ns samples=35 current=78543ns
(XEN) Synced cycles skew: max=147335 avg=132369 samples=35 current=135705
(XEN) Synced stime skew: max=114074ns avg=67665ns samples=36 current=73100ns
(XEN) Synced cycles skew: max=147335 avg=132436 samples=36 current=134786
(XEN) Synced stime skew: max=114074ns avg=66970ns samples=37 current=41961ns
(XEN) Synced cycles skew: max=147335 avg=132326 samples=37 current=128380
(XEN) Synced stime skew: max=114074ns avg=67081ns samples=38 current=71167ns
(XEN) Synced cycles skew: max=147335 avg=132433 samples=38 current=136364
(XEN) Synced stime skew: max=114074ns avg=66538ns samples=39 current=45891ns
(XEN) Synced cycles skew: max=147335 avg=132376 samples=39 current=130216
(XEN) Synced stime skew: max=114074ns avg=66474ns samples=40 current=63994ns
(XEN) Synced cycles skew: max=147335 avg=132464 samples=40 current=135885
(XEN) Synced stime skew: max=114074ns avg=66308ns samples=41 current=59661ns
(XEN) Synced cycles skew: max=147335 avg=132522 samples=41 current=134858
(XEN) Synced stime skew: max=114074ns avg=66824ns samples=42 current=87998ns
(XEN) Synced cycles skew: max=147335 avg=132719 samples=42 current=140812
(XEN) Synced stime skew: max=114074ns avg=67367ns samples=43 current=90148ns
(XEN) Synced cycles skew: max=147335 avg=132625 samples=43 current=128661
(XEN) Synced stime skew: max=114074ns avg=67279ns samples=44 current=63503ns
(XEN) Synced cycles skew: max=147335 avg=132533 samples=44 current=128561
(XEN) Synced stime skew: max=114074ns avg=67156ns samples=45 current=61761ns
(XEN) Synced cycles skew: max=147335 avg=132447 samples=45 current=128703
(XEN) Synced stime skew: max=114074ns avg=67049ns samples=46 current=62220ns
(XEN) Synced cycles skew: max=147335 avg=132532 samples=46 current=136336
(XEN) Synced stime skew: max=114074ns avg=66937ns samples=47 current=61780ns
(XEN) Synced cycles skew: max=147335 avg=132458 samples=47 current=129036
(XEN) Synced stime skew: max=114074ns avg=66972ns samples=48 current=68615ns
(XEN) Synced cycles skew: max=147335 avg=132399 samples=48 current=129646
(XEN) Synced stime skew: max=114074ns avg=67036ns samples=49 current=70121ns
(XEN) Synced cycles skew: max=147335 avg=132618 samples=49 current=143138
(XEN) Synced stime skew: max=114074ns avg=67235ns samples=50 current=76987ns
(XEN) Synced cycles skew: max=147335 avg=132554 samples=50 current=129434
(XEN) Synced stime skew: max=114074ns avg=67088ns samples=51 current=59725ns
(XEN) Synced cycles skew: max=147335 avg=132502 samples=51 current=129876
(XEN) Synced stime skew: max=114074ns avg=66717ns samples=52 current=47798ns
(XEN) Synced cycles skew: max=147335 avg=132458 samples=52 current=130224
(XEN) Synced stime skew: max=114074ns avg=66424ns samples=53 current=51182ns
(XEN) Synced cycles skew: max=147335 avg=132391 samples=53 current=128909
(XEN) Synced stime skew: max=114074ns avg=66357ns samples=54 current=62804ns
(XEN) Synced cycles skew: max=147335 avg=132544 samples=54 current=140644
(XEN) Synced stime skew: max=114074ns avg=66269ns samples=55 current=61534ns
(XEN) Synced cycles skew: max=147335 avg=132460 samples=55 current=127940
(XEN) Synced stime skew: max=114074ns avg=66123ns samples=56 current=58106ns
(XEN) Synced cycles skew: max=147335 avg=132387 samples=56 current=128369
(XEN) Synced stime skew: max=114074ns avg=66275ns samples=57 current=74757ns
(XEN) Synced cycles skew: max=147335 avg=132333 samples=57 current=129325
(XEN) Synced stime skew: max=114074ns avg=66295ns samples=58 current=67448ns
(XEN) Synced cycles skew: max=147335 avg=132288 samples=58 current=129711
(XEN) Synced stime skew: max=114074ns avg=66062ns samples=59 current=52570ns
(XEN) Synced cycles skew: max=147335 avg=132360 samples=59 current=136536
(XEN) Synced stime skew: max=114074ns avg=65885ns samples=60 current=55437ns
(XEN) Synced cycles skew: max=147335 avg=132320 samples=60 current=129941
(XEN) Synced stime skew: max=114074ns avg=65619ns samples=61 current=49685ns
(XEN) Synced cycles skew: max=147335 avg=132374 samples=61 current=135631
(XEN) Synced stime skew: max=114074ns avg=65465ns samples=62 current=56050ns
(XEN) Synced cycles skew: max=147335 avg=132302 samples=62 current=127925
(XEN) Synced stime skew: max=114074ns avg=65952ns samples=63 current=96125ns
(XEN) Synced cycles skew: max=147335 avg=132378 samples=63 current=137096
(XEN) Synced stime skew: max=114074ns avg=65938ns samples=64 current=65091ns
(XEN) Synced cycles skew: max=147335 avg=132336 samples=64 current=129665
(XEN) Synced stime skew: max=114074ns avg=66090ns samples=65 current=75796ns
(XEN) Synced cycles skew: max=147335 avg=132391 samples=65 current=135939
(XEN) Synced stime skew: max=114074ns avg=65911ns samples=66 current=54300ns
(XEN) Synced cycles skew: max=147335 avg=132321 samples=66 current=127769
(XEN) Synced stime skew: max=114074ns avg=65943ns samples=67 current=68057ns
(XEN) Synced cycles skew: max=147335 avg=132461 samples=67 current=141686
(XEN) Synced stime skew: max=114074ns avg=66035ns samples=68 current=72154ns
(XEN) Synced cycles skew: max=148713 avg=132700 samples=68 current=148713
(XEN) Synced stime skew: max=114074ns avg=65906ns samples=69 current=57182ns
(XEN) Synced cycles skew: max=148713 avg=132655 samples=69 current=129605
(XEN) Synced stime skew: max=114074ns avg=66096ns samples=70 current=79181ns
(XEN) Synced cycles skew: max=148713 avg=132600 samples=70 current=128797
(XEN) Synced stime skew: max=114074ns avg=66121ns samples=71 current=67886ns
(XEN) Synced cycles skew: max=148713 avg=132452 samples=71 current=122099
(XEN) Synced stime skew: max=114074ns avg=66355ns samples=72 current=82956ns
(XEN) Synced cycles skew: max=148713 avg=132486 samples=72 current=134861
(XEN) Synced stime skew: max=114074ns avg=66301ns samples=73 current=62392ns
(XEN) Synced cycles skew: max=148713 avg=132448 samples=73 current=129702
(XEN) Synced stime skew: max=114074ns avg=66148ns samples=74 current=54990ns
(XEN) Synced cycles skew: max=148713 avg=132396 samples=74 current=128615
(XEN) Synced stime skew: max=114074ns avg=65986ns samples=75 current=54038ns
(XEN) Synced cycles skew: max=148713 avg=132365 samples=75 current=130113
(XEN) Synced stime skew: max=114074ns avg=66055ns samples=76 current=71208ns
(XEN) Synced cycles skew: max=148713 avg=132322 samples=76 current=129063
(XEN) Synced stime skew: max=114074ns avg=66353ns samples=77 current=89023ns
(XEN) Synced cycles skew: max=148713 avg=132374 samples=77 current=136354
(XEN) Synced stime skew: max=114074ns avg=66410ns samples=78 current=70776ns
(XEN) Synced cycles skew: max=148713 avg=132525 samples=78 current=144157
(XEN) Synced stime skew: max=114074ns avg=66671ns samples=79 current=87005ns
(XEN) Synced cycles skew: max=148713 avg=132549 samples=79 current=134402
(XEN) Synced stime skew: max=114074ns avg=66643ns samples=80 current=64455ns
(XEN) Synced cycles skew: max=148713 avg=132594 samples=80 current=136110
(XEN) Synced stime skew: max=114074ns avg=66541ns samples=81 current=58358ns
(XEN) Synced cycles skew: max=148713 avg=132682 samples=81 current=139775
(XEN) Synced stime skew: max=114074ns avg=66389ns samples=82 current=54126ns
(XEN) Synced cycles skew: max=148713 avg=132722 samples=82 current=135982
(XEN) Synced stime skew: max=114074ns avg=66359ns samples=83 current=63867ns
(XEN) Synced cycles skew: max=148713 avg=132679 samples=83 current=129097
(XEN) Synced stime skew: max=114074ns avg=66396ns samples=84 current=69508ns
(XEN) Synced cycles skew: max=148713 avg=132623 samples=84 current=128036
(XEN) Synced stime skew: max=114074ns avg=66701ns samples=85 current=92294ns
(XEN) Synced cycles skew: max=148713 avg=132700 samples=85 current=139133
(XEN) Synced stime skew: max=114074ns avg=67039ns samples=86 current=95791ns
(XEN) Synced cycles skew: max=148713 avg=132666 samples=86 current=129790
(XEN) Synced stime skew: max=114074ns avg=66894ns samples=87 current=54424ns
(XEN) Synced cycles skew: max=148713 avg=132722 samples=87 current=137499
(XEN) Synced stime skew: max=114074ns avg=66797ns samples=88 current=58290ns
(XEN) Synced cycles skew: max=148713 avg=132756 samples=88 current=135705
(XEN) Synced stime skew: max=114074ns avg=66711ns samples=89 current=59225ns
(XEN) Synced cycles skew: max=148713 avg=132773 samples=89 current=134259
(XEN) Synced stime skew: max=114074ns avg=66694ns samples=90 current=65127ns
(XEN) Synced cycles skew: max=148713 avg=132945 samples=90 current=148336
(XEN) Synced stime skew: max=114074ns avg=66703ns samples=91 current=67514ns
(XEN) Synced cycles skew: max=148713 avg=133027 samples=91 current=140348
(XEN) Synced stime skew: max=114074ns avg=66860ns samples=92 current=81205ns
(XEN) Synced cycles skew: max=148713 avg=132980 samples=92 current=128738
(XEN) Synced stime skew: max=114074ns avg=67012ns samples=93 current=80923ns
(XEN) Synced cycles skew: max=148713 avg=133064 samples=93 current=140746
(XEN) Synced stime skew: max=114074ns avg=66937ns samples=94 current=59997ns
(XEN) Synced cycles skew: max=148713 avg=133017 samples=94 current=128660
(XEN) Synced stime skew: max=114074ns avg=66893ns samples=95 current=62789ns
(XEN) Synced cycles skew: max=148713 avg=133148 samples=95 current=145500
(XEN) Synced stime skew: max=114074ns avg=66788ns samples=96 current=56783ns
(XEN) Synced cycles skew: max=148713 avg=133169 samples=96 current=135154
(XEN) Synced stime skew: max=114074ns avg=66842ns samples=97 current=72061ns
(XEN) Synced cycles skew: max=148713 avg=133311 samples=97 current=146910
(XEN) Synced stime skew: max=114074ns avg=66872ns samples=98 current=69710ns
(XEN) Synced cycles skew: max=148713 avg=133417 samples=98 current=143715
(XEN) Synced stime skew: max=114074ns avg=67128ns samples=99 current=92284ns
(XEN) Synced cycles skew: max=148713 avg=133452 samples=99 current=136916
(XEN) Synced stime skew: max=114074ns avg=67447ns samples=100 current=98950ns
(XEN) Synced cycles skew: max=148713 avg=133445 samples=100 current=132776
(XEN) Synced stime skew: max=114074ns avg=67331ns samples=101 current=55763ns
(XEN) Synced cycles skew: max=148713 avg=133451 samples=101 current=133971
(XEN) Synced stime skew: max=114074ns avg=67234ns samples=102 current=57429ns
(XEN) Synced cycles skew: max=148713 avg=133413 samples=102 current=129592
(XEN) Synced stime skew: max=114074ns avg=67117ns samples=103 current=55250ns
(XEN) Synced cycles skew: max=148713 avg=133437 samples=103 current=135877
(XEN) Synced stime skew: max=114074ns avg=67104ns samples=104 current=65668ns
(XEN) Synced cycles skew: max=148713 avg=133391 samples=104 current=128627
(XEN) Synced stime skew: max=114074ns avg=67143ns samples=105 current=71277ns
(XEN) Synced cycles skew: max=149119 avg=133540 samples=105 current=149119
(XEN) Synced stime skew: max=114074ns avg=67119ns samples=106 current=64521ns
(XEN) Synced cycles skew: max=149119 avg=133654 samples=106 current=145602
(XEN) Synced stime skew: max=114074ns avg=67119ns samples=107 current=67195ns
(XEN) Synced cycles skew: max=149119 avg=133606 samples=107 current=128547
(XEN) Synced stime skew: max=114074ns avg=67200ns samples=108 current=75854ns
(XEN) Synced cycles skew: max=149119 avg=133678 samples=108 current=141399
(XEN) Synced stime skew: max=114074ns avg=67132ns samples=109 current=59729ns
(XEN) Synced cycles skew: max=149119 avg=133750 samples=109 current=141474

[-- Attachment #3: Type: text/plain, Size: 138 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel

^ permalink raw reply	[flat|nested] 51+ messages in thread

end of thread, other threads:[~2010-01-05 16:08 UTC | newest]

Thread overview: 51+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-12-18  4:36 [timer/ticks related] dom0 hang during boot on large 1TB system Mukesh Rathor
2009-12-18  7:02 ` Keir Fraser
2009-12-18  8:42   ` Jan Beulich
2009-12-18  9:13     ` Keir Fraser
2009-12-18 16:35       ` Dan Magenheimer
2009-12-18 17:15         ` Keir Fraser
2009-12-18 19:28       ` Mukesh Rathor
2009-12-18 19:25   ` Mukesh Rathor
2009-12-19  4:43   ` Mukesh Rathor
2009-12-21  9:55     ` Jan Beulich
2009-12-21 18:20       ` Dan Magenheimer
2009-12-21 19:07         ` Keir Fraser
2009-12-21 19:52           ` Mukesh Rathor
2009-12-21 19:55             ` Jeremy Fitzhardinge
2009-12-21 22:47               ` Mukesh Rathor
2009-12-21 23:13                 ` Jeremy Fitzhardinge
2009-12-21 23:57                   ` Dan Magenheimer
2009-12-22  4:31                     ` Mukesh Rathor
2009-12-22  8:51         ` Jan Beulich
2009-12-22 10:20           ` Keir Fraser
2009-12-22 11:10             ` Jan Beulich
2009-12-22 13:35               ` Keir Fraser
2009-12-22 14:17                 ` Jan Beulich
2009-12-22 14:23                   ` Jan Beulich
2009-12-22 15:19                     ` Keir Fraser
2009-12-22 15:30                     ` Dan Magenheimer
2009-12-22 15:36                       ` Jan Beulich
2009-12-22 16:05                         ` Dan Magenheimer
2009-12-22 17:02                           ` Jan Beulich
2009-12-22 18:03                             ` Jeremy Fitzhardinge
2010-01-04  8:23                               ` Jan Beulich
2010-01-04 22:07                                 ` Dan Magenheimer
2010-01-04 22:21                                   ` Ian Campbell
2010-01-05  8:33                                   ` Jan Beulich
2010-01-05 15:46                                     ` Dan Magenheimer
2010-01-05 15:54                                       ` Ian Campbell
2010-01-05 16:08                                       ` Jan Beulich
2009-12-22 16:33                 ` Jan Beulich
2009-12-22 16:42                   ` Jan Beulich
2009-12-22 17:27                     ` Dan Magenheimer
2009-12-22 17:48                     ` Keir Fraser
2009-12-22 18:42                     ` Keir Fraser
2009-12-22 23:00                       ` Mukesh Rathor
2009-12-21 10:44     ` Keir Fraser
2009-12-21 23:40       ` Mukesh Rathor
2009-12-22  7:35         ` Keir Fraser
2009-12-21 19:17     ` Steve Ofsthun
2009-12-22  4:00       ` Mukesh Rathor
2009-12-22  4:18         ` Mukesh Rathor
2009-12-22  7:59         ` Keir Fraser
2009-12-22  8:05           ` Keir Fraser

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.