On Fri, 24 May 2013 15:10:16 +0300 "Michael S. Tsirkin" <m...@redhat.com> 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" <m...@redhat.com> 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" <m...@redhat.com> 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?