Date: Fri, 10 Dec 2010 17:03:27 +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: <4D02413F.8020007@freebsd.org> In-Reply-To: <4D023DB7.9080509@freebsd.org> References: <1365605559.20101210162253@serebryakov.spb.ru> <4D023DB7.9080509@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
on 10/12/2010 16:48 Andriy Gapon said the following: > But maybe I misunderstood your question and you talked about a different I/O layer > or different I/O path. > Oh, probably you talk about physread/physwrite == physio. Indeed, it issues bio-s with max size of si_iosize_max and runs them sequentially. Besides, if uio is really "vectored", then each uio sub-buffer is processed sequentially too. This is probably less fast than running the requests in parallel; plus side could be that less KVA is required for mapping user space buffer (UIO_USERSPACE case) into kernel. Not sure if the latter is much of concern though. The sequential code is simpler too :-) -- Andriy Gapon
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4D02413F.8020007>