summaryrefslogtreecommitdiff
path: root/reference/C/blueball.gif
blob: 3621e66a953fb1722ca9fc6b03c22d451ba29447 (plain)
ofshex dumpascii
0000 47 49 46 38 37 61 0e 00 0e 00 f5 00 00 a5 c6 ff 8c a7 ff 31 34 ff 28 21 ff 14 10 ff 18 10 ff 10 GIF87a.............14.(!........
0020 08 ff 00 00 ff 08 00 ff 08 00 ef 08 00 e7 07 00 de bf bf bf 0f 08 d6 04 00 d6 65 63 ce 6c 63 ce ..........................ec.lc.
0040 47 42 ce 13 10 ce 07 00 ce bf bd c6 7b 7b c6 81 7b c6 07 00 c6 03 00 bd 09 00 bd 06 00 b5 06 00 GB..........{{..{...............
0060 ad 4b 4a 9c 08 00 9c 05 00 94 34 31 8c 14 10 84 02 00 84 10 10 73 04 00 73 02 00 6b 07 00 63 00 .KJ.......41.........s..s..k..c.
0080 01 5a 04 00 5a 00 00 4a 06 00 4a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .Z..Z..J..J.....................
00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 2c 00 00 00 00 0e 00 0e 00 00 06 6b 40 86 70 48 2c 1a 8f .............,..........k@.pH,..
00e0 44 4b 44 22 89 58 8e 10 c7 e1 80 48 5c 20 c5 ca e4 40 10 18 14 97 4e 85 18 39 18 02 80 82 03 e3 DKD".X.....H\....@....N..9......
0100 01 11 25 08 83 60 d0 c0 74 42 a7 f7 42 b1 98 68 ee 25 79 14 42 11 18 18 19 1b 77 26 28 22 83 42 ..%..`..tB..B..h.%y.B.....w&(".B
0120 15 1e 1d 1e 21 23 25 29 28 1c 45 0f 24 24 27 28 9f 1f 45 83 15 22 27 27 22 1c 8e a2 43 8e aa 44 ....!#%)(.E.$$'(..E.."''"...C..D
0140 aa ad 0c 41 00 3b ...A.;
re a CMCI storm triggers the BUG_ON in add_timer_on(). The reason is that the per CPU MCE timer is started by the CMCI logic before the MCE CPU hotplug callback starts the timer with add_timer_on(). So the timer is already queued which triggers the BUG. Using add_timer_on() is pretty pointless in this code because the timer is strictlty per CPU, initialized as pinned and all operations which arm the timer happen on the CPU to which the timer belongs. Simplify the whole machinery by using mod_timer() instead of add_timer_on() which avoids the problem because mod_timer() can handle already queued timers. Use __start_timer() everywhere so the earliest armed expiry time is preserved. Reported-by: Erik Veijola <erik.veijola@intel.com> Tested-by: Borislav Petkov <bp@alien8.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Borislav Petkov <bp@alien8.de> Cc: Tony Luck <tony.luck@intel.com> Link: http://lkml.kernel.org/r/alpine.DEB.2.20.1701310936080.3457@nanos Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'tools/perf/CREDITS')