Date: Fri, 10 Dec 2010 16:48:23 +0200 From: Andriy Gapon <avg@freebsd.org> To: Lev Serebryakov <lev@serebryakov.spb.ru> Cc: freebsd-hackers@freebsd.org, freebsd-geom@freebsd.org Subject: Re: Where userland read/write requests, whcih is larger than MAXPHYS, are splitted? Message-ID: <4D023DB7.9080509@freebsd.org> In-Reply-To: <1365605559.20101210162253@serebryakov.spb.ru> References: <1365605559.20101210162253@serebryakov.spb.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
on 10/12/2010 15:22 Lev Serebryakov said the following: > Hello, Freebsd-geom. > > I'm digging thought GEOM/IO code and can not find place, where > requests from userland to read more than MAXPHYS bytes, is splitted > into several "struct bio"? Check out g_disk_start(). The split is done based on disk-specific d_maxsize, not hardcoded MAXPHYS, of course. > It seems, that these children request are issued one-by-one, not in > parallel, am I right? Why? It breaks down parallelism, when > underlying GEOM can process several requests simoltaneously? How do you *issue* the child requests in parallel? Of course, they can *run* in parallel if system configuration permits that and request run time is sufficient for an overlap to happen. Besides, there are no geoms under disk geom, it works on peripheral drivers. But maybe I misunderstood your question and you talked about a different I/O layer or different I/O path. -- Andriy Gapon
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4D023DB7.9080509>