Re: [RFC PATCH 0/3] generic hypercall support
From: Avi Kivity
Date: Thu May 07 2009 - 14:25:58 EST
Gregory Haskins wrote:
I guess technically mmio can just be a simple access of the page which
would be problematic to trap locally without a PF. However it seems
that most mmio always passes through a ioread()/iowrite() call so this
is perhaps the hook point. If we set the stake in the ground that mmios
that go through some other mechanism like PFs can just hit the "slow
path" are an acceptable casualty, I think we can make that work.
That's my thinking exactly.
Note we can cheat further. kvm already has a "coalesced mmio" feature
where side-effect-free mmios are collected in the kernel and passed to
userspace only when some other significant event happens. We could pass
those addresses to the guest and let it queue those writes itself,
avoiding the hypercall completely.
Though it's probably pointless: if the guest is paravirtualized enough
to have the mmio hypercall, then it shouldn't be using e1000.
--
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/