On 11/30/2010 04:46 PM, Juan Quintela wrote:
Anthony Liguori<anth...@codemonkey.ws>  wrote:
>  On 11/23/2010 05:03 PM, Juan Quintela wrote:
>>  From: Juan Quintela<quint...@trasno.org>
>>
>>  Calculate the number of dirty pages takes a lot on hosts with lots
>>  of memory.  Just maintain how many pages are dirty.  Only sync bitmaps
>>  if number is small enough.
>>
>
>  There needs to be numbers that justify this as part of the commit message.

They are on patch 0/6.

Additionally, with 64GB of RAM, this bitmap is HUGE, having to walk over
it in each ram_save_live() call is too onerous.

It's not so huge. It's scaled down by a factor of 8 * 4096 = 32K. So it's a 2MB bitmap. If kept as a bitmap and accessed in longs, it can be read in less than a millisecond.

An optimization can be to look at the previous ram_save_live (which had to walk the bitmap). If old_nr_dirty > 4*target_nr_dirty, assume we need one more pass and don't scan the bitmap.

Another optimization is to stop the count when we reach the target; instead of ram_save_remaining() have a ram_save_may_stop() which counts the number of dirty bits until it reaches target_nr_dirty or exhausts the bitmap.

--
error compiling committee.c: too many arguments to function


Reply via email to