From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:45835) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QO6qk-0003mm-U6 for qemu-devel@nongnu.org; Sun, 22 May 2011 07:29:35 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QO6qj-0006I4-Qm for qemu-devel@nongnu.org; Sun, 22 May 2011 07:29:34 -0400 Received: from mx1.redhat.com ([209.132.183.28]:64567) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QO6qj-0006I0-Jm for qemu-devel@nongnu.org; Sun, 22 May 2011 07:29:33 -0400 Message-ID: <4DD8F397.2000805@redhat.com> Date: Sun, 22 May 2011 14:29:27 +0300 From: Avi Kivity MIME-Version: 1.0 References: <20110519182203.GH27310@redhat.com> <4DD56126.20808@web.de> <20110519184056.GJ27310@redhat.com> <4DD56543.9020404@web.de> <20110519185019.GK27310@redhat.com> <4DD567B5.1060205@web.de> <20110520072358.GL27310@redhat.com> <4DD61ADD.9050103@web.de> <20110520112534.GM27310@redhat.com> <4DD8C03E.3020904@redhat.com> <20110522084142.GS27310@redhat.com> <4DD8EB14.8050305@web.de> In-Reply-To: <4DD8EB14.8050305@web.de> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [RFC] Memory API List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Jan Kiszka Cc: Gleb Natapov , qemu-devel On 05/22/2011 01:53 PM, Jan Kiszka wrote: > On 2011-05-22 10:41, Gleb Natapov wrote: > >> The chipset knows about the priorities. How to communicate them to > >> the core? > >> > >> - at runtime, with hierarchical dispatch of ->read() and ->write(): > >> slow, and doesn't work at all for RAM. > >> - using registration order: fragile > >> - using priorities > >> > > - by resolving overlapping and registering flattened list with the core. > > (See example above). > > [Registration would happens with the help of the core against the next > higher layer.] > > To do this, you need to > - open-code the resolution logic at every level (very bad idea) > - provide library services to obtain a flattened representation > > Please try to specify such an API without any parameters that are > priority-like. Another way of saying the same thing: having the chipset code resolve conflicts, and having the chipset code assign priorities, are equivalent. But having priorities allows flattening to take place without further involvement of the chipset code. -- I have a truly marvellous patch that fixes the bug which this signature is too narrow to contain.