From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: [PATCHv2] kvm: remove in_range and switch to rwsem for iobus Date: Mon, 29 Jun 2009 17:28:41 +0300 Message-ID: <4A48CF99.40002@redhat.com> References: <20090628193425.GA14204@redhat.com> <20090629140632.GC14059@amt.cnet> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: "Michael S. Tsirkin" , Gregory Haskins , kvm@vger.kernel.org, linux-kernel@vger.kernel.org, paulmck@linux.vnet.ibm.com, markmc@redhat.com To: Marcelo Tosatti Return-path: Received: from mx2.redhat.com ([66.187.237.31]:42224 "EHLO mx2.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751486AbZF2O1I (ORCPT ); Mon, 29 Jun 2009 10:27:08 -0400 In-Reply-To: <20090629140632.GC14059@amt.cnet> Sender: kvm-owner@vger.kernel.org List-ID: On 06/29/2009 05:06 PM, Marcelo Tosatti wrote: > On Sun, Jun 28, 2009 at 10:34:25PM +0300, Michael S. Tsirkin wrote: > >> This changes bus accesses to use high-level kvm_io_bus_read/kvm_io_bus_write >> functions, which utilize read/write semaphore intead of mutex. in_range now >> becomes unused so it is removed from device ops in favor of read/write >> callbacks performing range checks internally. >> >> This allows aliasing (mostly for in-kernel virtio), as well as better error >> handling by making it possible to pass errors up to userspace. And it's enough >> to look at the diffstat to see that it's a better API anyway. >> > > Can you please expand a little on this? Still don't get why making > ->in_range part of ->read / ->write is a good thing. Aliasing? > Yes, if you have several devices responding to the same port (but different values), in_range() by itself doesn't tell you much. virtio msi support will tie a different iosignalfd to every queue, and queues are notified by writing different values to one pio port. -- error compiling committee.c: too many arguments to function