Re: [uml-devel] [PATCH 10/10] High Resolution Timer subsystem for UML

2014-08-29 Thread Anton Ivanov (antivano)
The end result of applying all of 1-10 is: 1. UML now can push more than KVM for network related work (especially if QoS is in play) for a single virtual CPU use cases (both per vCPU and per Server). 2. As a side effect userspace has improved significantly as well. While it still looks sluggis

Re: [uml-devel] [PATCH 10/10] High Resolution Timer subsystem for UML

2014-08-29 Thread Anton Ivanov (antivano)
I just noticed that I missed an include on submission here will, resubmit v2 of patch 10 shortly. A. On 29/08/14 08:05, anton.iva...@kot-begemot.co.uk wrote: > From: Anton Ivanov > > This patch adds an extra timer source which has correct timing > and uses an up-to-date OS API and. > > Results

[uml-devel] [PATCH 08/10] Minor performance optimization for ubd

2014-08-29 Thread anton . ivanov
From: Anton Ivanov Obvious performance optimization - it is not necessary to read the requests one at a time in the IRQ handler Signed-off-by: Anton Ivanov --- arch/um/drivers/ubd_kern.c | 29 ++--- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/arch/u

[uml-devel] [PATCH 02/10] Remove unnecessary 'reactivate' statements

2014-08-29 Thread anton . ivanov
From: Anton Ivanov The epoll based controller has real (not emulated) edge and level semantics and the edge/level is handled by epoll. There is no toggling of the poll set any more, thus it is removed throughout Signed-off-by: Anton Ivanov --- arch/um/drivers/chan_kern.c |2 -- arch/um

[uml-devel] [PATCH 06/10] RAW Ethernet transport for UML

2014-08-29 Thread anton . ivanov
From: Anton Ivanov This is an alternative to the well known pcap transport. In the absense of special hardware support pcap is slow, guaranteed to be slow and with significant penalties on NUMA/SMP systems due to the timestamping of every packet. This transport does not incur any of these times

[uml-devel] [PATCH 07/10] Performance and NUMA improvements for ubd

2014-08-29 Thread anton . ivanov
From: Anton Ivanov The use of the seek()/read() and seek()/write() is a terminal disease on NUMA. Intense use of this on shared files (f.e. the master for a COW image) can cause anything up to and including killing CPUs on unhandled NMIs. This patch deals with this UML major issue (and one of UM

[uml-devel] [PATCH 01/10] Epoll based interrupt controller

2014-08-29 Thread anton . ivanov
From: Anton Ivanov 1. Minimum kernel 2.5.99 2. No "walk the list" lookups for received IRQs - immediate identification of the correct handler to invoke 3. Full set of IRQ semantics - edge, level, read, write 3.1. Write is now a *REAL* write - so if you (ab)use the write to signify NONE (a

[uml-devel] [PATCH 05/10] GRE transport for UML

2014-08-29 Thread anton . ivanov
From: Anton Ivanov This transport allows a UML to connect to another UML local or remote, the Linux host or any other network device running the industry standard Ethernet over GRE protocol. The transport supports all features of RFC 2784. The transport supports a common set of features with the

[uml-devel] [PATCH 09/10] Better IPC for UBD

2014-08-29 Thread anton . ivanov
From: Anton Ivanov socketpair() is a better IPC choice for lots of small requests as it allows deeper (and configurable) queues than pipe() As a result UBD will process nearly all of the requests submitted to it instead of bouncing a significant percentage under load Signed-off-by: Anton Ivanov

[uml-devel] [PATCH 03/10] High performance networking subsystem

2014-08-29 Thread anton . ivanov
From: Anton Ivanov Support for multi-packet vector IO - multiple packets read in one syscall and written in one syscall. Should work with legacy UML, thorough tested only for the epoll based IRQ controller Minimal host kernel version for RX - 2.6.32 Minimal host kernel version for TX - 3.0 Test

[uml-devel] [PATCH 10/10] High Resolution Timer subsystem for UML

2014-08-29 Thread anton . ivanov
From: Anton Ivanov This patch adds an extra timer source which has correct timing and uses an up-to-date OS API and. Results - correct kernel behaviour on timer related tasks. 1. Improvement in network performance (TCP state machines are now fed correct time). 2. Correct QoS and traffic

[uml-devel] [PATCH 04/10] L2TPv3 Transport Driver for UML

2014-08-29 Thread anton . ivanov
From: Anton Ivanov This transport allows a UML to connect to another UML local or remote, the Linux host or any other network device running the industry standard Ethernet over L2TPv3 protocol as per RFC 3931 (and successors). The transport supports a common set of features with the kernel imple

[uml-devel] [PATCHv2 3/10] High performance networking subsystem

2014-08-29 Thread anton . ivanov
From: Anton Ivanov Support for multi-packet vector IO - multiple packets read in one syscall and written in one syscall. Should work with legacy UML, thorough tested only for the epoll based IRQ controller Minimal host kernel version for RX - 2.6.32 Minimal host kernel versio

[uml-devel] [PATCHv2 10/10] High Resolution Timer subsystem for UML

2014-08-29 Thread anton . ivanov
From: Anton Ivanov This patch adds an extra timer source which has correct timing and uses an up-to-date OS API and. Results - correct kernel behaviour on timer related tasks. 1. Improvement in network performance (TCP state machines are now fed correct time). 2. Correct QoS and traffic