From owner-freebsd-hackers Mon Oct 20 19:01:26 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id TAA08783 for hackers-outgoing; Mon, 20 Oct 1997 19:01:26 -0700 (PDT) (envelope-from owner-freebsd-hackers) Received: from pluto.plutotech.com (root@mail.plutotech.com [206.168.67.137]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id TAA08778 for ; Mon, 20 Oct 1997 19:01:19 -0700 (PDT) (envelope-from durian@plutotech.com) Received: from shane.plutotech.com (shane.plutotech.com [206.168.67.149]) by pluto.plutotech.com (8.8.5/8.8.5) with ESMTP id UAA10419 for ; Mon, 20 Oct 1997 20:01:12 -0600 (MDT) Message-Id: <199710210201.UAA10419@pluto.plutotech.com> From: "Mike Durian" To: hackers@freebsd.org Subject: user vm addr to kernel vm addr Date: Mon, 20 Oct 1997 20:01:11 -0600 Sender: owner-freebsd-hackers@freebsd.org X-Loop: FreeBSD.org Precedence: bulk In my virtual file system I'd like to speed up reads and writes by copying directly from the uio structure to a vm address of a buffer in the user process running on behalf of the filesystem. I'm currently shoving all the data through a socket that the user process reads from and copies into a buffer. I'd like to go direct and skip the socket writing part. Does that make sense? Anyway, I want to copy from a uio to a different process's vm space. I can get the vm address of the destination buffer over a socket and think I can use vm_fault_wire to make sure it stays accessable, but I don't know how to convert that user space vm address into a kernel space vm address that I can then use with copyout. Is there an easy (or any) way to do this? mike