From: Anton Ivanov <anton.ivanov@kot-begemot.co.uk>
To: user-mode-linux-devel@lists.sourceforge.net
Cc: Richard Weinberger <richard@nod.at>
Subject: Re: [uml-devel] [PATCH v3] um: Switch clocksource to hrtimers
Date: Sun, 25 Oct 2015 18:46:06 +0000 [thread overview]
Message-ID: <562D236E.7020108@kot-begemot.co.uk> (raw)
In-Reply-To: <1445416947-824802-1-git-send-email-aivanov@brocade.com>
Hi List, hi Richard,
I am going to sort out the UBD patchset next as that has no dependencies
on timer and the other stuff which is waiting in the queue behind the
timers.
That should give UML a significant boost. It is nothing particularly
revolutionary (qemu has been using some of that for ages).
I should be able to get these out of the door early on this week.
A.
P.S. If there is anything to fix on the timer one, please shout.
A.
On 21/10/15 09:42, Anton Ivanov wrote:
> Background: 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
>
> FIXES: 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.
>
> FIXES: kernel network packet scheduling disciplines
> FIXES: tcp behaviour especially under load
> FIXES: various timer related corner cases
>
> IMPROVES: overall responsiveness of the userspace
>
> Signed-off-by: Anton Ivanov <aivanov@brocade.com>
> Signed-off-by: Thomas Meyer <thomas@m3y3r.de>
> ---
> arch/um/Makefile | 2 +-
> arch/um/include/shared/os.h | 15 +-
> arch/um/include/shared/skas/stub-data.h | 5 +-
> arch/um/include/shared/timer-internal.h | 13 ++
> arch/um/kernel/process.c | 6 +-
> arch/um/kernel/skas/clone.c | 5 -
> arch/um/kernel/skas/mmu.c | 2 +
> arch/um/kernel/time.c | 71 +++++----
> arch/um/os-Linux/internal.h | 1 -
> arch/um/os-Linux/main.c | 6 +-
> arch/um/os-Linux/process.c | 5 +
> arch/um/os-Linux/signal.c | 35 +++--
> arch/um/os-Linux/skas/process.c | 44 ++----
> arch/um/os-Linux/time.c | 248 ++++++++++++++++----------------
> 14 files changed, 231 insertions(+), 227 deletions(-)
> create mode 100644 arch/um/include/shared/timer-internal.h
> delete mode 100644 arch/um/os-Linux/internal.h
>
[snip]
------------------------------------------------------------------------------
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
next prev parent reply other threads:[~2015-10-25 18:46 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-21 8:42 [uml-devel] [PATCH v3] um: Switch clocksource to hrtimers Anton Ivanov
2015-10-25 18:46 ` Anton Ivanov [this message]
2015-10-26 10:12 ` Richard Weinberger
2015-10-29 6:23 ` Anton Ivanov
2015-10-31 13:54 ` Richard Weinberger
2015-10-31 15:10 ` Thomas Meyer
2015-10-31 15:13 ` Richard Weinberger
2015-10-31 15:16 ` Thomas Meyer
2015-10-31 15:21 ` Richard Weinberger
2015-10-31 15:24 ` Thomas Meyer
2015-10-31 15:30 ` Richard Weinberger
2015-10-31 15:44 ` Thomas Meyer
2015-10-31 16:22 ` Anton Ivanov
2015-10-31 19:08 ` Richard Weinberger
2015-10-31 20:17 ` Anton Ivanov
2015-10-31 19:06 ` Richard Weinberger
2015-11-02 8:14 ` Anton Ivanov
2015-11-02 8:37 ` Richard Weinberger
2015-11-02 8:41 ` Anton Ivanov
2015-11-02 8:52 ` Richard Weinberger
2015-11-02 8:57 ` Anton Ivanov
2015-11-02 9:12 ` Richard Weinberger
2015-11-02 9:53 ` Anton Ivanov
2015-11-02 10:01 ` Richard Weinberger
2015-11-02 10:59 ` Anton Ivanov
2015-11-02 11:00 ` Anton Ivanov
2015-11-02 14:30 ` Anton Ivanov
2015-11-02 15:25 ` Richard Weinberger
2015-11-02 16:19 ` Anton Ivanov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=562D236E.7020108@kot-begemot.co.uk \
--to=anton.ivanov@kot-begemot.co.uk \
--cc=richard@nod.at \
--cc=user-mode-linux-devel@lists.sourceforge.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox