Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys - Re-enable direct I/O with emap for pipe.



details:   https://anonhg.NetBSD.org/src/rev/1d39b53b876b
branches:  trunk
changeset: 747035:1d39b53b876b
user:      rmind <rmind%NetBSD.org@localhost>
date:      Sat Aug 29 00:06:43 2009 +0000

description:
- Re-enable direct I/O with emap for pipe.
- While not used, #ifdef KVA allocation in emap (so it wont burn the space).

diffstat:

 sys/kern/sys_pipe.c |   7 ++-----
 sys/uvm/uvm_emap.c  |  11 +++++++----
 2 files changed, 9 insertions(+), 9 deletions(-)

diffs (67 lines):

diff -r 6133e38a1cf6 -r 1d39b53b876b sys/kern/sys_pipe.c
--- a/sys/kern/sys_pipe.c       Fri Aug 28 21:19:13 2009 +0000
+++ b/sys/kern/sys_pipe.c       Sat Aug 29 00:06:43 2009 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: sys_pipe.c,v 1.117 2009/07/15 21:09:41 rmind Exp $     */
+/*     $NetBSD: sys_pipe.c,v 1.118 2009/08/29 00:06:43 rmind Exp $     */
 
 /*-
  * Copyright (c) 2003, 2007, 2008, 2009 The NetBSD Foundation, Inc.
@@ -68,7 +68,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sys_pipe.c,v 1.117 2009/07/15 21:09:41 rmind Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sys_pipe.c,v 1.118 2009/08/29 00:06:43 rmind Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -99,9 +99,6 @@
  * #define PIPE_NODIRECT
  */
 
-/* XXX Disabled for now; rare hangs switching between direct/buffered */
-#define PIPE_NODIRECT
-
 static int     pipe_read(file_t *, off_t *, struct uio *, kauth_cred_t, int);
 static int     pipe_write(file_t *, off_t *, struct uio *, kauth_cred_t, int);
 static int     pipe_close(file_t *);
diff -r 6133e38a1cf6 -r 1d39b53b876b sys/uvm/uvm_emap.c
--- a/sys/uvm/uvm_emap.c        Fri Aug 28 21:19:13 2009 +0000
+++ b/sys/uvm/uvm_emap.c        Sat Aug 29 00:06:43 2009 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: uvm_emap.c,v 1.4 2009/07/20 03:51:42 kiyohara Exp $    */
+/*     $NetBSD: uvm_emap.c,v 1.5 2009/08/29 00:06:43 rmind Exp $       */
 
 /*-
  * Copyright (c) 2009 The NetBSD Foundation, Inc.
@@ -46,7 +46,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: uvm_emap.c,v 1.4 2009/07/20 03:51:42 kiyohara Exp $");
+__KERNEL_RCSID(0, "$NetBSD: uvm_emap.c,v 1.5 2009/08/29 00:06:43 rmind Exp $");
 
 #include <sys/param.h>
 #include <sys/kernel.h>
@@ -87,7 +87,7 @@
 
        uvm_emap_size = roundup(uvm_emap_size, PAGE_SIZE);
        qmax = 16 * PAGE_SIZE;
-
+#if 0
        uvm_emap_va = uvm_km_alloc(kernel_map, uvm_emap_size, 0,
            UVM_KMF_VAONLY | UVM_KMF_WAITVA);
        if (uvm_emap_va == 0) {
@@ -99,7 +99,10 @@
        if (uvm_emap_vmem == NULL) {
                panic("uvm_emap_init: vmem creation failed");
        }
-
+#else
+       uvm_emap_va = 0;
+       uvm_emap_vmem = NULL;
+#endif
        /* Initial generation value is 1. */
        uvm_emap_gen = 1;
        for (i = 0; i < MAXCPUS; i++) {



Home | Main Index | Thread Index | Old Index