Module Name: src Committed By: rmind Date: Sat Aug 29 00:06:43 UTC 2009
Modified Files: src/sys/kern: sys_pipe.c src/sys/uvm: uvm_emap.c Log Message: - Re-enable direct I/O with emap for pipe. - While not used, #ifdef KVA allocation in emap (so it wont burn the space). To generate a diff of this commit: cvs rdiff -u -r1.117 -r1.118 src/sys/kern/sys_pipe.c cvs rdiff -u -r1.4 -r1.5 src/sys/uvm/uvm_emap.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/kern/sys_pipe.c diff -u src/sys/kern/sys_pipe.c:1.117 src/sys/kern/sys_pipe.c:1.118 --- src/sys/kern/sys_pipe.c:1.117 Wed Jul 15 21:09:41 2009 +++ src/sys/kern/sys_pipe.c Sat Aug 29 00:06:43 2009 @@ -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 *); Index: src/sys/uvm/uvm_emap.c diff -u src/sys/uvm/uvm_emap.c:1.4 src/sys/uvm/uvm_emap.c:1.5 --- src/sys/uvm/uvm_emap.c:1.4 Mon Jul 20 03:51:42 2009 +++ src/sys/uvm/uvm_emap.c Sat Aug 29 00:06:43 2009 @@ -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++) {