On Sun, May 16, 2010 at 2:02 PM, Matthew Dillon <dil...@apollo.backplane.com
> wrote:

>    Venkatesh's VM idle page zeroing code has been committed.  I used a
>    squashed merge and rolled in some additional fixes for problems that
>    came up during testing, so our main repo probably won't sync with
>    Venkatesh's repo now.
>
>    It currently defaults to disabled.  We will change the default to
>    enabled once we do a little more testing.  'sysctl vm | fgrep zero'
>    gets you all the sysctls.
>
>    It doesn't make a huge difference when testing a parallel buildworld,
>    *maybe* saving 20 seconds on a 1200 second build.  I expect that it
>    will make more of a difference for burst or serialized operations such
>    as shell script execution where cpus have enough idle time to
>    pre-zero more pages.
>
>    The page zeroing rate has been bumped up to levels more condusive to
>    expected workloads, around 20,000 pages per second max.
>

Cool; I'll try here to see if makes a difference on older h/w.

Any particular reason for moving the thread to the last cpu?

Something that occured to me - right now, we have a thread that wakes up
every 1/10th of a second, checks if there are pages to zero. At long
stretches of idle time, we just end up waking and sleeping a whole lot.
Instead, perhaps, when vm_page_zero_check() sees that we hit ZIDLE_HIGH we
should perhaps sleep for a lot longer and drop down to the usual rate when
we hit ZIDLE_LOW?

Thanks,
-- vs

Reply via email to