Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 3 Jan 2012 01:45:26 -0800 (PST)
From:      Don Lewis <truckman@FreeBSD.org>
To:        kostikbel@gmail.com
Cc:        attilio@FreeBSD.org, flo@FreeBSD.org, current@FreeBSD.org, mckusick@mckusick.com, phk@phk.freebsd.dk, seanbru@yahoo-inc.com
Subject:   Re: dogfooding over in clusteradm land
Message-ID:  <201201030945.q039jQ4j007027@gw.catspoiler.org>
In-Reply-To: <20120103091819.GN50300@deviant.kiev.zoral.com.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
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 ...





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201201030945.q039jQ4j007027>