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;
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to