From owner-p4-projects@FreeBSD.ORG Fri Mar 12 22:25:27 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6E52416A4D0; Fri, 12 Mar 2004 22:25:27 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 46FB416A4CE for ; Fri, 12 Mar 2004 22:25:27 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 358BE43D45 for ; Fri, 12 Mar 2004 22:25:27 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i2D6PQGe026140 for ; Fri, 12 Mar 2004 22:25:26 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i2D6PQE2026130 for perforce@freebsd.org; Fri, 12 Mar 2004 22:25:26 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Fri, 12 Mar 2004 22:25:26 -0800 (PST) Message-Id: <200403130625.i2D6PQE2026130@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 48870 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 13 Mar 2004 06:25:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=48870 Change 48870 by rwatson@rwatson_paprika on 2004/03/12 22:24:28 Integrate netperf_socket from FreeBSD CVS HEAD: - Someone added punctuation to NOTES. - Loop back of comments that poll() and kern_select() exert Giant painfully. - bde makes core dumping fast(er). - if_withname() removed; no empty ifnet renames. - Loop back constify iso88025_broadcastaddr, atmulticastaddr, aarp_org_code. - Loop back remove tap_unit, tun_unit. Affected files ... .. //depot/projects/netperf_socket/sys/i386/conf/NOTES#8 integrate .. //depot/projects/netperf_socket/sys/kern/sys_generic.c#3 integrate .. //depot/projects/netperf_socket/sys/kern/vfs_vnops.c#2 integrate .. //depot/projects/netperf_socket/sys/net/if.c#3 integrate .. //depot/projects/netperf_socket/sys/net/if_iso88025subr.c#2 integrate .. //depot/projects/netperf_socket/sys/net/if_tapvar.h#3 integrate .. //depot/projects/netperf_socket/sys/net/if_tun.c#4 integrate .. //depot/projects/netperf_socket/sys/net/if_var.h#3 integrate .. //depot/projects/netperf_socket/sys/netatalk/aarp.c#2 integrate Differences ... ==== //depot/projects/netperf_socket/sys/i386/conf/NOTES#8 (text+ko) ==== @@ -4,7 +4,7 @@ # This file contains machine dependent kernel configuration notes. For # machine independent notes, look in /sys/conf/NOTES. # -# $FreeBSD: src/sys/i386/conf/NOTES,v 1.1134 2004/03/06 06:54:54 scottl Exp $ +# $FreeBSD: src/sys/i386/conf/NOTES,v 1.1136 2004/03/13 00:56:11 bde Exp $ # # @@ -15,7 +15,7 @@ machine i386 # -# We want LINT to cover profiling as well +# We want LINT to cover profiling as well. profile 2 @@ -95,20 +95,20 @@ # CPU_DIRECT_MAPPED_CACHE sets L1 cache of Cyrix 486DLC CPU in direct # mapped mode. Default is 2-way set associative mode. # -# CPU_DISABLE_5X86_LSSER disables load store serialize (i.e. enables +# CPU_DISABLE_5X86_LSSER disables load store serialize (i.e., enables # reorder). This option should not be used if you use memory mapped # I/O device(s). # # CPU_DISABLE_CMPXCHG disables the CMPXCHG instruction on > i386 IA32 # machines. VmWare seems to emulate this instruction poorly, causing -# the guest OS to run very slowly. Enabling this with a SMP kernel +# the guest OS to run very slowly. Enabling this with an SMP kernel # will cause the kernel to be unusable. # -# CPU_DISABLE_SSE explicitly prevent I686_CPU from turning on SSE. +# CPU_DISABLE_SSE explicitly prevents I686_CPU from turning on SSE. # # CPU_ELAN enables support for AMDs ElanSC520 CPU. # CPU_ELAN_PPS enables precision timestamp code. -# CPU_ELAN_XTAL sets the clock crystal frequency in Hz +# CPU_ELAN_XTAL sets the clock crystal frequency in Hz. # # CPU_ENABLE_LONGRUN enables support for Transmeta Crusoe LongRun # technology which allows to restrict power consumption of the CPU by @@ -119,7 +119,7 @@ # # CPU_ENABLE_TCC enables Thermal Control Circuitry (TCC) found in some # Pentium(tm) 4 and (possibly) later CPUs. When enabled and detected, -# TCC allows to restrict power consumption by using group of hw.p4tcc.* +# TCC supports restricting power consumption using the hw.p4tcc.* # sysctls. This operates independently of SpeedStep and is useful on # systems where other mechanisms such as apm(4) or acpi(4) don't work. # @@ -495,10 +495,11 @@ # ar: Arnet SYNC/570i hdlc sync 2/4 port V.35/X.21 serial driver # (requires sppp) # ath: Atheros a/b/g WiFi adapters (requires ath_hal and wlan) -# ctau: Cronyx/Tau sync dual port V.35/RS-232/RS-530/RS-449/X.21/G.703/E1 serial -# adapter (requires sppp or NETGRAPH, depends on NETGRAPH_CRONYX option) -# cx: Cronyx/Sigma multiport sync/async adapter (requires sppp or NETGRAPH; -# NETGRAPH support depends on NETGRAPH_CRONYX option) +# ctau: Cronyx/Tau sync dual port V.35/RS-232/RS-530/RS-449/X.21/G.703/E1 +# serial adaptor (requires sppp (default), or NETGRAPH if +# NETGRAPH_CRONYX is configured) +# cx: Cronyx/Sigma multiport sync/async adapter (requires sppp (default), +# or NETGRAPH if NETGRAPH_CRONYX is configured) # ed: Western Digital and SMC 80xx; Novell NE1000 and NE2000; 3Com 3C503 # HP PC Lan+, various PC Card devices (refer to etc/defaults/pccard.conf) # (requires miibus) @@ -637,7 +638,7 @@ # cy: Cyclades serial driver # digi: Digiboard driver # gp: National Instruments AT-GPIB and AT-GPIB/TNT board, PCMCIA-GPIB -# asc: GI1904-based hand scanners, e.g. the Trust Amiscan Grey +# asc: GI1904-based hand scanners, e.g., the Trust Amiscan Grey # gsc: Genius GS-4500 hand scanner. # spic: Sony Programmable I/O controller (VAIO notebooks) # stl: Stallion EasyIO and EasyConnection 8/32 (cd1400 based) ==== //depot/projects/netperf_socket/sys/kern/sys_generic.c#3 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/sys_generic.c,v 1.129 2004/02/27 18:52:43 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/sys_generic.c,v 1.130 2004/03/13 05:58:57 rwatson Exp $"); #include "opt_ktrace.h" @@ -746,6 +746,10 @@ if (nd < 0) return (EINVAL); fdp = td->td_proc->p_fd; + /* + * XXX: kern_select() currently requires that we acquire Giant + * even if none of the file descriptors we poll requires Giant. + */ mtx_lock(&Giant); FILEDESC_LOCK(fdp); @@ -954,6 +958,10 @@ nfds = uap->nfds; + /* + * XXX: poll() currently requires that we acquire Giant even if + * none of the file descriptors we poll requires Giant. + */ mtx_lock(&Giant); /* * This is kinda bogus. We have fd limits, but that is not ==== //depot/projects/netperf_socket/sys/kern/vfs_vnops.c#2 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/vfs_vnops.c,v 1.196 2003/12/28 09:12:56 bde Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/vfs_vnops.c,v 1.197 2004/03/13 02:56:27 bde Exp $"); #include "opt_mac.h" @@ -476,8 +476,18 @@ int error = 0; do { - int chunk = (len > MAXBSIZE) ? MAXBSIZE : len; + int chunk; + + /* + * Force `offset' to a multiple of MAXBSIZE except possibly + * for the first chunk, so that filesystems only need to + * write full blocks except possibly for the first and last + * chunks. + */ + chunk = MAXBSIZE - (uoff_t)offset % MAXBSIZE; + if (chunk > len) + chunk = len; if (rw != UIO_READ && vp->v_type == VREG) bwillwrite(); error = vn_rdwr(rw, vp, base, chunk, offset, segflg, ==== //depot/projects/netperf_socket/sys/net/if.c#3 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)if.c 8.5 (Berkeley) 1/9/95 - * $FreeBSD: src/sys/net/if.c,v 1.183 2004/02/26 04:27:54 mlaier Exp $ + * $FreeBSD: src/sys/net/if.c,v 1.185 2004/03/13 02:35:03 brooks Exp $ */ #include "opt_compat.h" @@ -1247,32 +1247,6 @@ } /* - * Map interface name in a sockaddr_dl to - * interface structure pointer. - */ -struct ifnet * -if_withname(struct sockaddr *sa) -{ - char ifname[IFNAMSIZ+1]; - struct sockaddr_dl *sdl = (struct sockaddr_dl *)sa; - - if ( (sa->sa_family != AF_LINK) || (sdl->sdl_nlen == 0) || - (sdl->sdl_nlen > IFNAMSIZ) ) - return NULL; - - /* - * ifunit wants a NUL-terminated string. It may not be NUL-terminated - * in the sockaddr, and we don't want to change the caller's sockaddr - * (there might not be room to add the trailing NUL anyway), so we make - * a local copy that we know we can NUL-terminate safely. - */ - - bcopy(sdl->sdl_data, ifname, sdl->sdl_nlen); - ifname[sdl->sdl_nlen] = '\0'; - return ifunit(ifname); -} - -/* * Hardware specific interface ioctls. */ static int @@ -1374,11 +1348,13 @@ case SIOCSIFNAME: error = suser(td); - if (error) + if (error != 0) return (error); error = copyinstr(ifr->ifr_data, new_name, IFNAMSIZ, NULL); - if (error) + if (error != 0) return (error); + if (new_name[0] == '\0') + return (EINVAL); if (ifunit(new_name) != NULL) return (EEXIST); ==== //depot/projects/netperf_socket/sys/net/if_iso88025subr.c#2 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/net/if_iso88025subr.c,v 1.58 2003/11/14 21:02:22 andre Exp $ + * $FreeBSD: src/sys/net/if_iso88025subr.c,v 1.59 2004/03/13 05:46:26 rwatson Exp $ * */ @@ -79,7 +79,7 @@ #include #endif -static u_char iso88025_broadcastaddr[ISO88025_ADDR_LEN] = +static const u_char iso88025_broadcastaddr[ISO88025_ADDR_LEN] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }; static int iso88025_resolvemulti (struct ifnet *, struct sockaddr **, @@ -498,8 +498,8 @@ * Set mbuf flags for bcast/mcast. */ if (th->iso88025_dhost[0] & 1) { - if (bcmp((caddr_t)iso88025_broadcastaddr, - (caddr_t)th->iso88025_dhost, ISO88025_ADDR_LEN) == 0) + if (bcmp(iso88025_broadcastaddr, th->iso88025_dhost, + ISO88025_ADDR_LEN) == 0) m->m_flags |= M_BCAST; else m->m_flags |= M_MCAST; ==== //depot/projects/netperf_socket/sys/net/if_tapvar.h#3 (text+ko) ==== @@ -34,7 +34,7 @@ */ /* - * $FreeBSD: src/sys/net/if_tapvar.h,v 1.5 2004/02/21 20:29:52 phk Exp $ + * $FreeBSD: src/sys/net/if_tapvar.h,v 1.6 2004/03/13 05:51:06 rwatson Exp $ * $Id: if_tapvar.h,v 0.6 2000/07/11 02:16:08 max Exp $ */ @@ -44,8 +44,6 @@ struct tap_softc { struct arpcom arpcom; /* ethernet common data */ #define tap_if arpcom.ac_if - struct resource *tap_unit; /* unit */ - u_short tap_flags; /* misc flags */ #define TAP_OPEN (1 << 0) #define TAP_INITED (1 << 1) ==== //depot/projects/netperf_socket/sys/net/if_tun.c#4 (text+ko) ==== @@ -13,7 +13,7 @@ * UCL. This driver is based much more on read/write/poll mode of * operation though. * - * $FreeBSD: src/sys/net/if_tun.c,v 1.135 2004/03/11 12:58:55 phk Exp $ + * $FreeBSD: src/sys/net/if_tun.c,v 1.136 2004/03/13 05:51:06 rwatson Exp $ */ #include "opt_atalk.h" @@ -57,7 +57,6 @@ struct tun_softc { TAILQ_ENTRY(tun_softc) tun_list; - int tun_unit; dev_t tun_dev; u_short tun_flags; /* misc flags */ #define TUN_OPEN 0x0001 ==== //depot/projects/netperf_socket/sys/net/if_var.h#3 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * From: @(#)if.h 8.1 (Berkeley) 6/10/93 - * $FreeBSD: src/sys/net/if_var.h,v 1.64 2004/02/26 04:27:54 mlaier Exp $ + * $FreeBSD: src/sys/net/if_var.h,v 1.65 2004/03/13 02:31:40 brooks Exp $ */ #ifndef _NET_IF_VAR_H_ @@ -477,7 +477,6 @@ int ifioctl(struct socket *, u_long, caddr_t, struct thread *); int ifpromisc(struct ifnet *, int); struct ifnet *ifunit(const char *); -struct ifnet *if_withname(struct sockaddr *); int if_poll_recv_slow(struct ifnet *ifp, int *quotap); void if_poll_xmit_slow(struct ifnet *ifp, int *quotap); ==== //depot/projects/netperf_socket/sys/netatalk/aarp.c#2 (text+ko) ==== @@ -2,7 +2,7 @@ * Copyright (c) 1990,1991 Regents of The University of Michigan. * All Rights Reserved. * - * $FreeBSD: src/sys/netatalk/aarp.c,v 1.24 2003/11/08 22:28:39 sam Exp $ + * $FreeBSD: src/sys/netatalk/aarp.c,v 1.25 2004/03/13 05:27:17 rwatson Exp $ */ #include "opt_atalk.h" @@ -58,14 +58,17 @@ extern u_char etherbroadcastaddr[6]; # endif /* __FreeBSD__ */ -static u_char atmulticastaddr[ 6 ] = { +static const u_char atmulticastaddr[ 6 ] = { 0x09, 0x00, 0x07, 0xff, 0xff, 0xff, }; +/* + * Not used? + */ u_char at_org_code[ 3 ] = { 0x08, 0x00, 0x07, }; -u_char aarp_org_code[ 3 ] = { +const u_char aarp_org_code[ 3 ] = { 0x00, 0x00, 0x00, }; @@ -163,8 +166,7 @@ eh = (struct ether_header *)sa.sa_data; if ( aa->aa_flags & AFA_PHASE2 ) { - bcopy((caddr_t)atmulticastaddr, (caddr_t)eh->ether_dhost, - sizeof( eh->ether_dhost )); + bcopy(atmulticastaddr, eh->ether_dhost, sizeof( eh->ether_dhost )); eh->ether_type = htons(sizeof(struct llc) + sizeof(struct ether_aarp)); M_PREPEND( m, sizeof( struct llc ), M_TRYWAIT ); if ( m == NULL ) { @@ -173,7 +175,7 @@ llc = mtod( m, struct llc *); llc->llc_dsap = llc->llc_ssap = LLC_SNAP_LSAP; llc->llc_control = LLC_UI; - bcopy( aarp_org_code, llc->llc_org_code, sizeof( aarp_org_code )); + bcopy(aarp_org_code, llc->llc_org_code, sizeof(aarp_org_code)); llc->llc_ether_type = htons( ETHERTYPE_AARP ); bcopy( &AA_SAT( aa )->sat_addr.s_net, ea->aarp_spnet, @@ -221,8 +223,7 @@ return( 0 ); } if ( aa->aa_flags & AFA_PHASE2 ) { - bcopy( (caddr_t)atmulticastaddr, (caddr_t)desten, - sizeof( atmulticastaddr )); + bcopy(atmulticastaddr, (caddr_t)desten, sizeof(atmulticastaddr)); } else { bcopy( ac->ac_if.if_broadcastaddr, (caddr_t)desten, sizeof( ac->ac_if.if_addrlen )); @@ -581,8 +582,7 @@ eh = (struct ether_header *)sa.sa_data; if ( aa->aa_flags & AFA_PHASE2 ) { - bcopy((caddr_t)atmulticastaddr, (caddr_t)eh->ether_dhost, - sizeof( eh->ether_dhost )); + bcopy(atmulticastaddr, eh->ether_dhost, sizeof( eh->ether_dhost )); eh->ether_type = htons( sizeof( struct llc ) + sizeof( struct ether_aarp )); M_PREPEND( m, sizeof( struct llc ), M_TRYWAIT );