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