On  3 Jan, Kostik Belousov wrote:

> This sounds very plausible. I think that there is no sense in restarting
> the scan if it is requested in async mode at all. See below.
> 
> Would be thrilled if this finally solves the svn2cvs issues.
> 
> commit 41aaafe5e3be5387949f303b8766da64ee4a521f
> Author: Kostik Belousov <kostik@sirion>
> Date:   Tue Jan 3 11:16:30 2012 +0200
> 
>     Do not restart the scan in vm_object_page_clean() if requested
>     mode is async.
>     
>     Proposed by:      truckman
> 
> diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c
> index 716916f..52fc08b 100644
> --- a/sys/vm/vm_object.c
> +++ b/sys/vm/vm_object.c
> @@ -841,7 +841,8 @@ rescan:
>               if (p->valid == 0)
>                       continue;
>               if (vm_page_sleep_if_busy(p, TRUE, "vpcwai")) {
> -                     if (object->generation != curgeneration)
> +                     if ((flags & OBJPC_SYNC) != 0 &&
> +                         object->generation != curgeneration)
>                               goto rescan;
>                       np = vm_page_find_least(object, pi);
>                       continue;

I wonder if it would make more sense to just skip the busy pages in
async mode instead of sleeping ...


_______________________________________________
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to