<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-stable.git/arch/um/kernel/time.c, branch linux-4.9.y</title>
<subtitle>Linux kernel stable tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/'/>
<entry>
<title>uml: fix a boot splat wrt use of cpu_all_mask</title>
<updated>2019-06-22T06:17:14+00:00</updated>
<author>
<name>Maciej Żenczykowski</name>
<email>maze@google.com</email>
</author>
<published>2019-04-10T18:11:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=4aa215d0230222375c385559d98be8f119626a05'/>
<id>4aa215d0230222375c385559d98be8f119626a05</id>
<content type='text'>
[ Upstream commit 689a58605b63173acb0a8cf954af6a8f60440c93 ]

Memory: 509108K/542612K available (3835K kernel code, 919K rwdata, 1028K rodata, 129K init, 211K bss, 33504K reserved, 0K cma-reserved)
NR_IRQS: 15
clocksource: timer: mask: 0xffffffffffffffff max_cycles: 0x1cd42e205, max_idle_ns: 881590404426 ns
------------[ cut here ]------------
WARNING: CPU: 0 PID: 0 at kernel/time/clockevents.c:458 clockevents_register_device+0x72/0x140
posix-timer cpumask == cpu_all_mask, using cpu_possible_mask instead
Modules linked in:
CPU: 0 PID: 0 Comm: swapper Not tainted 5.1.0-rc4-00048-ged79cc87302b #4
Stack:
 604ebda0 603c5370 604ebe20 6046fd17
 00000000 6006fcbb 604ebdb0 603c53b5
 604ebe10 6003bfc4 604ebdd0 9000001ca
Call Trace:
 [&lt;6006fcbb&gt;] ? printk+0x0/0x94
 [&lt;60083160&gt;] ? clockevents_register_device+0x72/0x140
 [&lt;6001f16e&gt;] show_stack+0x13b/0x155
 [&lt;603c5370&gt;] ? dump_stack_print_info+0xe2/0xeb
 [&lt;6006fcbb&gt;] ? printk+0x0/0x94
 [&lt;603c53b5&gt;] dump_stack+0x2a/0x2c
 [&lt;6003bfc4&gt;] __warn+0x10e/0x13e
 [&lt;60070320&gt;] ? vprintk_func+0xc8/0xcf
 [&lt;60030fd6&gt;] ? block_signals+0x0/0x16
 [&lt;6006fcbb&gt;] ? printk+0x0/0x94
 [&lt;6003c08b&gt;] warn_slowpath_fmt+0x97/0x99
 [&lt;600311a1&gt;] ? set_signals+0x0/0x3f
 [&lt;6003bff4&gt;] ? warn_slowpath_fmt+0x0/0x99
 [&lt;600842cb&gt;] ? tick_oneshot_mode_active+0x44/0x4f
 [&lt;60030fd6&gt;] ? block_signals+0x0/0x16
 [&lt;6006fcbb&gt;] ? printk+0x0/0x94
 [&lt;6007d2d5&gt;] ? __clocksource_select+0x20/0x1b1
 [&lt;60030fd6&gt;] ? block_signals+0x0/0x16
 [&lt;6006fcbb&gt;] ? printk+0x0/0x94
 [&lt;60083160&gt;] clockevents_register_device+0x72/0x140
 [&lt;60031192&gt;] ? get_signals+0x0/0xf
 [&lt;60030fd6&gt;] ? block_signals+0x0/0x16
 [&lt;6006fcbb&gt;] ? printk+0x0/0x94
 [&lt;60002eec&gt;] um_timer_setup+0xc8/0xca
 [&lt;60001b59&gt;] start_kernel+0x47f/0x57e
 [&lt;600035bc&gt;] start_kernel_proc+0x49/0x4d
 [&lt;6006c483&gt;] ? kmsg_dump_register+0x82/0x8a
 [&lt;6001de62&gt;] new_thread_handler+0x81/0xb2
 [&lt;60003571&gt;] ? kmsg_dumper_stdout_init+0x1a/0x1c
 [&lt;60020c75&gt;] uml_finishsetup+0x54/0x59

random: get_random_bytes called from init_oops_id+0x27/0x34 with crng_init=0
---[ end trace 00173d0117a88acb ]---
Calibrating delay loop... 6941.90 BogoMIPS (lpj=34709504)

Signed-off-by: Maciej Żenczykowski &lt;maze@google.com&gt;
Cc: Jeff Dike &lt;jdike@addtoit.com&gt;
Cc: Richard Weinberger &lt;richard@nod.at&gt;
Cc: Anton Ivanov &lt;anton.ivanov@cambridgegreys.com&gt;
Cc: linux-um@lists.infradead.org
Cc: linux-kernel@vger.kernel.org

Signed-off-by: Richard Weinberger &lt;richard@nod.at&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit 689a58605b63173acb0a8cf954af6a8f60440c93 ]

Memory: 509108K/542612K available (3835K kernel code, 919K rwdata, 1028K rodata, 129K init, 211K bss, 33504K reserved, 0K cma-reserved)
NR_IRQS: 15
clocksource: timer: mask: 0xffffffffffffffff max_cycles: 0x1cd42e205, max_idle_ns: 881590404426 ns
------------[ cut here ]------------
WARNING: CPU: 0 PID: 0 at kernel/time/clockevents.c:458 clockevents_register_device+0x72/0x140
posix-timer cpumask == cpu_all_mask, using cpu_possible_mask instead
Modules linked in:
CPU: 0 PID: 0 Comm: swapper Not tainted 5.1.0-rc4-00048-ged79cc87302b #4
Stack:
 604ebda0 603c5370 604ebe20 6046fd17
 00000000 6006fcbb 604ebdb0 603c53b5
 604ebe10 6003bfc4 604ebdd0 9000001ca
Call Trace:
 [&lt;6006fcbb&gt;] ? printk+0x0/0x94
 [&lt;60083160&gt;] ? clockevents_register_device+0x72/0x140
 [&lt;6001f16e&gt;] show_stack+0x13b/0x155
 [&lt;603c5370&gt;] ? dump_stack_print_info+0xe2/0xeb
 [&lt;6006fcbb&gt;] ? printk+0x0/0x94
 [&lt;603c53b5&gt;] dump_stack+0x2a/0x2c
 [&lt;6003bfc4&gt;] __warn+0x10e/0x13e
 [&lt;60070320&gt;] ? vprintk_func+0xc8/0xcf
 [&lt;60030fd6&gt;] ? block_signals+0x0/0x16
 [&lt;6006fcbb&gt;] ? printk+0x0/0x94
 [&lt;6003c08b&gt;] warn_slowpath_fmt+0x97/0x99
 [&lt;600311a1&gt;] ? set_signals+0x0/0x3f
 [&lt;6003bff4&gt;] ? warn_slowpath_fmt+0x0/0x99
 [&lt;600842cb&gt;] ? tick_oneshot_mode_active+0x44/0x4f
 [&lt;60030fd6&gt;] ? block_signals+0x0/0x16
 [&lt;6006fcbb&gt;] ? printk+0x0/0x94
 [&lt;6007d2d5&gt;] ? __clocksource_select+0x20/0x1b1
 [&lt;60030fd6&gt;] ? block_signals+0x0/0x16
 [&lt;6006fcbb&gt;] ? printk+0x0/0x94
 [&lt;60083160&gt;] clockevents_register_device+0x72/0x140
 [&lt;60031192&gt;] ? get_signals+0x0/0xf
 [&lt;60030fd6&gt;] ? block_signals+0x0/0x16
 [&lt;6006fcbb&gt;] ? printk+0x0/0x94
 [&lt;60002eec&gt;] um_timer_setup+0xc8/0xca
 [&lt;60001b59&gt;] start_kernel+0x47f/0x57e
 [&lt;600035bc&gt;] start_kernel_proc+0x49/0x4d
 [&lt;6006c483&gt;] ? kmsg_dump_register+0x82/0x8a
 [&lt;6001de62&gt;] new_thread_handler+0x81/0xb2
 [&lt;60003571&gt;] ? kmsg_dumper_stdout_init+0x1a/0x1c
 [&lt;60020c75&gt;] uml_finishsetup+0x54/0x59

