aha/arch
Rusty Russell a32a8813d0 lguest: improve interrupt handling, speed up stream networking
lguest never checked for pending interrupts when enabling interrupts, and
things still worked.  However, it makes a significant difference to TCP
performance, so it's time we fixed it by introducing a pending_irq flag
and checking it on irq_restore and irq_enable.

These two routines are now too big to patch into the 8/10 bytes
patch space, so we drop that code.

Note: The high latency on interrupt delivery had a very curious
effect: once everything else was optimized, networking without GSO was
faster than networking with GSO, since more interrupts were sent and
hence a greater chance of one getting through to the Guest!

Note2: (Almost) Closing the same loophole for iret doesn't have any
measurable effect, so I'm leaving that patch for the moment.

Before:
	1GB tcpblast Guest->Host:		30.7 seconds
	1GB tcpblast Guest->Host (no GSO):	76.0 seconds

After:
	1GB tcpblast Guest->Host:		6.8 seconds
	1GB tcpblast Guest->Host (no GSO):	27.8 seconds

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2009-06-12 22:27:03 +09:30
..
alpha Push BKL into do_mount() 2009-06-11 21:36:08 -04:00
arm Merge branch 'for-2.6.31' of git://git.kernel.dk/linux-2.6-block 2009-06-11 11:10:35 -07:00
avr32
blackfin
cris
frv FRV: Implement new-style ptrace 2009-06-11 09:01:26 -07:00
h8300
ia64 Merge branch 'kvm-updates/2.6.31' of git://git.kernel.org/pub/scm/virt/kvm/kvm 2009-06-11 10:03:30 -07:00
m32r
m68k m68knommu: enumerate INIT_THREAD fields properly 2009-06-11 13:09:11 +10:00
m68knommu m68knommu: remove unecessary include of thread_info.h in entry.S 2009-06-11 14:33:16 +10:00
microblaze
mips Merge branch 'irq-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-06-10 15:25:41 -07:00
mn10300 MN10300: Add utrace/tracehooks support 2009-06-11 09:02:20 -07:00
parisc
powerpc perfcounters: remove powerpc definitions of perf_counter_do_pending 2009-06-11 20:03:13 -07:00
s390
sh sh: Tie sparseirq in to Kconfig. 2009-06-11 10:33:09 +03:00
sparc Merge branch 'futexes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-06-10 16:16:48 -07:00
um
x86 lguest: improve interrupt handling, speed up stream networking 2009-06-12 22:27:03 +09:30
xtensa
.gitignore
Kconfig