From owner-freebsd-arch@FreeBSD.ORG Sun Aug 3 05:03:03 2003 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0F2B837B401 for ; Sun, 3 Aug 2003 05:03:03 -0700 (PDT) Received: from gurney.bluecom.no (gurney.bluecom.no [217.118.32.13]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3E91F43F85 for ; Sun, 3 Aug 2003 05:03:02 -0700 (PDT) (envelope-from eirikn@bluezone.no) Received: from eirikn.net (a217-118-47-91.bluecom.no [217.118.47.91]) by gurney.bluecom.no (Postfix) with ESMTP id 45851A7B1E for ; Sun, 3 Aug 2003 14:03:01 +0200 (CEST) Received: by eirikn.net (Postfix, from userid 1001) id 1F8F973; Sun, 3 Aug 2003 14:03:21 +0200 (CEST) Date: Sun, 3 Aug 2003 14:03:21 +0200 From: Eirik Nygaard To: arch@freebsd.org Message-ID: <20030803120321.GA26612@eirikn.net> Mail-Followup-To: arch@freebsd.org References: <20030723100444.GA83571@eirikn.net> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="82I3+IH0IqGh5yIs" Content-Disposition: inline In-Reply-To: <20030723100444.GA83571@eirikn.net> User-Agent: Mutt/1.5.4i Subject: Re: module opt_* building X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: eirikn@bluezone.no List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 03 Aug 2003 12:03:03 -0000 --82I3+IH0IqGh5yIs Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wed, Jul 23, 2003 at 12:04:44PM +0200, Eirik Nygaard wrote: > I did not come up with another way to do it so I used the described > approach. Did not attach the patch, but it can be found at > http://kerneled.com/eirikn/freebsd/kmod_modules.diff Since kerneled.com went down for a unknow reason you I uploaded the patch to another website. http://eirikn.net/bsd/kmod_modules.diff --=20 Eirik Nygaard PGP Key: 83C55EDE --82I3+IH0IqGh5yIs Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (FreeBSD) iD8DBQE/LPoJ1JB0Z4PFXt4RAvc5AJ9CoAC++DQUO6sENUe8xgI6eeWsGwCfXSz0 GSfxugKdopnDEJ3WGSK7oJc= =/JOT -----END PGP SIGNATURE----- --82I3+IH0IqGh5yIs-- From owner-freebsd-arch@FreeBSD.ORG Sun Aug 3 17:18:48 2003 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6875A37B404 for ; Sun, 3 Aug 2003 17:18:48 -0700 (PDT) Received: from pool-151-200-10-97.res.east.verizon.net (pool-138-88-98-72.res.east.verizon.net [138.88.98.72]) by mx1.FreeBSD.org (Postfix) with ESMTP id EDB2F43F93 for ; Sun, 3 Aug 2003 17:18:46 -0700 (PDT) (envelope-from mtm@identd.net) Received: from kokeb.ambesa.net (z8oks119jktllya8@localhost [127.0.0.1]) id h740Ijkv017896 for ; Sun, 3 Aug 2003 20:18:45 -0400 (EDT) (envelope-from mtm@identd.net) Received: (from mtm@localhost) by kokeb.ambesa.net (8.12.9/8.12.9/Submit) id h740IjGD017895 for freebsd-arch@FreeBSD.Org; Sun, 3 Aug 2003 20:18:45 -0400 (EDT) (envelope-from mtm@identd.net) X-Authentication-Warning: kokeb.ambesa.net: mtm set sender to mtm@identd.net using -f Date: Sun, 3 Aug 2003 20:18:45 -0400 From: Mike Makonnen To: freebsd-arch@FreeBSD.Org Message-ID: <20030804001815.GA17137@kokeb.ambesa.net> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="OgqxwSJOaUobr8KG" Content-Disposition: inline User-Agent: Mutt/1.4.1i X-Operating-System: FreeBSD/5.1-CURRENT (i386) Subject: A general mechanism for specifying devfs(8) rules X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 04 Aug 2003 00:18:48 -0000 --OgqxwSJOaUobr8KG Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hello folks, While polishing up an enhanced jail script submitted by "Scot W. Hetzel" it became necessary to introduce mechanism to specify devfs(8) rules. The script needed to provide a default set of rules, but it also needed to accept rules specified by the user. So, after some testing and suggestions by Jens Rehsack I decided I might as well make it work for the general case also. Attached is a patch that should do just that. Similarly to rc.conf(5), there's a src/etc/defaults/devfs.rules file. But an user can include local rules by adding the file to a devfs_rulesets variable in rc.conf. The format of the file is simple. Essentially, it goes like this: [ruleset_name=#some_number] action action ... [another_ruleset_name=#some_other_number] action action ... To use a specific rule, you specify it by name in the devfs_system_ruleset variable in your rc.conf. I have tried to do two things with this patch: 1. Remove, from the user's point of view, the necessity to know ruleset numbers. The ruleset numbers are used in only one place, devfs.rules. So, if you rearrange the ruleset numbers you don't need to change any rc.conf settings. Even in the rules file, if you change the number of a ruleset you don't have to change any rulesets that refer to it because they use the name instead. 2. Keep the things that are different from the real devfs(8) command as few as possible. So, with one small exception (to allow you to use ruleset names instead of numbers) the action lines for each ruleset are passed directly to the devfs(8) command. Comments ? Cheers. -- Mike Makonnen | GPG-KEY: http://www.identd.net/~mtm/mtm.asc mtm@identd.net | D228 1A6F C64E 120A A1C9 A3AA DAE1 E2AF DBCC 68B9 mtm@FreeBSD.Org| FreeBSD - Unleash the Daemon! --OgqxwSJOaUobr8KG Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="devfsall.diff" Index: etc/rc.subr =================================================================== RCS file: /home/ncvs/src/etc/rc.subr,v retrieving revision 1.13 diff -u -r1.13 rc.subr --- etc/rc.subr 9 Jun 2003 17:31:06 -0000 1.13 +++ etc/rc.subr 4 Aug 2003 00:06:46 -0000 @@ -1033,3 +1033,218 @@ esac fi } + +# devfs_link dir src link +# Make a symbolic link 'link' to src in chroot/dev. +# Returns 0 on sucess. +# +devfs_link() +{ + local dir src link _me + dir="$1" + src="$2" + link="$3" + _me="devfs_link" + + if [ -z "$dir" -o -z "$src" -o -z "$link" ]; then + warn "devfs_link(): requires three arguments." + return 1 + fi + if [ -z "$dir" ]; then + warn "$_me: the directory ($dir) does not exist" + return 1 + fi + cd ${chroot}/dev + if ! ln -sf $src $link ; then + warn "$_me: unable to link $link --> $src in $dir" + return 1 + fi + return 0 +} + +# devfs_init_rulesets +# Initializes rulesets from configuration files. Returns +# non-zero if there was an error. +# +devfs_init_rulesets() +{ + local file _me + _me="devfs_init_rulesets" + + # Go through this only once + if [ -n "$devfs_rulesets_init" ]; then + debug "$_me: devfs rulesets already initialized" + return + fi + for file in $devfs_rulesets ; do + devfs_rulesets_from_file $file || return 1 + done + devfs_rulesets_init=1 + debug "$_me: devfs rulesets initialized" + return 0 +} + +# devfs_set_ruleset ruleset [dir] +# Sets the default ruleset of dir to ruleset. +# Returns non-zero if it could not set it successfully. +# +devfs_set_ruleset() +{ + local devdir rs _me + [ -n "$1" ] && eval rs=\$$1 || rs= + [ -n "$2" ] && devdir="-m "$2"" || devdir= + _me="devfs_set_ruleset" + + if [ -z "$rs" ]; then + warn "$_me: you must specify a ruleset number" + return 1 + fi + debug "$_me: setting ruleset ($rs) on mount-point (${devdir#-m })" + if ! /sbin/devfs $devdir ruleset $rs ; then + warn "$_me: unable to set ruleset $rs to ${devdir#-m }" + return 1 + fi + return 0 +} + +# devfs_apply_ruleset ruleset [dir] +# Apply ruleset number $ruleset to the devfs mountpoint $dir. +# Returns 0 on success or non-zero if it could not apply +# the ruleset. +# +devfs_apply_ruleset() +{ + local devdir rs _me + [ -n "$1" ] && eval rs=\$$1 || rs= + [ -n "$2" ] && devdir="-m "$2"" || devdir= + _me="devfs_apply_ruleset" + + if [ -z "$rs" ]; then + warn "$_me: you must specify a ruleset" + return 1 + fi + debug "$_me: applying ruleset ($rs) to mount-point (${devdir#-m })" + if ! /sbin/devfs $devdir rule -s $rs applyset ; then + warn "$_me: unable to apply ruleset $rs to ${devdir#-m }" + return 1 + fi + return 0 +} + +# devfs_domount dir [ruleset] +# Mount devfs on dir. If ruleset is specified it is set +# on the mount-point. Returns 0 on success. +# +devfs_domount() +{ + local devdir rs _me + devdir="$1" + [ -n "$2" ] && rs=$2 || rs= + _me="devfs_domount()" + + if [ -z "$devdir" ]; then + warn "$_me: you must specify a mount-point" + return 1 + fi + debug "$_me: mount-point is ($devdir), ruleset is ($rs)" + if ! mount -t devfs dev "$devdir" ; then + warn "$_me: Unable to mount devfs on $devdir" + return 1 + fi + if [ -n "$rs" ]; then + devfs_init_rulesets + devfs_set_ruleset $rs $devdir + fi + return 0 +} + +# devfs_mount_jail dir [name] +# Mounts a devfs file system appropriate for jails +# on the directory dir. If name is specified, the ruleset +# it names will be used instead. The argument name must +# be the name of a ruleset as defined in a devfs.rules file. +# This function returns non-zero if an error occurs. +# +devfs_mount_jail() +{ + local jdev rs _me + jdev="$1" + [ -n "$2" ] && rs=$2 || rs= + _me="devfs_mount_jail" + + devfs_init_rulesets + if ! devfs_domount "$jdev" $rs ; then + warn "$_me: devfs was not mounted on $jdev" + return 1 + fi + return 0 +} + +# devfs_rulesets_from_file file +# Reads a set of devfs commands from file, and creates +# the specified rulesets with their rules. Returns non-zero +# if there was an error. +# +devfs_rulesets_from_file() +{ + local file _err _me + file="$1" + _me="devfs_rulesets_from_file" + _err=0 + + if [ -z "$file" ]; then + warn "$_me: you must specify a file" + return 1 + fi + if [ ! -e "$file" ]; then + warn "$_me: no such file ($file)" + return 1 + fi + debug "reading rulesets from file ($file)" + { while read line + do + case $line in + \#*) + continue + ;; + \[*\]*) + rulenum=`expr "$line" : "\[.*=\([0-9]*\)\]"` + if [ -z "$rulenum" ]; then + warn "$_me: cannot extract rule number ($line)" + _err=1 + break + fi + rulename=`expr "$line" : "\[\(.*\)=[0-9]*\]"` + if [ -z "$rulename" ]; then + warn "$_me: cannot extract rule name ($line)" + _err=1 + break; + fi + eval $rulename=\$rulenum + debug "found ruleset: $rulename=$rulenum" + if ! /sbin/devfs rule -s $rulenum delset ; then + _err=1 + break + fi + ;; + *) + rulecmd="${line%%"\#*"}" + # evaluate the command incase it includes + # other rules + if [ -n "$rulecmd" ]; then + debug "adding rule ($rulecmd)" + if ! eval /sbin/devfs rule -s $rulenum $rulecmd + then + _err=1 + break + fi + fi + ;; + esac + if [ $_err -ne 0 ]; then + debug "error in $_me" + break + fi + done } < $file + return $_err +} Index: etc/defaults/devfs.rules =================================================================== RCS file: etc/defaults/devfs.rules diff -N etc/defaults/devfs.rules --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ etc/defaults/devfs.rules 3 Aug 2003 22:52:18 -0000 @@ -0,0 +1,64 @@ +# +# The following are some default rules for devfs(5) mounts. +# The format is very simple. Empty lines and lines begining +# with a hash '#' are ignored. If the hash mark occurs anywhere +# other than the beginning of a line, it and any subsequent +# characters will be ignored. A line in between brackets '[]' +# denotes the beginning of a ruleset. In the brackets should +# be a name for the rule and its ruleset number. Any other lines +# will be considered to be the 'action' part of a rule +# passed to the devfs(8) command. These will be passed +# "as-is" to the devfs(8) command with the exception that +# any references to other rulesets will be expanded first. These +# references must include a dollar sign '$' in-front of the +# name to be expanded properly. +# +# $FreeBSD$ +# + +# Very basic and secure ruleset: Hide everything. +# Used as a basis for other rules. +# +[devfs_ruleset_hide=1] +add hide + +# Basic devices typically necessary. +# +[devfs_ruleset_basic=2] #halloc +add include $devfs_ruleset_hide +add path null unhide # test # test1 +add path zero unhide +add path random unhide +add path urandom unhide + +# Devices typically needed to support logged-in users. +# +[devfs_ruleset_login=3] +add include $devfs_ruleset_hide +add path 'ptyp*' unhide +add path 'ptyq*' unhide +add path 'ptyr*' unhide +add path 'ptys*' unhide +add path 'ptyP*' unhide +add path 'ptyQ*' unhide +add path 'ptyR*' unhide +add path 'ptyS*' unhide +add path 'ttyp*' unhide +add path 'ttyq*' unhide +add path 'ttyr*' unhide +add path 'ttys*' unhide +add path 'ttyP*' unhide +add path 'ttyQ*' unhide +add path 'ttyR*' unhide +add path 'ttyS*' unhide +add path 'fd/*' unhide +add path stdin unhide +add path stdout unhide +add path stderr unhide + +# Devices usually found in a jail. +# +[devfs_ruleset_jail=123] +add include $devfs_ruleset_hide +add include $devfs_ruleset_basic +add include $devfs_ruleset_login Index: etc/defaults/rc.conf =================================================================== RCS file: /home/ncvs/src/etc/defaults/rc.conf,v retrieving revision 1.179 diff -u -r1.179 rc.conf --- etc/defaults/rc.conf 14 Jun 2003 22:26:30 -0000 1.179 +++ etc/defaults/rc.conf 3 Aug 2003 23:45:02 -0000 @@ -430,6 +430,8 @@ jail_set_hostname_allow="YES" # Allow root user in a jail to change its hostname jail_socket_unixiproute_only="YES" # Route only TCP/IP within a jail jail_sysvipc_allow="NO" # Allow SystemV IPC use from within a jail +devfs_rulesets="/etc/defaults/devfs.rules" # List of files of devfs(8) rules +devfs_system_ruleset="" # The name of the ruleset (devfs.rules) to apply to /dev ############################################################## ### Define source_rc_confs, the mechanism used by /etc/rc.* ## Index: etc/rc.d/devfs =================================================================== RCS file: /home/ncvs/src/etc/rc.d/devfs,v retrieving revision 1.5 diff -u -r1.5 devfs --- etc/rc.d/devfs 6 May 2003 01:10:33 -0000 1.5 +++ etc/rc.d/devfs 4 Aug 2003 00:14:14 -0000 @@ -11,8 +11,18 @@ . /etc/rc.subr name="devfs" -start_cmd='read_devfs_conf' +start_cmd='devfs_start' stop_cmd=':' + +devfs_start() +{ + if [ -n "$devfs_system_ruleset" ]; then + devfs_init_rulesets + devfs_set_ruleset $devfs_system_ruleset /dev + devfs_apply_ruleset $devfs_system_ruleset /dev + fi + read_devfs_conf +} read_devfs_conf() { --OgqxwSJOaUobr8KG-- From owner-freebsd-arch@FreeBSD.ORG Sun Aug 3 17:20:14 2003 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0531337B401 for ; Sun, 3 Aug 2003 17:20:14 -0700 (PDT) Received: from HAL9000.homeunix.com (ip114.bella-vista.sfo.interquest.net [66.199.86.114]) by mx1.FreeBSD.org (Postfix) with ESMTP id 586EF43FBF for ; Sun, 3 Aug 2003 17:20:13 -0700 (PDT) (envelope-from das@FreeBSD.ORG) Received: from HAL9000.homeunix.com (localhost [127.0.0.1]) by HAL9000.homeunix.com (8.12.9/8.12.9) with ESMTP id h740K51K006331; Sun, 3 Aug 2003 17:20:05 -0700 (PDT) (envelope-from das@FreeBSD.ORG) Received: (from das@localhost) by HAL9000.homeunix.com (8.12.9/8.12.9/Submit) id h740K3Id006330; Sun, 3 Aug 2003 17:20:04 -0700 (PDT) (envelope-from das@FreeBSD.ORG) Date: Sun, 3 Aug 2003 17:20:03 -0700 From: David Schultz To: "Dag-Erling =?us-ascii:iso-8859-1?Q?Sm=F8rgrav?=" Message-ID: <20030804002003.GA5823@HAL9000.homeunix.com> Mail-Followup-To: "Dag-Erling =?us-ascii:iso-8859-1?Q?Sm=F8rgrav?=" , Poul-Henning Kamp , Peter Jeremy , arch@freebsd.org References: <6955.1059728599@critter.freebsd.dk> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: cc: Peter Jeremy cc: Poul-Henning Kamp cc: arch@FreeBSD.ORG Subject: Re: headsup: swap_pager.c X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 04 Aug 2003 00:20:14 -0000 On Fri, Aug 01, 2003, Dag-Erling Smrgrav wrote: > "Poul-Henning Kamp" writes: > > The thing you overlook is that often when things gets paged out, the > > system is short on memory and therefore more likely to not do anything > > productive, whereas when things gets paged in, there are a better chance > > of some other process being able to use the CPU time productively. > > If we did predictive pageouts like some of the "serious" mainfram OS's > > this would be less true. > > How hard would it be to get the kernel to write the pages "most likely > to be swapped out" to swap in the idle loop, to save time if / when > they actually need to be swapped out later? > > I thought we already did this to some extent (ref. FAQ 16.1), but > apparently I was wrong? FreeBSD already does that. ;-) You can control the number of clean pages that it keeps around with the sysctls vm.v_cache_{min,max}, but you shouldn't need to tune anything to get good performance. FWIW, the stuff phk is working on is in a different area; it has to do with what swap device your pages wind up on after the VM system has already decided to write them out. From owner-freebsd-arch@FreeBSD.ORG Mon Aug 4 11:49:51 2003 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3C9CE37B401 for ; Mon, 4 Aug 2003 11:49:51 -0700 (PDT) Received: from anuket.mj.niksun.com (gwnew.niksun.com [65.115.46.162]) by mx1.FreeBSD.org (Postfix) with ESMTP id 583B743F75 for ; Mon, 4 Aug 2003 11:49:50 -0700 (PDT) (envelope-from jkim@niksun.com) Received: from daemon.mj.niksun.com (daemon.mj.niksun.com [10.70.0.244]) by anuket.mj.niksun.com (8.12.6p2/8.12.3) with ESMTP id h74In1lT022980 for ; Mon, 4 Aug 2003 14:49:01 -0400 (EDT) (envelope-from jkim@niksun.com) X-RAV-AntiVirus: This e-mail has been scanned for viruses. From: Jung-uk Kim Organization: Niksun, Inc. To: freebsd-arch@freebsd.org Date: Mon, 4 Aug 2003 14:48:54 -0400 User-Agent: KMail/1.5.1 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200308041448.54790.jkim@niksun.com> Subject: Confusing BKVASIZE X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 04 Aug 2003 18:49:51 -0000 As you know, BKVASIZE is 16K: http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/sys/param.h#rev1.63 Default UFS block size is also 16K: http://www.freebsd.org/cgi/cvsweb.cgi/src/sbin/newfs/newfs.c#rev1.46 But src/sys/sys/param.h says: 'The default (BKVASIZE) is 16384, roughly 2x the block size used by a normal UFS filesystem.' This is not true any more and it is really confusing. In fact, I found many confusing instances, e.g. src/sys/kern/vfs_bio.c: /* * To support extreme low-memory systems, make sure hidirtybuffers cannot * eat up all available buffer space. This occurs when our minimum cannot * be met. We try to size hidirtybuffers to 3/4 our buffer space assuming * BKVASIZE'd (8K) buffers. */ I cannot believe comments any more and this is clearly error-prone. :-( Can anybody clean this mess up? Thanks, Jung-uk Kim From owner-freebsd-arch@FreeBSD.ORG Mon Aug 4 17:55:29 2003 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D38D437B401; Mon, 4 Aug 2003 17:55:29 -0700 (PDT) Received: from wantadilla.lemis.com (wantadilla.lemis.com [192.109.197.80]) by mx1.FreeBSD.org (Postfix) with ESMTP id E986843FB1; Mon, 4 Aug 2003 17:55:27 -0700 (PDT) (envelope-from grog@lemis.com) Received: by wantadilla.lemis.com (Postfix, from userid 1004) id E3CD1526A1; Tue, 5 Aug 2003 10:25:24 +0930 (CST) Date: Tue, 5 Aug 2003 10:25:24 +0930 From: Greg 'groggy' Lehey To: Poul-Henning Kamp Message-ID: <20030805005524.GS95375@wantadilla.lemis.com> References: <5893.1059721578@critter.freebsd.dk> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="bwzj1gAJAu3Kv4S1" Content-Disposition: inline In-Reply-To: <5893.1059721578@critter.freebsd.dk> User-Agent: Mutt/1.4i Organization: The FreeBSD Project Phone: +61-8-8388-8286 Fax: +61-8-8388-8725 Mobile: +61-418-838-708 WWW-Home-Page: http://www.FreeBSD.org/ X-PGP-Fingerprint: 9A1B 8202 BCCE B846 F92F 09AC 22E6 F290 507A 4223 cc: arch@freebsd.org cc: Robert Watson Subject: Re: headsup: swap_pager.c X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 05 Aug 2003 00:55:30 -0000 --bwzj1gAJAu3Kv4S1 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Friday, 1 August 2003 at 9:06:18 +0200, Poul-Henning Kamp wrote: > In message , Robe > rt Watson writes: >> >> On Thu, 31 Jul 2003, Poul-Henning Kamp wrote: >> >>> I am in the process of changing the on-disk layout policy used by the >>> swap_pager. >> >> Do you anticipate any performance changes as a result of this change? > > Anticipate ? No. > Be surprised by improvements ? No. > > The striping code limits the I/O size for paging activity to a small > size. By laying out each disk sequentially in the "swap device" we > can increase that size to what our I/O system can lift. I'd expect a significant improvement. In our environment, throughput is almost linearly related to request size, so anything to increase the transfer size should improve the situation. Greg -- See complete headers for address and phone numbers --bwzj1gAJAu3Kv4S1 Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.0 (FreeBSD) iD8DBQE/LwB8IubykFB6QiMRAu7zAKCQUYSG3oykG3OSzxgqNCd0MJwMRQCgl3zF c8S+h2Dw2BAcDbGz0XIj/Eg= =l0nw -----END PGP SIGNATURE----- --bwzj1gAJAu3Kv4S1--