random: get_random_bytes called from init_oops_id+0x27/0x34 with crng_init=0
---[ end trace 00173d0117a88acb ]---
Calibrating delay loop... 6941.90 BogoMIPS (lpj=34709504)

Signed-off-by: Maciej Żenczykowski &lt;maze@google.com&gt;
Cc: Jeff Dike &lt;jdike@addtoit.com&gt;
Cc: Richard Weinberger &lt;richard@nod.at&gt;
Cc: Anton Ivanov &lt;anton.ivanov@cambridgegreys.com&gt;
Cc: linux-um@lists.infradead.org
Cc: linux-kernel@vger.kernel.org

Signed-off-by: Richard Weinberger &lt;richard@nod.at&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>um: Switch clocksource to hrtimers</title>
<updated>2015-11-06T21:54:49+00:00</updated>
<author>
<name>Anton Ivanov</name>
<email>aivanov@brocade.com</email>
</author>
<published>2015-11-02T16:16:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=2eb5f31bc4ea24bb293e82934cfa1cce9573304b'/>
<id>2eb5f31bc4ea24bb293e82934cfa1cce9573304b</id>
<content type='text'>
UML is using an obsolete itimer call for
all timers and "polls" for kernel space timer firing
in its userspace portion resulting in a long list
of bugs and incorrect behaviour(s). It also uses
ITIMER_VIRTUAL for its timer which results in the
timer being dependent on it running and the cpu
load.

This patch fixes this by moving to posix high resolution
timers firing off CLOCK_MONOTONIC and relaying the timer
correctly to the UML userspace.

Fixes:
 - crashes when hosts suspends/resumes
 - broken userspace timers - effecive ~40Hz instead
   of what they should be. Note - this modifies skas behavior
   by no longer setting an itimer per clone(). Timer events
   are relayed instead.
 - kernel network packet scheduling disciplines
 - tcp behaviour especially under load
 - various timer related corner cases

Finally, overall responsiveness of userspace is better.

Signed-off-by: Thomas Meyer &lt;thomas@m3y3r.de&gt;
Signed-off-by: Anton Ivanov &lt;aivanov@brocade.com&gt;
[rw: massaged commit message]
Signed-off-by: Richard Weinberger &lt;richard@nod.at&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
UML is using an obsolete itimer call for
all timers and "polls" for kernel space timer firing
in its userspace portion resulting in a long list
of bugs and incorrect behaviour(s). It also uses
ITIMER_VIRTUAL for its timer which results in the
timer being dependent on it running and the cpu
load.

This patch fixes this by moving to posix high resolution
timers firing off CLOCK_MONOTONIC and relaying the timer
correctly to the UML userspace.

Fixes:
 - crashes when hosts suspends/resumes
 - broken userspace timers - effecive ~40Hz instead
   of what they should be. Note - this modifies skas behavior
   by no longer setting an itimer per clone(). Timer events
   are relayed instead.
 - kernel network packet scheduling disciplines
 - tcp behaviour especially under load
 - various timer related corner cases

Finally, overall responsiveness of userspace is better.

Signed-off-by: Thomas Meyer &lt;thomas@m3y3r.de&gt;
Signed-off-by: Anton Ivanov &lt;aivanov@brocade.com&gt;
[rw: massaged commit message]
Signed-off-by: Richard Weinberger &lt;richard@nod.at&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>um/time: Migrate to new 'set-state' interface</title>
<updated>2015-08-10T09:41:06+00:00</updated>
<author>
<name>Viresh Kumar</name>
<email>viresh.kumar@linaro.org</email>
</author>
<published>2015-07-16T11:26:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=71b5280b79359ca3c6c21d46b6b14a3ae93d8330'/>
<id>71b5280b79359ca3c6c21d46b6b14a3ae93d8330</id>
<content type='text'>
Migrate um driver to the new 'set-state' interface provided by
clockevents core, the earlier 'set-mode' interface is marked obsolete
now.

