public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: Anthony Liguori <anthony@codemonkey.ws>
To: Kevin Wolf <kwolf@redhat.com>
Cc: Chris Wright <chrisw@redhat.com>,
	qemu-devel@nongnu.org, kvm@vger.kernel.org
Subject: Re: [Qemu-devel] Re: KVM call agenda for Apr 27
Date: Tue, 27 Apr 2010 09:01:08 -0500	[thread overview]
Message-ID: <4BD6EE24.8050105@codemonkey.ws> (raw)
In-Reply-To: <4BD6ED6A.9020803@redhat.com>

On 04/27/2010 08:58 AM, Kevin Wolf wrote:
> Am 27.04.2010 15:48, schrieb Anthony Liguori:
>    
>> On 04/27/2010 08:42 AM, Kevin Wolf wrote:
>>      
>>> Am 27.04.2010 15:21, schrieb Anthony Liguori:
>>>
>>>        
>>>> On 04/27/2010 08:18 AM, Kevin Wolf wrote:
>>>>
>>>>          
>>>>> The watermark is not some complex computed value, but actually the
>>>>> statistic itself. We can get rid of handling a threshold in qemu by just
>>>>> signalling "something has changed with this stat".
>>>>>
>>>>> I'm really not arguing that qemu should do anything complex or even
>>>>> define policy. It's just about avoiding polling all the time when
>>>>> nothing has changed and polling too late when things are changing quickly.
>>>>>
>>>>>
>>>>>
>>>>>            
>>>>>> Polling is really the right solution.  It gives the management tool
>>>>>> ultimate flexibility in tweaking the heuristics as they see fit.
>>>>>>
>>>>>>
>>>>>>              
>>>>> Isn't providing this flexibility completely orthogonal to polling vs.
>>>>> event-based?
>>>>>
>>>>>
>>>>>            
>>>> Except then we need to offer a generic statistics mechanism which seems
>>>> like it's going to add a fair bit of complexity.  So far, the only
>>>> argument for it seems to be a misplaced notion that "polling is evil".
>>>>
>>>>          
>>> I'm not sure if "adding events is evil" is a much better position. :-)
>>>
>>> The natural thing is really events here, because we want to get informed
>>> every time something changes.
>>>        
>> You want to be informed every time something has changed and the value
>> has met a boolean condition (value>  threshold).
>>
>>      
>>>    Polling is a workaround for cases where
>>> you can't get these events. So I think it's you who should explain why
>>> polling is so much better than using events.
>>>
>>>        
>> Polling gives a management tool more flexibility in implementing the
>> evaluation condition.
>>
>> Adding something to the protocol is a long term support statement.  We
>> shouldn't add events unless we think they are events that we'll want to
>> support in the long term.  If RHEV-M decides that instead of doing value
>>   >  threshold, they want to include additional information (maybe
>> factoring in I/O rate), then a new event needs to be added and we're
>> stuck supporting the old event forever.
>>
>> Polling lets us avoid introducing new protocol operations as heuristics
>> change.
>>      
> This is what I meant with the flexibility being orthogonal to polling
> vs. event-based. You're comparing apples and oranges.
>
> You can either compare sending an event when value>  threshold with
> polling a boolean that says if this threshold is reached. Or you can
> compare sending an event on changes with polling the absolute value. But
> comparing sending an event on a threshold to polling the absolute value
> mixes two different things.
>    

But is statistic change really useful?  During a guest install, you'd 
get hundreds and hundreds of these events.

>>> Note that IIUC the case is here different from the ballooning you
>>> mentioned. The statistics for ballooning change all the time and you
>>> don't want to get informed about changes but monitor the statistics all
>>> the time, right?
>>>        
>> No, generally speaking, you care about threshold conditions.  For
>> instance, you want to know when guest reported free memory is<  some
>> percentage of total memory.  It's very similar really.
>>      
> Hm, maybe implementing something generic with thresholds actually
> wouldn't be a bad idea then.
>
> But still you have the fact that it's changing all the time which is
> very different from the watermark. The watermark only ever grows and
> often doesn't change at all. So the watermark thing can live without
> thresholds, it's enough to get informed about any changes.
>    

It actually changes quite often early in it's lifetime.

Regards,

Anthony Liguori

> Kevin
>    


  reply	other threads:[~2010-04-27 14:01 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-26 17:26 KVM call agenda for Apr 27 Chris Wright
2010-04-26 17:51 ` Anthony Liguori
2010-04-26 22:12   ` Chris Wright
2010-04-26 22:36     ` Anthony Liguori
2010-04-27  8:14       ` Avi Kivity
2010-04-27  8:48         ` Dor Laor
2010-04-27  8:56           ` Avi Kivity
2010-04-27  9:08             ` Dor Laor
2010-04-27  9:22               ` Avi Kivity
2010-04-27  9:32                 ` Dor Laor
2010-04-27  9:41                   ` Kevin Wolf
2010-04-27 13:15                     ` Anthony Liguori
2010-04-27  9:16             ` Kevin Wolf
2010-04-27  9:28               ` Avi Kivity
2010-04-27 13:03         ` Anthony Liguori
2010-04-27 13:08           ` Avi Kivity
2010-04-27 13:11           ` Daniel P. Berrange
2010-04-27 13:15             ` Gleb Natapov
2010-04-27 13:38               ` Daniel P. Berrange
2010-04-27 14:10                 ` Gleb Natapov
2010-04-27  8:53       ` [Qemu-devel] " Kevin Wolf
2010-04-27 13:10         ` Anthony Liguori
2010-04-27 13:18           ` Kevin Wolf
2010-04-27 13:21             ` Anthony Liguori
2010-04-27 13:42               ` Kevin Wolf
2010-04-27 13:48                 ` Anthony Liguori
2010-04-27 13:58                   ` Kevin Wolf
2010-04-27 14:01                     ` Anthony Liguori [this message]
2010-04-27 11:11       ` Gleb Natapov
2010-04-27 13:00         ` Anthony Liguori
2010-04-27 13:05           ` Gleb Natapov
2010-04-27 13:19             ` Anthony Liguori
2010-04-27 13:29               ` Gleb Natapov
2010-04-27  1:15   ` [Qemu-devel] " Luiz Capitulino
2010-04-27  3:39     ` Aurelien Jarno

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4BD6EE24.8050105@codemonkey.ws \
    --to=anthony@codemonkey.ws \
    --cc=chrisw@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=kwolf@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox