Skip site navigation (1)Skip section navigation (2)
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>