svn commit: r223173 - head/usr.bin/kdump
Author: netchild Date: Fri Jun 17 06:12:28 2011 New Revision: 223173 URL: http://svn.freebsd.org/changeset/base/223173 Log: Add 2-clause BSD license. Approved by: David Kirchner d...@dpk.net (initial author) Requested by: Otto Moerbeek o...@drijf.net MFC after:1 week Modified: head/usr.bin/kdump/mksubr Modified: head/usr.bin/kdump/mksubr == --- head/usr.bin/kdump/mksubr Fri Jun 17 05:55:41 2011(r223172) +++ head/usr.bin/kdump/mksubr Fri Jun 17 06:12:28 2011(r223173) @@ -1,5 +1,28 @@ #!/bin/sh # +# Copyright (c) 2006 David Kirchner d...@dpk.net. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +#notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +#notice, this list of conditions and the following disclaimer in the +#documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# # $FreeBSD$ # # Generates kdump_subr.c ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r223178 - head/lib/libc/net
Author: tuexen Date: Fri Jun 17 07:03:42 2011 New Revision: 223178 URL: http://svn.freebsd.org/changeset/base/223178 Log: Update the list of supported socket options for sctp_opt_info(). MFC after: 1 month. Modified: head/lib/libc/net/sctp_sys_calls.c Modified: head/lib/libc/net/sctp_sys_calls.c == --- head/lib/libc/net/sctp_sys_calls.c Fri Jun 17 06:59:49 2011 (r223177) +++ head/lib/libc/net/sctp_sys_calls.c Fri Jun 17 07:03:42 2011 (r223178) @@ -365,9 +365,6 @@ sctp_opt_info(int sd, sctp_assoc_t id, i case SCTP_DEFAULT_SEND_PARAM: ((struct sctp_assocparams *)arg)-sasoc_assoc_id = id; break; - case SCTP_SET_PEER_PRIMARY_ADDR: - ((struct sctp_setpeerprim *)arg)-sspp_assoc_id = id; - break; case SCTP_PRIMARY_ADDR: ((struct sctp_setprim *)arg)-ssp_assoc_id = id; break; @@ -407,6 +404,12 @@ sctp_opt_info(int sd, sctp_assoc_t id, i case SCTP_EVENT: ((struct sctp_event *)arg)-se_assoc_id = id; break; + case SCTP_DEFAULT_SNDINFO: + ((struct sctp_sndinfo *)arg)-snd_assoc_id = id; + break; + case SCTP_DEFAULT_PRINFO: + ((struct sctp_default_prinfo *)arg)-pr_assoc_id = id; + break; default: break; } ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r223180 - head/lib/libc/net
Author: tuexen Date: Fri Jun 17 07:06:42 2011 New Revision: 223180 URL: http://svn.freebsd.org/changeset/base/223180 Log: Add SCTP_MAX_BURST support to sctp_opt_info(). This only applies to 9.0 and higher, since the type of the values has changed since we introduced it. So it can't be MFCed. Modified: head/lib/libc/net/sctp_sys_calls.c Modified: head/lib/libc/net/sctp_sys_calls.c == --- head/lib/libc/net/sctp_sys_calls.c Fri Jun 17 07:05:47 2011 (r223179) +++ head/lib/libc/net/sctp_sys_calls.c Fri Jun 17 07:06:42 2011 (r223180) @@ -410,6 +410,9 @@ sctp_opt_info(int sd, sctp_assoc_t id, i case SCTP_DEFAULT_PRINFO: ((struct sctp_default_prinfo *)arg)-pr_assoc_id = id; break; + case SCTP_MAX_BURST: + ((struct sctp_assoc_value *)arg)-assoc_id = id; + break; default: break; } ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r223181 - head/sbin/hastd
Author: trociny Date: Fri Jun 17 07:07:26 2011 New Revision: 223181 URL: http://svn.freebsd.org/changeset/base/223181 Log: In HAST we use two sockets - one for only sending the data and one for only receiving the data. In r220271 the unused directions were disabled using shutdown(2). Unfortunately, this broke automatic receive buffer sizing, which currently works only for connections in ETASBLISHED state. It was a root cause of the issue reported by users, when connection between primary and secondary could get stuck. Disable the code introduced in r220271 until the issue with automatic buffer sizing is not resolved. Reported by: Daniel Kalchev dan...@digsys.bg, danger, sobomax Tested by:Daniel Kalchev dan...@digsys.bg, danger Approved by: pjd (mentor) MFC after:1 week Modified: head/sbin/hastd/primary.c head/sbin/hastd/secondary.c Modified: head/sbin/hastd/primary.c == --- head/sbin/hastd/primary.c Fri Jun 17 07:06:42 2011(r223180) +++ head/sbin/hastd/primary.c Fri Jun 17 07:07:26 2011(r223181) @@ -726,11 +726,13 @@ init_remote(struct hast_resource *res, s (void)hast_activemap_flush(res); } nv_free(nvin); +#ifdef notyet /* Setup directions. */ if (proto_send(out, NULL, 0) == -1) pjdlog_errno(LOG_WARNING, Unable to set connection direction); if (proto_recv(in, NULL, 0) == -1) pjdlog_errno(LOG_WARNING, Unable to set connection direction); +#endif pjdlog_info(Connected to %s., res-hr_remoteaddr); if (inp != NULL outp != NULL) { *inp = in; Modified: head/sbin/hastd/secondary.c == --- head/sbin/hastd/secondary.c Fri Jun 17 07:06:42 2011(r223180) +++ head/sbin/hastd/secondary.c Fri Jun 17 07:07:26 2011(r223181) @@ -183,9 +183,11 @@ init_remote(struct hast_resource *res, s unsigned char *map; size_t mapsize; +#ifdef notyet /* Setup direction. */ if (proto_send(res-hr_remoteout, NULL, 0) == -1) pjdlog_errno(LOG_WARNING, Unable to set connection direction); +#endif map = NULL; mapsize = 0; @@ -351,9 +353,11 @@ init_remote(struct hast_resource *res, s if (map != NULL) free(map); nv_free(nvout); +#ifdef notyet /* Setup direction. */ if (proto_recv(res-hr_remotein, NULL, 0) == -1) pjdlog_errno(LOG_WARNING, Unable to set connection direction); +#endif if (res-hr_secondary_localcnt res-hr_primary_remotecnt res-hr_primary_localcnt res-hr_secondary_remotecnt) { /* Exit on split-brain. */ ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r223182 - head/sys/compat/linprocfs
Author: pluknet Date: Fri Jun 17 07:30:56 2011 New Revision: 223182 URL: http://svn.freebsd.org/changeset/base/223182 Log: Return empty cmdline/environ string for processes with kernel address space. This is consistent with the behavior in linux. PR: kern/157871 Reported by: Petr Salinger Petr Salinger att seznam cz Verified on: GNU/kFreeBSD debian 8.2-1-amd64 (by reporter) Reviewed by: kib (some time ago) MFC after:2 weeks Modified: head/sys/compat/linprocfs/linprocfs.c Modified: head/sys/compat/linprocfs/linprocfs.c == --- head/sys/compat/linprocfs/linprocfs.c Fri Jun 17 07:07:26 2011 (r223181) +++ head/sys/compat/linprocfs/linprocfs.c Fri Jun 17 07:30:56 2011 (r223182) @@ -1049,6 +1049,15 @@ linprocfs_doproccmdline(PFS_FILL_ARGS) PROC_UNLOCK(p); return (ret); } + + /* +* Mimic linux behavior and pass only processes with usermode +* address space as valid. Return zero silently otherwize. +*/ + if (p-p_vmspace == vmspace0) { + PROC_UNLOCK(p); + return (0); + } if (p-p_args != NULL) { sbuf_bcpy(sb, p-p_args-ar_args, p-p_args-ar_length); PROC_UNLOCK(p); @@ -1073,6 +1082,15 @@ linprocfs_doprocenviron(PFS_FILL_ARGS) PROC_UNLOCK(p); return (ret); } + + /* +* Mimic linux behavior and pass only processes with usermode +* address space as valid. Return zero silently otherwize. +*/ + if (p-p_vmspace == vmspace0) { + PROC_UNLOCK(p); + return (0); + } PROC_UNLOCK(p); ret = linprocfs_doargv(td, p, sb, ps_string_env); ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r223183 - in head: bin/sh tools/regression/bin/sh/builtins
Author: jilles Date: Fri Jun 17 10:21:24 2011 New Revision: 223183 URL: http://svn.freebsd.org/changeset/base/223183 Log: sh: Skip variables with invalid names in set, export -p, readonly -p. This ensures the output of these commands is valid shell input. Added: head/tools/regression/bin/sh/builtins/export1.0 (contents, props changed) head/tools/regression/bin/sh/builtins/set2.0 (contents, props changed) Modified: head/bin/sh/var.c Modified: head/bin/sh/var.c == --- head/bin/sh/var.c Fri Jun 17 07:30:56 2011(r223182) +++ head/bin/sh/var.c Fri Jun 17 10:21:24 2011(r223183) @@ -612,6 +612,12 @@ showvarscmd(int argc __unused, char **ar qsort(vars, n, sizeof(*vars), var_compare); for (i = 0; i n; i++) { + /* +* Skip improper variable names so the output remains usable as +* shell input. +*/ + if (!isassignment(vars[i])) + continue; s = strchr(vars[i], '='); s++; outbin(vars[i], s - vars[i], out1); @@ -683,6 +689,13 @@ exportcmd(int argc, char **argv) for (vp = *vpp ; vp ; vp = vp-next) { if (vp-flags flag) { if (values) { + /* +* Skip improper variable names +* so the output remains usable +* as shell input. +*/ + if (!isassignment(vp-text)) + continue; out1str(cmdname); out1c(' '); } Added: head/tools/regression/bin/sh/builtins/export1.0 == --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/tools/regression/bin/sh/builtins/export1.0 Fri Jun 17 10:21:24 2011(r223183) @@ -0,0 +1,3 @@ +# $FreeBSD$ + +env @badness=1 ${SH} -c 'v=`export -p`; eval $v' Added: head/tools/regression/bin/sh/builtins/set2.0 == --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/tools/regression/bin/sh/builtins/set2.0Fri Jun 17 10:21:24 2011(r223183) @@ -0,0 +1,3 @@ +# $FreeBSD$ + +! env @badness=1 ${SH} -c 'v=`set`; eval $v' 21 | grep @badness ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r223185 - head/sbin/ipfw
Author: glebius Date: Fri Jun 17 12:12:52 2011 New Revision: 223185 URL: http://svn.freebsd.org/changeset/base/223185 Log: - Fix my braino in the 220835, when I used strtok(). It isn't applicable here, since modifies the string. Switch to strchr(). - Restore support for undocumented optional parameters of redir_port and redir_proto, that were disabled in 220835. - While here, change !isalpha() checks on optinal parameters for isdigit(). Submitted by: Alexander V. Chernikov melifaro ipfw.ru PR: kern/143653 Modified: head/sbin/ipfw/nat.c Modified: head/sbin/ipfw/nat.c == --- head/sbin/ipfw/nat.cFri Jun 17 11:13:37 2011(r223184) +++ head/sbin/ipfw/nat.cFri Jun 17 12:12:52 2011(r223185) @@ -315,14 +315,19 @@ static int estimate_redir_addr(int *ac, char ***av) { size_t space = sizeof(struct cfg_redir); - char *sep; + char *sep = **av; + u_int c = 0; - if ((sep = strtok(**av, ,)) != NULL) { - space += sizeof(struct cfg_spool); - while ((sep = strtok(NULL, ,)) != NULL) - space += sizeof(struct cfg_spool); + while ((sep = strchr(sep, ',')) != NULL) { + c++; + sep++; } + if (c 0) + c++; + + space += c * sizeof(struct cfg_spool); + return (space); } @@ -370,14 +375,19 @@ static int estimate_redir_port(int *ac, char ***av) { size_t space = sizeof(struct cfg_redir); - char *sep; + char *sep = **av; + u_int c = 0; - if ((sep = strtok(**av, ,)) != NULL) { - space += sizeof(struct cfg_spool); - while ((sep = strtok(NULL, ,)) != NULL) - space += sizeof(struct cfg_spool); + while ((sep = strchr(sep, ',')) != NULL) { + c++; + sep++; } + if (c 0) + c++; + + space += c * sizeof(struct cfg_spool); + return (space); } @@ -465,10 +475,10 @@ setup_redir_port(char *buf, int *ac, cha * Extract remote address and optionally port. */ /* -* NB: isalpha(**av) = we've to check that next parameter is really an +* NB: isdigit(**av) = we've to check that next parameter is really an * option for this redirect entry, else stop here processing arg[cv]. */ - if (*ac != 0 !isalpha(***av)) { + if (*ac != 0 isdigit(***av)) { if ((sep = strchr(**av, ':')) != NULL) { if (StrToAddrAndPortRange(**av, r-raddr, protoName, portRange) != 0) @@ -584,7 +594,7 @@ setup_redir_proto(char *buf, int *ac, ch r-raddr.s_addr = INADDR_ANY; } else { /* see above in setup_redir_port() */ - if (!isalpha(***av)) { + if (isdigit(***av)) { StrToAddr(**av, r-paddr); (*av)++; (*ac)--; @@ -592,7 +602,7 @@ setup_redir_proto(char *buf, int *ac, ch * Extract optional remote address. */ /* see above in setup_redir_port() */ - if (*ac != 0 !isalpha(***av)) { + if (*ac != 0 isdigit(***av)) { StrToAddr(**av, r-raddr); (*av)++; (*ac)--; } @@ -774,6 +784,9 @@ ipfw_config_nat(int ac, char **av) av1++; ac1--; len += estimate_redir_port(ac1, av1); av1 += 2; ac1 -= 2; + /* Skip optional remoteIP/port */ + if (ac1 != 0 isdigit(**av1)) + av1++; ac1--; break; case TOK_REDIR_PROTO: if (ac1 2) @@ -781,6 +794,11 @@ ipfw_config_nat(int ac, char **av) not enough arguments); len += sizeof(struct cfg_redir); av1 += 2; ac1 -= 2; + /* Skip optional remoteIP/port */ + if (ac1 != 0 isdigit(**av1)) + av1++; ac1--; + if (ac1 != 0 isdigit(**av1)) + av1++; ac1--; break; default: errx(EX_DATAERR, unrecognised option ``%s'', av1[-1]); ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r223186 - in head: bin/sh tools/regression/bin/sh/builtins
Author: jilles Date: Fri Jun 17 13:03:49 2011 New Revision: 223186 URL: http://svn.freebsd.org/changeset/base/223186 Log: sh: Add case statement fallthrough (with ';' instead of ';;'). Replacing ;; with the new control operator ; will cause the next list to be executed as well without checking its pattern, continuing until a list ends with ;; or until the end of the case statement. This is like omitting break in a C switch statement. The sequence ; was formerly invalid. This feature is proposed for the next POSIX issue in Austin Group issue #449. Added: head/tools/regression/bin/sh/builtins/case9.0 (contents, props changed) Modified: head/bin/sh/eval.c head/bin/sh/mktokens head/bin/sh/nodetypes head/bin/sh/parser.c head/bin/sh/sh.1 Modified: head/bin/sh/eval.c == --- head/bin/sh/eval.c Fri Jun 17 12:12:52 2011(r223185) +++ head/bin/sh/eval.c Fri Jun 17 13:03:49 2011(r223186) @@ -386,6 +386,14 @@ evalcase(union node *n, int flags) for (cp = n-ncase.cases ; cp evalskip == 0 ; cp = cp-nclist.next) { for (patp = cp-nclist.pattern ; patp ; patp = patp-narg.next) { if (casematch(patp, arglist.list-text)) { + while (cp-nclist.next + cp-type == NCLISTFALLTHRU) { + if (evalskip != 0) + break; + evaltree(cp-nclist.body, + flags ~EV_EXIT); + cp = cp-nclist.next; + } if (evalskip == 0) { evaltree(cp-nclist.body, flags); } Modified: head/bin/sh/mktokens == --- head/bin/sh/mktokensFri Jun 17 12:12:52 2011(r223185) +++ head/bin/sh/mktokensFri Jun 17 13:03:49 2011(r223186) @@ -50,6 +50,7 @@ TPIPE 0 | TLP0 ( TRP1 ) TENDCASE 1 ;; +TFALLTHRU 1; TREDIR 0 redirection TWORD 0 word TIF0 if Modified: head/bin/sh/nodetypes == --- head/bin/sh/nodetypes Fri Jun 17 12:12:52 2011(r223185) +++ head/bin/sh/nodetypes Fri Jun 17 13:03:49 2011(r223186) @@ -96,12 +96,13 @@ NCASE ncase # a case statement expr nodeptr # the word to switch on cases nodeptr # the list of cases (NCLIST nodes) -NCLIST nclist # a case +NCLIST nclist # a case ending with ;; type int next nodeptr # the next case in list pattern nodeptr # list of patterns for this case body nodeptr # code to execute for this case +NCLISTFALLTHRU nclist # a case ending with ; NDEFUN narg# define a function. The next field contains # the body of the function. Modified: head/bin/sh/parser.c == --- head/bin/sh/parser.cFri Jun 17 12:12:52 2011(r223185) +++ head/bin/sh/parser.cFri Jun 17 13:03:49 2011(r223186) @@ -542,10 +542,13 @@ TRACE((expecting DO got %s %s\n, tokna checkkwd = CHKNL | CHKKWD | CHKALIAS; if ((t = readtoken()) != TESAC) { - if (t != TENDCASE) - synexpect(TENDCASE); + if (t == TENDCASE) + ; + else if (t == TFALLTHRU) + cp-type = NCLISTFALLTHRU; else - checkkwd = CHKNL | CHKKWD, readtoken(); + synexpect(TENDCASE); + checkkwd = CHKNL | CHKKWD, readtoken(); } cpp = cp-nclist.next; } @@ -931,8 +934,11 @@ xxreadtoken(void) pungetc(); RETURN(TPIPE); case ';': - if (pgetc() == ';') + c = pgetc(); + if (c == ';') RETURN(TENDCASE); + else if (c == '') + RETURN(TFALLTHRU); pungetc(); RETURN(TSEMI); case '(': Modified: head/bin/sh/sh.1
svn commit: r223197 - head/usr.sbin/fdread
Author: joerg Date: Fri Jun 17 18:56:51 2011 New Revision: 223197 URL: http://svn.freebsd.org/changeset/base/223197 Log: Open the floppy disk device with O_RDONLY rather than O_RDWR. After all, this is the fd*read* command, and thus should be able to read even write-protected disks. MFC after:1 week Modified: head/usr.sbin/fdread/fdread.c Modified: head/usr.sbin/fdread/fdread.c == --- head/usr.sbin/fdread/fdread.c Fri Jun 17 18:49:59 2011 (r223196) +++ head/usr.sbin/fdread/fdread.c Fri Jun 17 18:56:51 2011 (r223197) @@ -149,7 +149,7 @@ main(int argc, char **argv) err(EX_OSERR, cannot create output file %s, fname); } - if ((fd = open(_devname, O_RDWR)) == -1) + if ((fd = open(_devname, O_RDONLY)) == -1) err(EX_OSERR, cannot open device %s, _devname); return (numids? doreadid(fd, numids, trackno): doread(fd, of, _devname)); ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
Re: svn commit: r223197 - head/usr.sbin/fdread
On Fri Jun 17 11, Joerg Wunsch wrote: Author: joerg Date: Fri Jun 17 18:56:51 2011 New Revision: 223197 URL: http://svn.freebsd.org/changeset/base/223197 any thoughts about switching the default from WITH_FLOPPY to WITHOUT_FLOPPY? i don't think too many people are using floppy disks nowadays. cheers. alex Log: Open the floppy disk device with O_RDONLY rather than O_RDWR. After all, this is the fd*read* command, and thus should be able to read even write-protected disks. MFC after: 1 week Modified: head/usr.sbin/fdread/fdread.c Modified: head/usr.sbin/fdread/fdread.c == --- head/usr.sbin/fdread/fdread.c Fri Jun 17 18:49:59 2011 (r223196) +++ head/usr.sbin/fdread/fdread.c Fri Jun 17 18:56:51 2011 (r223197) @@ -149,7 +149,7 @@ main(int argc, char **argv) err(EX_OSERR, cannot create output file %s, fname); } - if ((fd = open(_devname, O_RDWR)) == -1) + if ((fd = open(_devname, O_RDONLY)) == -1) err(EX_OSERR, cannot open device %s, _devname); return (numids? doreadid(fd, numids, trackno): doread(fd, of, _devname)); -- a13x ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r223198 - head/sys/dev/e1000
Author: jhb Date: Fri Jun 17 20:06:52 2011 New Revision: 223198 URL: http://svn.freebsd.org/changeset/base/223198 Log: - Use a dedicated task to handle deferred transmits from the if_transmit method instead of reusing the existing per-queue interrupt task. Reusing the per-queue interrupt task could result in both an interrupt thread and the taskqueue thread trying to handle received packets on a single queue resulting in out-of-order packet processing. - Don't define igb_start() at all on 8.0 and where if_transmit is used. Replace last remaining call to igb_start() with a loop to kick off transmit on each queue instead. - Call ether_ifdetach() earlier in igb_detach(). - Drain tasks and free taskqueues during igb_detach(). Reviewed by: jfv MFC after:1 week Modified: head/sys/dev/e1000/if_igb.c head/sys/dev/e1000/if_igb.h Modified: head/sys/dev/e1000/if_igb.c == --- head/sys/dev/e1000/if_igb.c Fri Jun 17 18:56:51 2011(r223197) +++ head/sys/dev/e1000/if_igb.c Fri Jun 17 20:06:52 2011(r223198) @@ -170,13 +170,15 @@ static intigb_detach(device_t); static int igb_shutdown(device_t); static int igb_suspend(device_t); static int igb_resume(device_t); -static voidigb_start(struct ifnet *); -static voidigb_start_locked(struct tx_ring *, struct ifnet *ifp); #if __FreeBSD_version = 80 static int igb_mq_start(struct ifnet *, struct mbuf *); static int igb_mq_start_locked(struct ifnet *, struct tx_ring *, struct mbuf *); static voidigb_qflush(struct ifnet *); +static voidigb_deferred_mq_start(void *, int); +#else +static voidigb_start(struct ifnet *); +static voidigb_start_locked(struct tx_ring *, struct ifnet *ifp); #endif static int igb_ioctl(struct ifnet *, u_long, caddr_t); static voidigb_init(void *); @@ -693,6 +695,8 @@ igb_detach(device_t dev) return (EBUSY); } + ether_ifdetach(adapter-ifp); + if (adapter-led_dev != NULL) led_destroy(adapter-led_dev); @@ -724,8 +728,6 @@ igb_detach(device_t dev) if (adapter-vlan_detach != NULL) EVENTHANDLER_DEREGISTER(vlan_unconfig, adapter-vlan_detach); - ether_ifdetach(adapter-ifp); - callout_drain(adapter-timer); igb_free_pci_resources(adapter); @@ -784,14 +786,27 @@ igb_resume(device_t dev) { struct adapter *adapter = device_get_softc(dev); struct ifnet *ifp = adapter-ifp; +#if __FreeBSD_version = 80 + struct tx_ring *txr = adapter-tx_rings; +#endif IGB_CORE_LOCK(adapter); igb_init_locked(adapter); igb_init_manageability(adapter); if ((ifp-if_flags IFF_UP) - (ifp-if_drv_flags IFF_DRV_RUNNING)) + (ifp-if_drv_flags IFF_DRV_RUNNING)) { +#if __FreeBSD_version 80 igb_start(ifp); +#else + for (int i = 0; i adapter-num_queues; i++, txr++) { + IGB_TX_LOCK(txr); + if (!drbr_empty(ifp, txr-br)) + igb_mq_start_locked(ifp, txr, NULL); + IGB_TX_UNLOCK(txr); + } +#endif + } IGB_CORE_UNLOCK(adapter); @@ -799,6 +814,7 @@ igb_resume(device_t dev) } +#if __FreeBSD_version 80 /* * Transmit entry point * @@ -875,7 +891,7 @@ igb_start(struct ifnet *ifp) return; } -#if __FreeBSD_version = 80 +#else /* __FreeBSD_version = 80 */ /* ** Multiqueue Transmit driver ** @@ -900,7 +916,7 @@ igb_mq_start(struct ifnet *ifp, struct m IGB_TX_UNLOCK(txr); } else { err = drbr_enqueue(ifp, txr-br, m); - taskqueue_enqueue(que-tq, que-que_task); + taskqueue_enqueue(que-tq, txr-txq_task); } return (err); @@ -961,6 +977,22 @@ igb_mq_start_locked(struct ifnet *ifp, s } /* + * Called from a taskqueue to drain queued transmit packets. + */ +static void +igb_deferred_mq_start(void *arg, int pending) +{ + struct tx_ring *txr = arg; + struct adapter *adapter = txr-adapter; + struct ifnet *ifp = adapter-ifp; + + IGB_TX_LOCK(txr); + if (!drbr_empty(ifp, txr-br)) + igb_mq_start_locked(ifp, txr, NULL); + IGB_TX_UNLOCK(txr); +} + +/* ** Flush all ring buffers */ static void @@ -978,7 +1010,7 @@ igb_qflush(struct ifnet *ifp) } if_qflush(ifp); } -#endif /* __FreeBSD_version = 80 */ +#endif /* __FreeBSD_version 80 */ /* * Ioctl entry point @@ -2180,6 +2212,7 @@ igb_allocate_legacy(struct adapter *adap { device_tdev = adapter-dev; struct igb_queue*que =
Re: svn commit: r223198 - head/sys/dev/e1000
On Friday, June 17, 2011 4:06:52 pm John Baldwin wrote: Author: jhb Date: Fri Jun 17 20:06:52 2011 New Revision: 223198 URL: http://svn.freebsd.org/changeset/base/223198 Log: - Use a dedicated task to handle deferred transmits from the if_transmit method instead of reusing the existing per-queue interrupt task. Reusing the per-queue interrupt task could result in both an interrupt thread and the taskqueue thread trying to handle received packets on a single queue resulting in out-of-order packet processing. - Don't define igb_start() at all on 8.0 and where if_transmit is used. Replace last remaining call to igb_start() with a loop to kick off transmit on each queue instead. - Call ether_ifdetach() earlier in igb_detach(). - Drain tasks and free taskqueues during igb_detach(). Reviewed by:jfv MFC after: 1 week Modified: head/sys/dev/e1000/if_igb.c head/sys/dev/e1000/if_igb.h FYI, I ran into a workload where the concurrent reception of packets was breaking TCP. Specifically, the two threads could both attempt to process ACKs for a connection in the syncache. The first thread would win and create a connection, but the second thread had already done a pcb lookup and found the listen socket before waiting for a write lock on the TCP pcbinfo. As a result, the second thread also attempted to create a new connection based on the syncookie. However, it failed in in_pcbconnect_setup() with EADDRINUSE when it found the first connection in the PCB hash. When it failed, it dropped the ACK and sent a RST to the remote end causing the other end to drop the connection silently. Unfortunately, the first thread had created a valid socket which was returned to userland via accept(). That socket contained all the inflight data sent by the remote end before it received the RST. The net effect was that a user app would see a connection that only sent part of its data and then returned EOF. Note that a truly bidirectional application-level protocol would still break in this case with an EPIPE/SIGPIPE. However, if the remote peer is just opening a socket, dumping some data into it and then closing it without reading any data, it may close the socket before the RST arrives and thus encounter no errors completely unaware that the data it just sent over TCP was partially (or completely) lost. Note that that can still happen when using the syncache since we may fail to create a socket when expanding a syncache entry due to resource exhaustion giving similarly unpleasant failure semantics (i.e. the remote user app doesn't get an error and has no clue that their data is in fact lost). -- John Baldwin ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r223201 - in head: etc/periodic/monthly tools/build/mk tools/build/options usr.sbin
Author: ed Date: Fri Jun 17 20:47:44 2011 New Revision: 223201 URL: http://svn.freebsd.org/changeset/base/223201 Log: Don't omit ac(8) as part of WITHOUT_ACCT. The WITHOUT_ACCT switch is supposed to omit tools related to process accounting, namely accton and sa. ac(8) is just a simple tool that prints statistics based on data in the utx.log database. It has nothing to do with the former. Modified: head/etc/periodic/monthly/Makefile head/tools/build/mk/OptionalObsoleteFiles.inc head/tools/build/options/WITHOUT_ACCT head/usr.sbin/Makefile Modified: head/etc/periodic/monthly/Makefile == --- head/etc/periodic/monthly/Makefile Fri Jun 17 20:19:11 2011 (r223200) +++ head/etc/periodic/monthly/Makefile Fri Jun 17 20:47:44 2011 (r223201) @@ -2,12 +2,7 @@ .include bsd.own.mk -FILES= 999.local - -# NB: keep these sorted by MK_* knobs - -.if ${MK_ACCT} != no -FILES+=200.accounting -.endif +FILES= 200.accounting \ + 999.local .include bsd.prog.mk Modified: head/tools/build/mk/OptionalObsoleteFiles.inc == --- head/tools/build/mk/OptionalObsoleteFiles.inc Fri Jun 17 20:19:11 2011(r223200) +++ head/tools/build/mk/OptionalObsoleteFiles.inc Fri Jun 17 20:47:44 2011(r223201) @@ -8,10 +8,8 @@ .if ${MK_ACCT} == no OLD_FILES+=etc/periodic/daily/310.accounting OLD_FILES+=etc/periodic/monthly/200.accounting -OLD_FILES+=usr/sbin/ac OLD_FILES+=usr/sbin/accton OLD_FILES+=usr/sbin/sa -OLD_FILES+=usr/share/man/man8/ac.8.gz OLD_FILES+=usr/share/man/man8/accton.8.gz OLD_FILES+=usr/share/man/man8/sa.8.gz .endif Modified: head/tools/build/options/WITHOUT_ACCT == --- head/tools/build/options/WITHOUT_ACCT Fri Jun 17 20:19:11 2011 (r223200) +++ head/tools/build/options/WITHOUT_ACCT Fri Jun 17 20:47:44 2011 (r223201) @@ -1,5 +1,5 @@ .\ $FreeBSD$ Set to not build process accounting tools such as -.Xr ac 8 +.Xr accton 8 and -.Xr accton 8 . +.Xr sa 8 . Modified: head/usr.sbin/Makefile == --- head/usr.sbin/Makefile Fri Jun 17 20:19:11 2011(r223200) +++ head/usr.sbin/Makefile Fri Jun 17 20:47:44 2011(r223201) @@ -3,7 +3,8 @@ .include bsd.own.mk -SUBDIR= adduser \ +SUBDIR=ac \ + adduser \ arp \ bootparamd \ burncd \ @@ -99,7 +100,6 @@ SUBDIR= adduser \ # NB: keep these sorted by MK_* knobs .if ${MK_ACCT} != no -SUBDIR+= ac SUBDIR+= accton SUBDIR+= sa .endif ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r223202 - head/share/man/man5
Author: ed Date: Fri Jun 17 20:49:30 2011 New Revision: 223202 URL: http://svn.freebsd.org/changeset/base/223202 Log: Update manpage. Modified: head/share/man/man5/src.conf.5 Modified: head/share/man/man5/src.conf.5 == --- head/share/man/man5/src.conf.5 Fri Jun 17 20:47:44 2011 (r223201) +++ head/share/man/man5/src.conf.5 Fri Jun 17 20:49:30 2011 (r223202) @@ -1,7 +1,7 @@ .\ DO NOT EDIT-- this file is automatically generated. .\ from FreeBSD: head/tools/build/options/makeman 221733 2011-05-10 13:01:11Z ru .\ $FreeBSD$ -.Dd May 22, 2011 +.Dd June 17, 2011 .Dt SRC.CONF 5 .Os .Sh NAME @@ -78,11 +78,11 @@ The following list provides a name and s that can be used for source builds. .Bl -tag -width indent .It Va WITHOUT_ACCT -.\ from FreeBSD: head/tools/build/options/WITHOUT_ACCT 221540 2011-05-06 19:13:03Z ru +.\ from FreeBSD: head/tools/build/options/WITHOUT_ACCT 223201 2011-06-17 20:47:44Z ed Set to not build process accounting tools such as -.Xr ac 8 +.Xr accton 8 and -.Xr accton 8 . +.Xr sa 8 . .It Va WITHOUT_ACPI .\ from FreeBSD: head/tools/build/options/WITHOUT_ACPI 156932 2006-03-21 07:50:50Z ru Set to not build @@ -225,8 +225,8 @@ Set to not build the boot blocks and loa Set to not build the BSD licensed version of cpio based on .Xr libarchive 3 . .It Va WITH_BSD_GREP -.\ from FreeBSD: head/tools/build/options/WITH_BSD_GREP 211701 2010-08-23 10:04:26Z gabor -Build BSD-licensed grep instead of GNU grep. +.\ from FreeBSD: head/tools/build/options/WITH_BSD_GREP 73 2011-05-25 01:04:12Z obrien +Install BSD-licensed grep as '[ef]grep' instead of GNU grep. .It Va WITHOUT_BSNMP .\ from FreeBSD: head/tools/build/options/WITHOUT_BSNMP 183306 2008-09-23 16:15:42Z sam Set to not build or install ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r223206 - head/lib/libc/gen
Author: jilles Date: Fri Jun 17 21:16:27 2011 New Revision: 223206 URL: http://svn.freebsd.org/changeset/base/223206 Log: posix_spawn(3): Document r222511 (trying to close already closed fd). MFC after:1 week Modified: head/lib/libc/gen/posix_spawn.3 Modified: head/lib/libc/gen/posix_spawn.3 == --- head/lib/libc/gen/posix_spawn.3 Fri Jun 17 21:03:21 2011 (r223205) +++ head/lib/libc/gen/posix_spawn.3 Fri Jun 17 21:16:27 2011 (r223206) @@ -34,7 +34,7 @@ .\ .\ $FreeBSD$ .\ -.Dd March 24, 2008 +.Dd June 17, 2011 .Dt POSIX_SPAWN 3 .Os .Sh NAME @@ -384,29 +384,28 @@ the child process exits with exit status .It If the .Fa file_actions -argument is not NULL, and specifies any close, dup2, or open actions to be +argument is not NULL, and specifies any dup2 or open actions to be performed, and if .Fn posix_spawn or .Fn posix_spawnp fails for any of the reasons that would cause -.Fn close , -.Fn dup2 , +.Fn dup2 or .Fn open to fail, an error value is returned as described by -.Fn close , -.Fn dup2 , +.Fn dup2 and .Fn open , respectively (or, if the error occurs after the calling process successfully returns, the child process exits with exit status 127). An open file action may, by itself, result in any of the errors described by -.Fn close -or .Fn dup2 , in addition to those described by .Fn open . +This implementation ignores any errors from +.Fn close , +including trying to close a descriptor that is not open. .El .Sh SEE ALSO .Xr close 2 , @@ -443,7 +442,13 @@ The and .Fn posix_spawnp functions conform to -.St -p1003.1-2001 . +.St -p1003.1-2001 , +except that they ignore all errors from +.Fn close . +A future update of the Standard is expected to require that these functions +not fail because a file descriptor to be closed (via +.Fn posix_spawn_file_actions_addclose ) +is not open. .Sh HISTORY The .Fn posix_spawn ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r223207 - head/sys/dev/acpica
Author: jhb Date: Fri Jun 17 21:19:01 2011 New Revision: 223207 URL: http://svn.freebsd.org/changeset/base/223207 Log: Don't create a device_t object or parse current resources (via _CRS) for ACPI Device() objects that do not have any device IDs available via the _HID or _CID methods. Without a device ID a device driver cannot attach to the device anyway. Namespace objects that are devices but not of type ACPI_TYPE_DEVICE are not affected. A few BIOSes have also attached a _CRS method to a PCI device to allocate resources that are not managed via a BAR. With the previous code those resources are allocated from acpi0 directly which can interfere with the new PCI-PCI bridge driver (since the PCI device in question may be behind a bridge and its resources should be allocated from that bridge's windows instead). The resources were also orphaned and and would end up associated with some other random device whose device_t reused the pointer of the original ACPI-enumerated device (after it was free'd by the ACPI PCI bus driver) in devinfo output which was confusing. If we want to handle _CRS on PCI devices we can adjust the ACPI PCI bus driver to do that in the future and associate the resources with the proper device object respecting PCI-PCI bridges, etc. Note that with this change the ACPI PCI bus driver no longer has to delete ACPI-enumerated device_t devices that mirror PCI devices since they should in general not exist. There are rare cases when a BIOS will give a PCI device a _HID (e.g. I've seen a PCI-ISA bridge given a _HID for a system resource device). In that case we leave both the ACPI and PCI-enumerated device_t objects around just as in the previous code. Modified: head/sys/dev/acpica/acpi.c head/sys/dev/acpica/acpi_pci.c Modified: head/sys/dev/acpica/acpi.c == --- head/sys/dev/acpica/acpi.c Fri Jun 17 21:16:27 2011(r223206) +++ head/sys/dev/acpica/acpi.c Fri Jun 17 21:19:01 2011(r223207) @@ -151,6 +151,7 @@ static ACPI_STATUS acpi_sleep_disable(st static ACPI_STATUS acpi_EnterSleepState(struct acpi_softc *sc, int state); static voidacpi_shutdown_final(void *arg, int howto); static voidacpi_enable_fixed_events(struct acpi_softc *sc); +static BOOLEAN acpi_has_hid(ACPI_HANDLE handle); static int acpi_wake_sleep_prep(ACPI_HANDLE handle, int sstate); static int acpi_wake_run_prep(ACPI_HANDLE handle, int sstate); static int acpi_wake_prep_walk(int sstate); @@ -1855,6 +1856,13 @@ acpi_probe_child(ACPI_HANDLE handle, UIN break; if (acpi_parse_prw(handle, prw) == 0) AcpiSetupGpeForWake(handle, prw.gpe_handle, prw.gpe_bit); + + /* +* Ignore devices that do not have a _HID or _CID. They should +* be discovered by other buses (e.g. the PCI bus driver). +*/ + if (!acpi_has_hid(handle)) + break; /* FALLTHROUGH */ case ACPI_TYPE_PROCESSOR: case ACPI_TYPE_THERMAL: @@ -2043,6 +2051,30 @@ acpi_BatteryIsPresent(device_t dev) } /* + * Returns true if a device has at least one valid device ID. + */ +static BOOLEAN +acpi_has_hid(ACPI_HANDLE h) +{ +ACPI_DEVICE_INFO *devinfo; +BOOLEANret; + +if (h == NULL || + ACPI_FAILURE(AcpiGetObjectInfo(h, devinfo))) + return (FALSE); + +ret = FALSE; +if ((devinfo-Valid ACPI_VALID_HID) != 0) + ret = TRUE; +else if ((devinfo-Valid ACPI_VALID_CID) != 0) + if (devinfo-CompatibleIdList.Count 0) + ret = TRUE; + +AcpiOsFree(devinfo); +return (ret); +} + +/* * Match a HID string against a handle */ BOOLEAN Modified: head/sys/dev/acpica/acpi_pci.c == --- head/sys/dev/acpica/acpi_pci.c Fri Jun 17 21:16:27 2011 (r223206) +++ head/sys/dev/acpica/acpi_pci.c Fri Jun 17 21:19:01 2011 (r223207) @@ -209,38 +209,24 @@ acpi_pci_update_device(ACPI_HANDLE handl device_t child; /* -* Lookup and remove the unused device that acpi0 creates when it walks -* the namespace creating devices. +* Occasionally a PCI device may show up as an ACPI device +* with a _HID. (For example, the TabletPC TC1000 has a +* second PCI-ISA bridge that has a _HID for an +* acpi_sysresource device.) In that case, leave ACPI-CA's +* device data pointing at the ACPI-enumerated device. */ child = acpi_get_device(handle); if (child != NULL) { - if (device_is_alive(child)) { - /* -* The TabletPC TC1000 has a second PCI-ISA bridge -* that has a _HID for an acpi_sysresource device. -* In that case, leave ACPI-CA's
svn commit: r223208 - head/tools/build/mk
Author: ed Date: Fri Jun 17 21:20:41 2011 New Revision: 223208 URL: http://svn.freebsd.org/changeset/base/223208 Log: Don't remove the periodic script for ac(8) when setting WITHOUT_ACCT. Modified: head/tools/build/mk/OptionalObsoleteFiles.inc Modified: head/tools/build/mk/OptionalObsoleteFiles.inc == --- head/tools/build/mk/OptionalObsoleteFiles.inc Fri Jun 17 21:19:01 2011(r223207) +++ head/tools/build/mk/OptionalObsoleteFiles.inc Fri Jun 17 21:20:41 2011(r223208) @@ -7,7 +7,6 @@ .if ${MK_ACCT} == no OLD_FILES+=etc/periodic/daily/310.accounting -OLD_FILES+=etc/periodic/monthly/200.accounting OLD_FILES+=usr/sbin/accton OLD_FILES+=usr/sbin/sa OLD_FILES+=usr/share/man/man8/accton.8.gz ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r223209 - in head: etc/periodic/monthly share/mk tools/build/mk tools/build/options usr.bin usr.sbin
Author: ed Date: Fri Jun 17 21:30:21 2011 New Revision: 223209 URL: http://svn.freebsd.org/changeset/base/223209 Log: Add WITHOUT_UTMPX switch to the build system. This knob removes the tools that are exclusively used to view and maintain the databases maintained by utmpx, namely last, users, who, wtmpcvt, ac, lastlogin and utxrm. The tool w is not in this list, because it has some other functionality which is unrelated to utmpx; it is hardlinked to the uptime tool. Added: head/tools/build/options/WITHOUT_UTMPX (contents, props changed) Modified: head/etc/periodic/monthly/Makefile head/share/mk/bsd.own.mk head/tools/build/mk/OptionalObsoleteFiles.inc head/usr.bin/Makefile head/usr.sbin/Makefile Modified: head/etc/periodic/monthly/Makefile == --- head/etc/periodic/monthly/Makefile Fri Jun 17 21:20:41 2011 (r223208) +++ head/etc/periodic/monthly/Makefile Fri Jun 17 21:30:21 2011 (r223209) @@ -2,7 +2,12 @@ .include bsd.own.mk -FILES= 200.accounting \ - 999.local +FILES= 999.local + +# NB: keep these sorted by MK_* knobs + +.if ${MK_UTMPX} != no +FILES+=200.accounting +.endif .include bsd.prog.mk Modified: head/share/mk/bsd.own.mk == --- head/share/mk/bsd.own.mkFri Jun 17 21:20:41 2011(r223208) +++ head/share/mk/bsd.own.mkFri Jun 17 21:30:21 2011(r223209) @@ -383,6 +383,7 @@ __DEFAULT_YES_OPTIONS = \ TEXTPROC \ TOOLCHAIN \ USB \ +UTMPX \ WIRELESS \ WPA_SUPPLICANT_EAPOL \ ZFS \ Modified: head/tools/build/mk/OptionalObsoleteFiles.inc == --- head/tools/build/mk/OptionalObsoleteFiles.inc Fri Jun 17 21:20:41 2011(r223208) +++ head/tools/build/mk/OptionalObsoleteFiles.inc Fri Jun 17 21:30:21 2011(r223209) @@ -3326,6 +3326,24 @@ OLD_FILES+=usr/share/man/man8/telnetd.8. # to be filled in #.endif +.if ${MK_UTMPX} == no +OLD_FILES+=etc/periodic/monthly/200.accounting +OLD_FILES+=usr/bin/last +OLD_FILES+=usr/bin/users +OLD_FILES+=usr/bin/who +OLD_FILES+=usr/bin/wtmpcvt +OLD_FILES+=usr/sbin/ac +OLD_FILES+=usr/sbin/lastlogin +OLD_FILES+=usr/sbin/utxrm +OLD_FILES+=usr/share/man/man1/last.1.gz +OLD_FILES+=usr/share/man/man1/users.1.gz +OLD_FILES+=usr/share/man/man1/who.1.gz +OLD_FILES+=usr/share/man/man1/wtmpcvt.1.gz +OLD_FILES+=usr/share/man/man8/ac.8.gz +OLD_FILES+=usr/share/man/man8/lastlogin.8.gz +OLD_FILES+=usr/share/man/man8/utxrm.8.gz +.endif + .if ${MK_WIRELESS} == no OLD_FILES+=etc/regdomain.xml OLD_FILES+=usr/sbin/ancontrol Added: head/tools/build/options/WITHOUT_UTMPX == --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/tools/build/options/WITHOUT_UTMPX Fri Jun 17 21:30:21 2011 (r223209) @@ -0,0 +1,10 @@ +.\ $FreeBSD$ +Set to not build user accounting tools such as +.Xr last 1 , +.Xr users 1 , +.Xr who 1 , +.Xr wtmpcvt 1 , +.Xr ac 8 , +.Xr lastlogin 8 +and +.Xr utxrm 8 . Modified: head/usr.bin/Makefile == --- head/usr.bin/Makefile Fri Jun 17 21:20:41 2011(r223208) +++ head/usr.bin/Makefile Fri Jun 17 21:30:21 2011(r223209) @@ -74,7 +74,6 @@ SUBDIR= alias \ ktrace \ ktrdump \ lam \ - last \ lastcomm \ ldd \ leave \ @@ -170,7 +169,6 @@ SUBDIR= alias \ unzip \ units \ unvis \ - users \ uudecode \ uuencode \ vi \ @@ -182,10 +180,8 @@ SUBDIR=alias \ what \ whereis \ which \ - who \ whois \ write \ - wtmpcvt \ xargs \ xinstall \ ${_xlint} \ @@ -338,6 +334,13 @@ SUBDIR+= usbhidaction SUBDIR+= usbhidctl .endif +.if ${MK_UTMPX} != no +SUBDIR+= last +SUBDIR+= users +SUBDIR+= who +SUBDIR+= wtmpcvt +.endif + .include bsd.arch.inc.mk SUBDIR:= ${SUBDIR:O} Modified: head/usr.sbin/Makefile == --- head/usr.sbin/Makefile Fri Jun 17 21:20:41 2011(r223208) +++ head/usr.sbin/Makefile Fri Jun 17 21:30:21 2011(r223209) @@ -3,8 +3,7 @@ .include bsd.own.mk -SUBDIR=ac \ - adduser \ +SUBDIR=adduser \ arp \ bootparamd \ burncd \ @@ -35,7 +34,6 @@ SUBDIR= ac \ inetd \ iostat \ kldxref \ - lastlogin \ mailwrapper \ makefs \ manctl \ @@ -90,7 +88,6 @@ SUBDIR= ac \ trpt \ tzsetup \ ugidfw \ - utxrm \ vipw \ wake \ watch \ @@
svn commit: r223210 - head/share/man/man5
Author: ed Date: Fri Jun 17 21:31:13 2011 New Revision: 223210 URL: http://svn.freebsd.org/changeset/base/223210 Log: Regenerate src.conf.5. Modified: head/share/man/man5/src.conf.5 Modified: head/share/man/man5/src.conf.5 == --- head/share/man/man5/src.conf.5 Fri Jun 17 21:30:21 2011 (r223209) +++ head/share/man/man5/src.conf.5 Fri Jun 17 21:31:13 2011 (r223210) @@ -916,6 +916,17 @@ When set, it also enforces the following .It Va WITHOUT_USB .\ from FreeBSD: head/tools/build/options/WITHOUT_USB 156932 2006-03-21 07:50:50Z ru Set to not build USB-related programs and libraries. +.It Va WITHOUT_UTMPX +.\ from FreeBSD: head/tools/build/options/WITHOUT_UTMPX 223209 2011-06-17 21:30:21Z ed +Set to not build user accounting tools such as +.Xr last 1 , +.Xr users 1 , +.Xr who 1 , +.Xr wtmpcvt 1 , +.Xr ac 8 , +.Xr lastlogin 8 +and +.Xr utxrm 8 . .It Va WITHOUT_WIRELESS .\ from FreeBSD: head/tools/build/options/WITHOUT_WIRELESS 183242 2008-09-21 22:02:26Z sam Set to not build programs used for 802.11 wireless networks; especially ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r223211 - head/sys/x86/x86
Author: jkim Date: Fri Jun 17 21:41:06 2011 New Revision: 223211 URL: http://svn.freebsd.org/changeset/base/223211 Log: Teach the compiler how to shift TSC value efficiently. As noted in r220631, some times compiler inserts redundant instructions to preserve unused upper 32 bits even when it is casted to a 32-bit value. Unfortunately, it seems the problem becomes more serious when it is shifted, especially on amd64. Modified: head/sys/x86/x86/tsc.c Modified: head/sys/x86/x86/tsc.c == --- head/sys/x86/x86/tsc.c Fri Jun 17 21:31:13 2011(r223210) +++ head/sys/x86/x86/tsc.c Fri Jun 17 21:41:06 2011(r223211) @@ -461,7 +461,7 @@ init_TSC_tc(void) tsc_timecounter.tc_quality = 1000; init: - for (shift = 0; shift 32 (tsc_freq shift) max_freq; shift++) + for (shift = 0; shift 31 (tsc_freq shift) max_freq; shift++) ; if (shift 0) { tsc_timecounter.tc_get_timecount = tsc_get_timecount_low; @@ -579,6 +579,9 @@ tsc_get_timecount(struct timecounter *tc static u_int tsc_get_timecount_low(struct timecounter *tc) { + uint32_t rv; - return (rdtsc() (int)(intptr_t)tc-tc_priv); + __asm __volatile(rdtsc; shrd %%cl, %%edx, %0 + : =a (rv) : c ((int)(intptr_t)tc-tc_priv) : edx); + return (rv); } ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r223214 - head/lib/libc/db/man
Author: delphij Date: Sat Jun 18 00:10:21 2011 New Revision: 223214 URL: http://svn.freebsd.org/changeset/base/223214 Log: The flags argument of mpool_get() is meaningful, document it. MFC after:2 weeks Modified: head/lib/libc/db/man/mpool.3 Modified: head/lib/libc/db/man/mpool.3 == --- head/lib/libc/db/man/mpool.3Fri Jun 17 22:01:10 2011 (r223213) +++ head/lib/libc/db/man/mpool.3Sat Jun 18 00:10:21 2011 (r223214) @@ -28,7 +28,7 @@ .\@(#)mpool.3 8.1 (Berkeley) 6/4/93 .\ $FreeBSD$ .\ -.Dd February 25, 1999 +.Dd June 17, 2011 .Dt MPOOL 3 .Os .Sh NAME @@ -147,7 +147,14 @@ is returned and is set. The .Fa flags -argument is not currently used. +argument is specified by +.Em or Ns 'ing +any of the following values: +.Bl -tag -width indent +.It Dv MPOOL_IGNOREPIN +The page returned is not pinned; +page will otherwise be pinned on return. +.El .Pp The .Fn mpool_put ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r223215 - head/lib/libc/gen
Author: delphij Date: Sat Jun 18 00:29:10 2011 New Revision: 223215 URL: http://svn.freebsd.org/changeset/base/223215 Log: Sync with OpenBSD (zap rcsid). MFC after:2 weeks Modified: head/lib/libc/gen/ftw.c Modified: head/lib/libc/gen/ftw.c == --- head/lib/libc/gen/ftw.c Sat Jun 18 00:10:21 2011(r223214) +++ head/lib/libc/gen/ftw.c Sat Jun 18 00:29:10 2011(r223215) @@ -1,4 +1,4 @@ -/* $OpenBSD: ftw.c,v 1.4 2004/07/07 16:05:23 millert Exp $ */ +/* $OpenBSD: ftw.c,v 1.5 2005/08/08 08:05:34 espie Exp $ */ /* * Copyright (c) 2003, 2004 Todd C. Miller todd.mil...@courtesan.com @@ -20,12 +20,6 @@ * Materiel Command, USAF, under agreement number F39502-99-1-0512. */ -#if 0 -#if defined(LIBC_SCCS) !defined(lint) -static const char rcsid[] = $OpenBSD: ftw.c,v 1.4 2004/07/07 16:05:23 millert Exp $; -#endif /* LIBC_SCCS and not lint */ -#endif - #include sys/cdefs.h __FBSDID($FreeBSD$); ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r223216 - head/lib/libc/gen
Author: delphij Date: Sat Jun 18 00:33:34 2011 New Revision: 223216 URL: http://svn.freebsd.org/changeset/base/223216 Log: Sync with OpenBSD, primarily make the code easier to read, and a license change to standard OpenBSD ISC license. Obtained from:OpenBSD MFC after:2 weeks Modified: head/lib/libc/gen/basename.3 head/lib/libc/gen/basename.c Modified: head/lib/libc/gen/basename.3 == --- head/lib/libc/gen/basename.3Sat Jun 18 00:29:10 2011 (r223215) +++ head/lib/libc/gen/basename.3Sat Jun 18 00:33:34 2011 (r223216) @@ -1,33 +1,22 @@ +.\ $OpenBSD: basename.3,v 1.20 2007/05/31 19:19:28 jmc Exp $ .\ .\ Copyright (c) 1997 Todd C. Miller todd.mil...@courtesan.com -.\ All rights reserved. .\ -.\ Redistribution and use in source and binary forms, with or without -.\ modification, are permitted provided that the following conditions -.\ are met: -.\ 1. Redistributions of source code must retain the above copyright -.\notice, this list of conditions and the following disclaimer. -.\ 2. Redistributions in binary form must reproduce the above copyright -.\notice, this list of conditions and the following disclaimer in the -.\documentation and/or other materials provided with the distribution. -.\ 3. The name of the author may not be used to endorse or promote products -.\derived from this software without specific prior written permission. +.\ Permission to use, copy, modify, and distribute this software for any +.\ purpose with or without fee is hereby granted, provided that the above +.\ copyright notice and this permission notice appear in all copies. .\ -.\ THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, -.\ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY -.\ AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL -.\ THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -.\ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -.\ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -.\ OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -.\ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\ OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -.\ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +.\ THE SOFTWARE IS PROVIDED AS IS AND THE AUTHOR DISCLAIMS ALL WARRANTIES +.\ WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +.\ MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +.\ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +.\ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +.\ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +.\ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\ -.\ $OpenBSD: basename.3,v 1.12 2000/04/18 03:01:25 aaron Exp $ .\ $FreeBSD$ .\ -.Dd October 6, 2009 +.Dd March 31, 2010 .Dt BASENAME 3 .Os .Sh NAME @@ -42,8 +31,7 @@ .Sh DESCRIPTION The .Fn basename -function -returns the last component from the pathname pointed to by +function returns the last component from the pathname pointed to by .Fa path , deleting any trailing .Sq \/ @@ -111,4 +99,15 @@ function first appeared in and .Fx 4.2 . .Sh AUTHORS -.An Todd C. Miller Aq todd.mil...@courtesan.com +.An Todd C. Miller +.Sh CAVEATS +.Fn basename +returns a pointer to internal static storage space that will be overwritten +by subsequent calls. +.Pp +Other vendor implementations of +.Fn basename +may modify the contents of the string passed to +.Fn basename ; +this should be taken into account when writing code which calls this function +if portability is desired. Modified: head/lib/libc/gen/basename.c == --- head/lib/libc/gen/basename.cSat Jun 18 00:29:10 2011 (r223215) +++ head/lib/libc/gen/basename.cSat Jun 18 00:33:34 2011 (r223216) @@ -1,35 +1,21 @@ +/* $OpenBSD: basename.c,v 1.14 2005/08/08 08:05:33 espie Exp $ */ + /* - * Copyright (c) 1997 Todd C. Miller todd.mil...@courtesan.com - * All rights reserved. + * Copyright (c) 1997, 2004 Todd C. Miller todd.mil...@courtesan.com * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - *notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - *notice, this list of conditions and the following disclaimer in the - *documentation and/or other materials provided with the distribution. - * 3. The name of the author may not be used to endorse or promote
Re: svn commit: r223129 - head/release
On 2011-Jun-15 23:38:15 +, Nathan Whitehorn nwhiteh...@freebsd.org wrote: Log: Do not install the rescue tools onto the install CD. Since it is read only, they are very unlikely to be needed and take up a great deal of space. If I've correctly understood this change, I'm not sure this is a positive move. Based on a quick test, removing /rescue saves about 4MB (in reality, the saving should be less because /rescue removes the need for /stand). OTOH, it renders the install CD useless as a recovery fixit disk - whilst the CD is unlikely to need recovery itself, it was useful for recovering hard disks -- Peter Jeremy pgpCRNIuE4pIQ.pgp Description: PGP signature
svn commit: r223218 - head/sys/dev/pccbb
Author: imp Date: Sat Jun 18 02:25:08 2011 New Revision: 223218 URL: http://svn.freebsd.org/changeset/base/223218 Log: After we get a good power signal, always wait about 10ms before proceeding. On boot, some laptops with certain cards in them sometimes fail on boot, but if the card is inserted after boot it works. Experiments show that small delays here makes things more reliable. It is believed that some combinations need a little more time before the power on the card is really stable enough to be reliable once the power is stable in the bridge. Modified: head/sys/dev/pccbb/pccbb.c Modified: head/sys/dev/pccbb/pccbb.c == --- head/sys/dev/pccbb/pccbb.c Sat Jun 18 00:53:51 2011(r223217) +++ head/sys/dev/pccbb/pccbb.c Sat Jun 18 02:25:08 2011(r223218) @@ -800,24 +800,36 @@ cbb_power(device_t brdev, int volts) * We have a shortish timeout of 500ms here. Some bridges do * not generate a POWER_CYCLE event for 16-bit cards. In * those cases, we have to cope the best we can, and having -* only a short delay is better than the alternatives. +* only a short delay is better than the alternatives. Others +* raise the power cycle a smidge before it is really ready. +* We deal with those below. */ sane = 10; while (!(cbb_get(sc, CBB_SOCKET_STATE) CBB_STATE_POWER_CYCLE) cnt == sc-powerintr sane-- 0) msleep(sc-powerintr, sc-mtx, 0, -, hz / 20); mtx_unlock(sc-mtx); + + /* +* Relax for 10ms. Some bridges appear to assert this signal +* right away, but before the card has stabilized. Other +* cards need need more time to cope up reliabily. +* Experiments with troublesome setups show this to be a +* cheap way to enhance reliabilty. We need not do this for +* off since we don't touch the card after we turn it off. +*/ + pause(cbbPwr, min(hz / 100, 1)); + /* * The TOPIC95B requires a little bit extra time to get its * act together, so delay for an additional 100ms. Also as * documented below, it doesn't seem to set the POWER_CYCLE * bit, so don't whine if it never came on. */ - if (sc-chipset == CB_TOPIC95) { + if (sc-chipset == CB_TOPIC95) pause(cbb95B, hz / 10); - } else if (sane = 0) { + else if (sane = 0) device_printf(sc-dev, power timeout, doom?\n); - } } /* ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r223219 - head/sys/dev/pccbb
Author: imp Date: Sat Jun 18 03:16:51 2011 New Revision: 223219 URL: http://svn.freebsd.org/changeset/base/223219 Log: More expeirmentation suggests that 10ms isn't as reliable as previously thought, but 100ms seems to be. Likely there's a good middle ground, but for now be conservative. Modified: head/sys/dev/pccbb/pccbb.c Modified: head/sys/dev/pccbb/pccbb.c == --- head/sys/dev/pccbb/pccbb.c Sat Jun 18 02:25:08 2011(r223218) +++ head/sys/dev/pccbb/pccbb.c Sat Jun 18 03:16:51 2011(r223219) @@ -811,14 +811,14 @@ cbb_power(device_t brdev, int volts) mtx_unlock(sc-mtx); /* -* Relax for 10ms. Some bridges appear to assert this signal +* Relax for 100ms. Some bridges appear to assert this signal * right away, but before the card has stabilized. Other * cards need need more time to cope up reliabily. * Experiments with troublesome setups show this to be a * cheap way to enhance reliabilty. We need not do this for * off since we don't touch the card after we turn it off. */ - pause(cbbPwr, min(hz / 100, 1)); + pause(cbbPwr, min(hz / 10, 1)); /* * The TOPIC95B requires a little bit extra time to get its ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org