This also enables us to implement callbacks for new states of clockevent
devices, for example: ONESHOT_STOPPED.

Cc: Jeff Dike &lt;jdike@addtoit.com&gt;
Cc: Richard Weinberger &lt;richard@nod.at&gt;
Cc: user-mode-linux-devel@lists.sourceforge.net
Cc: user-mode-linux-user@lists.sourceforge.net
Signed-off-by: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;
Signed-off-by: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Migrate um driver to the new 'set-state' interface provided by
clockevents core, the earlier 'set-mode' interface is marked obsolete
now.

This also enables us to implement callbacks for new states of clockevent
devices, for example: ONESHOT_STOPPED.

Cc: Jeff Dike &lt;jdike@addtoit.com&gt;
Cc: Richard Weinberger &lt;richard@nod.at&gt;
Cc: user-mode-linux-devel@lists.sourceforge.net
Cc: user-mode-linux-user@lists.sourceforge.net
Signed-off-by: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;
Signed-off-by: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>um: get rid of pointless include "..." where include &lt;...&gt; will do</title>
<updated>2012-10-09T20:28:45+00:00</updated>
<author>
<name>Al Viro</name>
<email>viro@ZenIV.linux.org.uk</email>
</author>
<published>2012-10-08T02:27:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=37185b33240870719b6b5913a46e6a441f1ae96f'/>
<id>37185b33240870719b6b5913a46e6a441f1ae96f</id>
<content type='text'>
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
Signed-off-by: Richard Weinberger &lt;richard@nod.at&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
Signed-off-by: Richard Weinberger &lt;richard@nod.at&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>um: pass siginfo to guest process</title>
<updated>2012-08-01T22:49:17+00:00</updated>
<author>
<name>Martin Pärtel</name>
<email>martin.partel@gmail.com</email>
</author>
<published>2012-08-01T22:49:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=d3c1cfcdb43e023ab1b1c7a555cd9e929026500a'/>
<id>d3c1cfcdb43e023ab1b1c7a555cd9e929026500a</id>
<content type='text'>
UML guest processes now get correct siginfo_t for SIGTRAP, SIGFPE,
SIGILL and SIGBUS. Specifically, si_addr and si_code are now correct
where previously they were si_addr = NULL and si_code = 128.

Signed-off-by: Martin Pärtel &lt;martin.partel@gmail.com&gt;
Signed-off-by: Richard Weinberger &lt;richard@nod.at&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
UML guest processes now get correct siginfo_t for SIGTRAP, SIGFPE,
SIGILL and SIGBUS. Specifically, si_addr and si_code are now correct
where previously they were si_addr = NULL and si_code = 128.

