]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/commit
xen: add mechanism to extend existing multicalls
authorJeremy Fitzhardinge <jeremy@goop.org>
Mon, 16 Jun 2008 11:30:03 +0000 (04:30 -0700)
committerIngo Molnar <mingo@elte.hu>
Wed, 25 Jun 2008 13:17:34 +0000 (15:17 +0200)
commit400d34944c4ad82a817c06e570bc93b1114aa596
treed963075e7a293c8481adcc66aff0fa5d87f35c09
parente57778a1e30470c9f5b79e370511b9af29b59c48
xen: add mechanism to extend existing multicalls

Some Xen hypercalls accept an array of operations to work on.  In
general this is because its more efficient for the hypercall to the
work all at once rather than as separate hypercalls (even batched as a
multicall).

This patch adds a mechanism (xen_mc_extend_args()) to allocate more
argument space to the last-issued multicall, in order to extend its
argument list.

The user of this mechanism is xen/mmu.c, which uses it to extend the
args array of mmu_update.  This is particularly valuable when doing
the update for a large mprotect, which goes via
ptep_modify_prot_commit(), but it also manages to batch updates to
pgd/pmds as well.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
Acked-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/xen/mmu.c
arch/x86/xen/multicalls.c
arch/x86/xen/multicalls.h