* [Qemu-devel] [PATCH] Fix Linux task preemption on Versatile board
@ 2009-09-13 13:54 Daniel Jacobowitz
2009-09-14 9:18 ` Aurelien Jarno
0 siblings, 1 reply; 2+ messages in thread
From: Daniel Jacobowitz @ 2009-09-13 13:54 UTC (permalink / raw)
To: qemu-devel
Recent versions of the Linux kernel will not preempt CPU-intensive
tasks unless the clock used by sched_clock() works. On -M versatilepb
that's the 24MHz timer in the system controller. It's a very simple
timer, so implement it.
Signed-off-by: Daniel Jacobowitz <dan@codesourcery.com>
---
hw/arm_sysctl.c | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/hw/arm_sysctl.c b/hw/arm_sysctl.c
index 686c1cc..26300ef 100644
--- a/hw/arm_sysctl.c
+++ b/hw/arm_sysctl.c
@@ -7,6 +7,8 @@
* This code is licenced under the GPL.
*/
+#include "hw.h"
+#include "qemu-timer.h"
#include "sysbus.h"
#include "primecell.h"
#include "sysemu.h"
@@ -71,8 +73,7 @@ static uint32_t arm_sysctl_read(void *opaque, target_phys_addr_t offset)
case 0x58: /* BOOTCS */
return 0;
case 0x5c: /* 24MHz */
- /* ??? not implemented. */
- return 0;
+ return muldiv64(qemu_get_clock(vm_clock), 24000000, get_ticks_per_sec());
case 0x60: /* MISC */
return 0;
case 0x84: /* PROCID0 */
--
Daniel Jacobowitz
CodeSourcery
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [Qemu-devel] [PATCH] Fix Linux task preemption on Versatile board
2009-09-13 13:54 [Qemu-devel] [PATCH] Fix Linux task preemption on Versatile board Daniel Jacobowitz
@ 2009-09-14 9:18 ` Aurelien Jarno
0 siblings, 0 replies; 2+ messages in thread
From: Aurelien Jarno @ 2009-09-14 9:18 UTC (permalink / raw)
To: Daniel Jacobowitz; +Cc: qemu-devel
On Sun, Sep 13, 2009 at 09:54:41AM -0400, Daniel Jacobowitz wrote:
> Recent versions of the Linux kernel will not preempt CPU-intensive
> tasks unless the clock used by sched_clock() works. On -M versatilepb
> that's the 24MHz timer in the system controller. It's a very simple
> timer, so implement it.
Thanks for fixing this long standing issue that has been reported a few
times already on the mailing list. I have applied the patch.
--
Aurelien Jarno GPG: 1024D/F1BCDB73
aurelien@aurel32.net http://www.aurel32.net
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2009-09-14 9:18 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-09-13 13:54 [Qemu-devel] [PATCH] Fix Linux task preemption on Versatile board Daniel Jacobowitz
2009-09-14 9:18 ` Aurelien Jarno
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).