Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755252AbbIADeH (ORCPT ); Mon, 31 Aug 2015 23:34:07 -0400 Received: from mx1.redhat.com ([209.132.183.28]:39738 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755228AbbIADds (ORCPT ); Mon, 31 Aug 2015 23:33:48 -0400 Message-ID: <55E51C97.3040409@redhat.com> Date: Tue, 01 Sep 2015 11:33:43 +0800 From: Jason Wang User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.8.0 MIME-Version: 1.0 To: "Michael S. Tsirkin" CC: gleb@kernel.org, pbonzini@redhat.com, kvm@vger.kernel.org, linux-kernel@vger.kernel.org, cornelia.huck@de.ibm.com Subject: Re: [PATCH V3 2/3] kvm: don't register wildcard MMIO EVENTFD on two buses References: <1440493548-2971-1-git-send-email-jasowang@redhat.com> <1440493548-2971-2-git-send-email-jasowang@redhat.com> <20150825144925-mutt-send-email-mst@redhat.com> <55DD4A5A.3080006@redhat.com> <55E3C607.1060005@redhat.com> <20150831102838-mutt-send-email-mst@redhat.com> <55E40A6F.5010003@redhat.com> <20150831143047-mutt-send-email-mst@redhat.com> In-Reply-To: <20150831143047-mutt-send-email-mst@redhat.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2121 Lines: 48 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 linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/