Signed-off-by: Martin Pärtel &lt;martin.partel@gmail.com&gt;
Signed-off-by: Richard Weinberger &lt;richard@nod.at&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>um: irq: Remove IRQF_DISABLED</title>
<updated>2012-03-24T23:29:52+00:00</updated>
<author>
<name>Yong Zhang</name>
<email>yong.zhang0@gmail.com</email>
</author>
<published>2011-09-22T08:58:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=c0b79a90b1556a7e51d7a49a655eb60306f6258d'/>
<id>c0b79a90b1556a7e51d7a49a655eb60306f6258d</id>
<content type='text'>
Since commit [e58aa3d2: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang &lt;yong.zhang0@gmail.com&gt;
Signed-off-by: Richard Weinberger &lt;richard@nod.at&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since commit [e58aa3d2: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang &lt;yong.zhang0@gmail.com&gt;
Signed-off-by: Richard Weinberger &lt;richard@nod.at&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>clocksource: um: Convert to clocksource_register_hz/khz</title>
<updated>2011-11-22T03:01:03+00:00</updated>
<author>
<name>John Stultz</name>
<email>johnstul@us.ibm.com</email>
</author>
<published>2010-04-27T03:25:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=60d687e7d4724a7e8826f6579ca036d4343a5386'/>
<id>60d687e7d4724a7e8826f6579ca036d4343a5386</id>
<content type='text'>
This converts the um clocksource to use clocksource_register_hz/khz

This is untested, so any assistance in testing would be appreciated!

CC: Jeff Dike &lt;jdike@addtoit.com&gt;
CC: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Signed-off-by: John Stultz &lt;johnstul@us.ibm.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This converts the um clocksource to use clocksource_register_hz/khz

This is untested, so any assistance in testing would be appreciated!

CC: Jeff Dike &lt;jdike@addtoit.com&gt;
CC: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Signed-off-by: John Stultz &lt;johnstul@us.ibm.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>um: Fix read_persistent_clock fallout</title>
<updated>2010-08-03T18:36:07+00:00</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2010-08-03T18:34:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=b29230769e3482bbd62a07d6d9485371ee66a18f'/>
<id>b29230769e3482bbd62a07d6d9485371ee66a18f</id>
<content type='text'>
commit 9f31f57(um: Convert to use read_persistent_clock) moved the
code, but not the variable.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 9f31f57(um: Convert to use read_persistent_clock) moved the
code, but not the variable.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>um: Convert to use read_persistent_clock</title>
<updated>2010-07-27T10:40:55+00:00</updated>
<author>
<name>John Stultz</name>
<email>johnstul@us.ibm.com</email>
</author>
<published>2010-07-14T00:56:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=9f31f5774961a735687fee17953ab505b3df3abf'/>
<id>9f31f5774961a735687fee17953ab505b3df3abf</id>
<content type='text'>
This patch converts the um arch to use read_persistent_clock().
This allows it to avoid accessing xtime and wall_to_monotonic
directly.

Signed-off-by: John Stultz &lt;johnstul@us.ibm.com&gt;
Cc: Jeff Dike &lt;jdike@addtoit.com&gt;
LKML-Reference: &lt;1279068988-21864-8-git-send-email-johnstul@us.ibm.com&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch converts the um arch to use read_persistent_clock().
This allows it to avoid accessing xtime and wall_to_monotonic
directly.

Signed-off-by: John Stultz &lt;johnstul@us.ibm.com&gt;
Cc: Jeff Dike &lt;jdike@addtoit.com&gt;
LKML-Reference: &lt;1279068988-21864-8-git-send-email-johnstul@us.ibm.com&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>clocksource: pass clocksource to read() callback</title>
<updated>2009-04-21T20:41:47+00:00</updated>
<author>
<name>Magnus Damm</name>
<email>damm@igel.co.jp</email>
</author>
<published>2009-04-21T19:24:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=8e19608e8b5c001e4a66ce482edc474f05fb7355'/>
<id>8e19608e8b5c001e4a66ce482edc474f05fb7355</id>
<content type='text'>
Pass clocksource pointer to the read() callback for clocksources.  This
allows us to share the callback between multiple instances.

[hugh@veritas.com: fix powerpc build of clocksource pass clocksource mods]
[akpm@linux-foundation.org: cleanup]
Signed-off-by: Magnus Damm &lt;damm@igel.co.jp&gt;
Acked-by: John Stultz &lt;johnstul@us.ibm.com&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Signed-off-by: Hugh Dickins &lt;hugh@veritas.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pass clocksource pointer to the read() callback for clocksources.  This
allows us to share the callback between multiple instances.

[hugh@veritas.com: fix powerpc build of clocksource pass clocksource mods]
[akpm@linux-foundation.org: cleanup]
Signed-off-by: Magnus Damm &lt;damm@igel.co.jp&gt;
Acked-by: John Stultz &lt;johnstul@us.ibm.com&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Signed-off-by: Hugh Dickins &lt;hugh@veritas.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
</feed>
