[uml-devel] UML Performance improvement patchset

2014-09-04 Thread anton . ivanov
Patch dependencies: [PATCH v3 01/10] Epoll based interrupt controller Full redesign of the existing UML poll based controller. The old poll controller incurs huge penalties for IRQ sharing and many devices setup due to the device list being walked twice. Additionally, the current controller has

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

2014-09-04 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 v3 02/10] Remove unnecessary 'reactivate' statements

2014-09-04 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 v3 08/10] Minor performance optimization for ubd

2014-09-04 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 v3 07/10] Performance and NUMA improvements for ubd

2014-09-04 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 v3 05/10] GRE transport for UML

2014-09-04 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 v3 04/10] L2TPv3 Transport Driver for UML

2014-09-04 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] [PATCH v3 01/10] Epoll based interrupt controller

2014-09-04 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 v3 09/10] Better IPC for UBD

2014-09-04 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 v3 03/10] High performance networking subsystem

2014-09-04 Thread anton . ivanov
From: Anton Ivanov Support for multi-packet vector IO - multiple packets read in one syscall and (optionally) written in one syscall. Support for (optional) queueing on EAGAIN/ENOBUFS - applies only to socket transports. Sorry TAP, -EYOULOSE - it will remain slower than any so

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

2014-09-04 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

Re: [uml-devel] UML Performance improvement patchset

2014-09-04 Thread Richard Weinberger
On Thu, Sep 4, 2014 at 9:00 PM, wrote: > > Patch dependencies: > > [PATCH v3 01/10] Epoll based interrupt controller > > Full redesign of the existing UML poll based controller. The old > poll controller incurs huge penalties for IRQ sharing and many devices > setup due to the device list being w

Re: [uml-devel] UML Performance improvement patchset

2014-09-04 Thread Anton Ivanov (antivano)
On 04/09/14 20:14, Richard Weinberger wrote: > On Thu, Sep 4, 2014 at 9:00 PM, wrote: >> Patch dependencies: >> >> [PATCH v3 01/10] Epoll based interrupt controller >> >> Full redesign of the existing UML poll based controller. The old >> poll controller incurs huge penalties for IRQ sharing and