Subject: Re: Throttling IO Requests in NetBSD via Congestion Control
To: Sumantra Kundu <sumantra@gmail.com>
From: Daniel Carosone <dan@geek.com.au>
List: tech-kern
Date: 08/29/2006 12:16:04
--wA9WyeW1yVBM2Q32
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Mon, Aug 28, 2006 at 02:26:35PM -0500, Sumantra Kundu wrote:
> All,
>      Looks like finally the problem has been nailed down:
>=20
> The skewed results are due to non-availability of pages for the reader
> process. As a matter of fact the results are all reproducible.

Nice work figuring it out. This is an important discovery about the
overall system behaviour, and the overallocation for writers and
resulting second-round impact on readers is clearly an aspect of
insufficient backpressure that perpetuates the problem. Having
reproducible results, rather than just speculation, is a big win.

> In a nutshell, the proposal is for a admission control mechanism in
> the uvm for writer processes along with the uvm_cca algorithm.

I think uvm admission control, and page fault handling/scheduling on
dirtying events generally, might be a better way than ltsleep to apply
the back pressure needed; there are other options too. The important
initial result is the analysis and connectivity through the various
layers of the stack to determine when pressure is needed.

I'd be skeptical about limiting it to writers only, as I mentioned
elsewhere, but that's certainly a start.

--
Dan.
--wA9WyeW1yVBM2Q32
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (NetBSD)

iD8DBQFE86NjEAVxvV4N66cRAizRAJ9+/o422QsDYHCs6AIDi28CwkZDzwCg0QB/
v12uEZW1nBG39b718/VaxRI=
=qvFj
-----END PGP SIGNATURE-----

--wA9WyeW1yVBM2Q32--