From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:45503) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UfrTE-00072x-72 for qemu-devel@nongnu.org; Fri, 24 May 2013 08:51:49 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UfrT9-0000zY-GS for qemu-devel@nongnu.org; Fri, 24 May 2013 08:51:44 -0400 Received: from mx1.redhat.com ([209.132.183.28]:48521) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UfrT9-0000zM-7z for qemu-devel@nongnu.org; Fri, 24 May 2013 08:51:39 -0400 Received: from int-mx01.intmail.prod.int.phx2.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id r4OCpcQo032351 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Fri, 24 May 2013 08:51:38 -0400 Date: Fri, 24 May 2013 08:51:36 -0400 From: Luiz Capitulino Message-ID: <20130524085136.4e13ab49@redhat.com> In-Reply-To: <20130524121016.GC8669@redhat.com> References: <1368702445-30733-1-git-send-email-akong@redhat.com> <1368702445-30733-2-git-send-email-akong@redhat.com> <20130516121745.GE31841@redhat.com> <5194F41E.3020501@redhat.com> <20130516150326.GB2485@redhat.com> <5194F764.6010809@redhat.com> <20130516151723.GA2726@redhat.com> <20130523115403.4d5f587a@redhat.com> <20130523171834.GA31349@redhat.com> <20130523132633.388ee1c5@redhat.com> <20130524121016.GC8669@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v2 1/2] net: introduce MAC_TABLE_CHANGED event List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Michael S. Tsirkin" Cc: Amos Kong , qemu-devel@nongnu.org, stefanha@redhat.com On Fri, 24 May 2013 15:10:16 +0300 "Michael S. Tsirkin" wrote: > On Thu, May 23, 2013 at 01:26:33PM -0400, Luiz Capitulino wrote: > > On Thu, 23 May 2013 20:18:34 +0300 > > "Michael S. Tsirkin" wrote: > > > > > On Thu, May 23, 2013 at 11:54:03AM -0400, Luiz Capitulino wrote: > > > > On Thu, 16 May 2013 18:17:23 +0300 > > > > "Michael S. Tsirkin" wrote: > > > > > > > > > > The > > > > > > existing throttling approach ensures that if the event includes latest > > > > > > guest information, then the host doesn't even have to do do a query, and > > > > > > is guaranteed that reacting to the final event will always see the most > > > > > > recent request. But most importantly, if the existing throttling works, > > > > > > why do we have to invent a one-off approach for this event instead of > > > > > > reusing existing code? > > > > > > > > Sorry to restart this week old discussion, but I'm now reviewing the patch > > > > in question and I dislike how we're coupling the event and the query > > > > command. > > > > > > > > > Because of the 1st issue above. A large delay because we > > > > > > > > Has this been measured? How long is this large delay? > > > > > > > > Also, is it impossible for management to issue query-rx-filter > > > > on a reasonable rate that would also cause the same problems? > > > > IOW, how can we be sure we're fixing anything without trying it > > > > on a real use-case scenario? > > > > > > Play with priorities, you can make management arbitrarily slow. It's > > > just not sane to assume any timing guarantees for tasks running on > > > Linux. > > > > Would you mind to elaborate? I'm not sure I understand how this answers > > my questions. > > Maybe I don't understand the questions. > You are asking why doesn't usual throttling sufficient? > This was discussed in this thread already. > That's because it would introduce a huge delay if guest > changes the mac too often. People don't except that > changing a mac is a thing the should do slowly. You meant shouldn't? If I got it correctly, all you want to avoid is to call qobject_from_jsonf() and monitor_protocol_event() in the mac change path, because this will slow down the guest. Did I get it? If I did, my main point is whether or not the solution you're proposing (which is to couple the event with the query command) is appropriate. We're in user-space already, many things could slow the guest down apart from the event generation. Two questions: 1. Do we know how slow (or how many packets are actually dropped) if the mac is changed too often *and* the event is always sent? 2. Does this solution consider what happens if the QMP client does respond timely to the event by issuing the query-rx-filter command?