From owner-cvs-all@FreeBSD.ORG Fri Aug 29 13:04:11 2003 Return-Path: Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6507C16A4BF; Fri, 29 Aug 2003 13:04:11 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id DDF6E43FB1; Fri, 29 Aug 2003 13:04:10 -0700 (PDT) (envelope-from alc@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h7TK4A0U055507; Fri, 29 Aug 2003 13:04:10 -0700 (PDT) (envelope-from alc@repoman.freebsd.org) Received: (from alc@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h7TK4Aj7055506; Fri, 29 Aug 2003 13:04:10 -0700 (PDT) Message-Id: <200308292004.h7TK4Aj7055506@repoman.freebsd.org> From: Alan Cox Date: Fri, 29 Aug 2003 13:04:10 -0700 (PDT) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/alpha/alpha vm_machdep.c src/sys/amd64/amd64 vm_machdep.c src/sys/i386/i386 vm_machdep.c src/sys/ia64/ia64 vm_machdep.c src/sys/kern uipc_syscalls.c src/sys/powerpc/powerpc vm_machdep.c src/sys/sparc64/sparc64 vm_machdep.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 29 Aug 2003 20:04:11 -0000 alc 2003/08/29 13:04:10 PDT FreeBSD src repository Modified files: sys/alpha/alpha vm_machdep.c sys/amd64/amd64 vm_machdep.c sys/i386/i386 vm_machdep.c sys/ia64/ia64 vm_machdep.c sys/kern uipc_syscalls.c sys/powerpc/powerpc vm_machdep.c sys/sparc64/sparc64 vm_machdep.c Log: Migrate the sf_buf allocator that is used by sendfile(2) and zero-copy sockets into machine-dependent files. The rationale for this migration is illustrated by the modified amd64 allocator. It uses the amd64's direct map to avoid emphemeral mappings in the kernel's address space. On an SMP, the emphemeral mappings result in an IPI for TLB shootdown for each transmitted page. Yuck. Maintainers of other 64-bit platforms with direct maps should be able to use the amd64 allocator as a reference implementation. Revision Changes Path 1.94 +101 -0 src/sys/alpha/alpha/vm_machdep.c 1.217 +95 -0 src/sys/amd64/amd64/vm_machdep.c 1.215 +101 -0 src/sys/i386/i386/vm_machdep.c 1.70 +101 -0 src/sys/ia64/ia64/vm_machdep.c 1.156 +0 -99 src/sys/kern/uipc_syscalls.c 1.91 +101 -0 src/sys/powerpc/powerpc/vm_machdep.c 1.51 +104 -0 src/sys/sparc64/sparc64/vm_machdep.c