Increasing MAXPHYS

Pawel Jakub Dawidek pjd at FreeBSD.org
Mon Mar 22 23:55:24 UTC 2010


On Mon, Mar 22, 2010 at 08:23:43AM +0000, Poul-Henning Kamp wrote:
> In message <4BA633A0.2090108 at icyb.net.ua>, Andriy Gapon writes:
> >on 21/03/2010 16:05 Alexander Motin said the following:
> >> Ivan Voras wrote:
> >>> Hmm, it looks like it could be easy to spawn more g_* threads (and,
> >>> barring specific class behaviour, it has a fair chance of working out of
> >>> the box) but the incoming queue will need to also be broken up for
> >>> greater effect.
> >> 
> >> According to "notes", looks there is a good chance to obtain races, as
> >> some places expect only one up and one down thread.
> >
> >I haven't given any deep thought to this issue, but I remember us discussing
> >them over beer :-)
> 
> The easiest way to obtain more parallelism, is to divide the mesh into
> multiple independent meshes.
> 
> This will do you no good if you have five disks in a RAID-5 config, but
> if you have two disks each mounted on its own filesystem, you can run
> a g_up & g_down for each of them.

A class is suppose to interact with other classes only via GEOM, so I
think it should be safe to choose g_up/g_down threads for each class
individually, for example:

	/dev/ad0s1a (DEV)
	       |
	g_up_0 + g_down_0
	       |
	     ad0s1a (BSD)
	       |
	g_up_1 + g_down_1
	       |
	     ad0s1 (MBR)
	       |
	g_up_2 + g_down_2
	       |
	     ad0 (DISK)

We could easly calculate g_down thread based on bio_to->geom->class and
g_up thread based on bio_from->geom->class, so we know I/O requests for
our class are always coming from the same threads.

If we could make the same assumption for geoms it would allow for even
better distribution.

-- 
Pawel Jakub Dawidek                       http://www.wheelsystems.com
pjd at FreeBSD.org                           http://www.FreeBSD.org
FreeBSD committer                         Am I Evil? Yes, I Am!
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-arch/attachments/20100322/87a4d8ec/attachment.pgp


More information about the freebsd-arch mailing list