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 <aiva...@brocade.com>
> Signed-off-by: Thomas Meyer <tho...@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

Reply via email to