On 08/31/2015 07:33 PM, Michael S. Tsirkin wrote: > On Mon, Aug 31, 2015 at 04:03:59PM +0800, Jason Wang wrote: >> > >> > >> > On 08/31/2015 03:29 PM, Michael S. Tsirkin wrote: >>>>>>> > >>>>> Thinking more about this, invoking the 0-length write after >>>>>>>>>>> > >>>>> > >> > the != 0 length one would be better: it would mean we only >>>>>>>>>>> > >>>>> > >> > handle the userspace MMIO like this. >>>>>>> > >>> > > Right. >>>>>>> > >>> > > >>>>> > >> > >>>>> > >> > Using current unittest. This patch is about 2.9% slower than before, and >>>>> > >> > invoking 0-length write after is still 1.1% slower (mmio-datamatch-eventfd). >>>>> > >> > >>>>> > >> > /patch/result/-+%/ >>>>> > >> > /base/2957/0/ >>>>> > >> > /V3/3043/+2.9%/ >>>>> > >> > /V3+invoking != 0 length first/2990/+1.1%/ >>>>> > >> > >>>>> > >> > So looks like the best method is not searching KVM_FAST_MMIO_BUS during >>>>> > >> > KVM_MMIO_BUS. Instead, let userspace to register both datamatch and >>>>> > >> > wildcard in this case. Does this sound good to you? >>> > > No - we can't change userspace. >> > >> > Actually, the change was as simple as following. So I don't get the >> > reason why. > Because it's too late - we committed to a specific userspace ABI > when this was merged in kernel, we must maintain it. Ok ( Though I don't think it has real users for this now because it was actually broken). > Even if I thought yours is a good API (and I don't BTW - it's exposing > internal implementation details) it's too late to change it. I believe we should document the special treatment in kernel of zero length mmio eventfd in api.txt? If yes, is this an exposing? If not, how can userspace know the advantages of this and use it? For better API, probably we need another new flag just for fast mmio and obsolete current one by failing the assigning for zero length mmio eventfd. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html