svn commit: r286404 - head/sys/geom
Konstantin Belousov
kib at FreeBSD.org
Fri Aug 7 08:13:35 UTC 2015
Author: kib
Date: Fri Aug 7 08:13:34 2015
New Revision: 286404
URL: https://svnweb.freebsd.org/changeset/base/286404
Log:
The condition to use direct processing for the unmapped bio is
reverted. We can do direct processing when g_io_check() does not need
to perform transient remapping of the bio, otherwise the thread has to
sleep.
Reviewed by: mav (previous version)
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Modified:
head/sys/geom/geom_io.c
Modified: head/sys/geom/geom_io.c
==============================================================================
--- head/sys/geom/geom_io.c Fri Aug 7 07:05:47 2015 (r286403)
+++ head/sys/geom/geom_io.c Fri Aug 7 08:13:34 2015 (r286404)
@@ -520,8 +520,8 @@ g_io_request(struct bio *bp, struct g_co
direct = (cp->flags & G_CF_DIRECT_SEND) &&
(pp->flags & G_PF_DIRECT_RECEIVE) &&
!g_is_geom_thread(curthread) &&
- (((pp->flags & G_PF_ACCEPT_UNMAPPED) == 0 &&
- (bp->bio_flags & BIO_UNMAPPED) != 0) || THREAD_CAN_SLEEP());
+ ((pp->flags & G_PF_ACCEPT_UNMAPPED) != 0 ||
+ (bp->bio_flags & BIO_UNMAPPED) == 0 || THREAD_CAN_SLEEP());
if (direct) {
/* Block direct execution if less then half of stack left. */
size_t st, su;
More information about the svn-src-all
mailing list