From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NYSjw-0005hF-Og for qemu-devel@nongnu.org; Fri, 22 Jan 2010 18:16:32 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1NYSjs-0005g0-EV for qemu-devel@nongnu.org; Fri, 22 Jan 2010 18:16:32 -0500 Received: from [199.232.76.173] (port=51205 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NYSjs-0005fj-7o for qemu-devel@nongnu.org; Fri, 22 Jan 2010 18:16:28 -0500 Received: from mx20.gnu.org ([199.232.41.8]:34365) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1NYSjp-0001LS-Qf for qemu-devel@nongnu.org; Fri, 22 Jan 2010 18:16:26 -0500 Received: from e32.co.us.ibm.com ([32.97.110.150]) by mx20.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NYSiK-0004ok-7c for qemu-devel@nongnu.org; Fri, 22 Jan 2010 18:14:52 -0500 Received: from d03relay03.boulder.ibm.com (d03relay03.boulder.ibm.com [9.17.195.228]) by e32.co.us.ibm.com (8.14.3/8.13.1) with ESMTP id o0MN8as1001680 for ; Fri, 22 Jan 2010 16:08:36 -0700 Received: from d03av03.boulder.ibm.com (d03av03.boulder.ibm.com [9.17.195.169]) by d03relay03.boulder.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id o0MNEaAh110434 for ; Fri, 22 Jan 2010 16:14:36 -0700 Received: from d03av03.boulder.ibm.com (loopback [127.0.0.1]) by d03av03.boulder.ibm.com (8.14.3/8.13.1/NCO v10.0 AVout) with ESMTP id o0MNEZ35031235 for ; Fri, 22 Jan 2010 16:14:35 -0700 Message-ID: <4B5A315A.2060502@linux.vnet.ibm.com> Date: Fri, 22 Jan 2010 17:14:34 -0600 From: Anthony Liguori MIME-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH 08/11] QMP: Asynchronous messages enable/disable support References: <1264108180-3666-1-git-send-email-lcapitulino@redhat.com> <1264108180-3666-9-git-send-email-lcapitulino@redhat.com> <4B59E8DF.5020001@codemonkey.ws> <20100122180922.73ae437e@doriath> In-Reply-To: <20100122180922.73ae437e@doriath> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Luiz Capitulino Cc: avi@redhat.com, qemu-devel@nongnu.org, armbru@redhat.com On 01/22/2010 02:09 PM, Luiz Capitulino wrote: > On Fri, 22 Jan 2010 12:05:19 -0600 > Anthony Liguori wrote: > > >> On 01/21/2010 03:09 PM, Luiz Capitulino wrote: >> >>> This commit disables asynchronous messages by default and >>> introduces two new QMP commands: async_msg_enable and >>> async_msg_disable. >>> >>> Each QMP Monitor has its own set of asynchronous messages, >>> so for example, if QEMU is run with two QMP Monitors async >>> messages setup in one of them doesn't affect the other. >>> >>> To implement this design a bitmap is introduced to the >>> Monitor struct, each async message is represented by one bit. >>> >>> Signed-off-by: Luiz Capitulino >>> >>> >> Ah, I see I was a little confused. >> >> I'd suggest making async message masking an independent mechanism. >> Capabilities should strictly deal with protocol changes, not feature >> details. >> > To summarize (after a IRC talk): async messages are considered a > capability and should be enabled during the negotiation phase but > the masking of particular messages are not and can be done at > any time after the negotiation phase. > Just to further clarify, the mental model I have of capabilities is that they are things that affect the protocol itself. Additional features (new command options, new commands, new async messages) are things that are enabled/discovered in a different way. Async messages themselves are a capability since it changes the protocol. Timestamps would be another capability and a new data type (like an uint64 type) would be a new capability. > I'm ok with that, Markus? > Regards, Anthony Liguori