svn commit: r288996 - head/release/doc/en_US.ISO8859-1/relnotes
Author: gjb Date: Wed Oct 7 20:04:32 2015 New Revision: 288996 URL: https://svnweb.freebsd.org/changeset/base/288996 Log: Correct the command-line utility in the r285420 entry: s/jail/jexec/ Sponsored by: The FreeBSD Foundation Modified: head/release/doc/en_US.ISO8859-1/relnotes/article.xml Modified: head/release/doc/en_US.ISO8859-1/relnotes/article.xml == --- head/release/doc/en_US.ISO8859-1/relnotes/article.xml Wed Oct 7 19:55:58 2015(r288995) +++ head/release/doc/en_US.ISO8859-1/relnotes/article.xml Wed Oct 7 20:04:32 2015(r288996) @@ -403,10 +403,10 @@ The utility has been updated to include support for IPv6. - The utility has been + The utility has been updated to include a new flag, -l, which ensures a clean environment in the target jail when used. - Additionally, will run a shell within the target + Additionally, will run a shell within the target jail when run no commands are specified. The utility has been updated ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r288984 - head/sbin/sysctl
On Wed, Oct 07, 2015 at 03:41:52PM -0700, NGie Cooper wrote: > On Wed, Oct 7, 2015 at 3:35 PM, Baptiste Daroussinwrote: > ... > > I do not think it is, but I couldn't find a way to reproduce another case > > than > > ENOENT, so I thought maybe the best would be to keep the current behaviour > > for > > other cases :) > > Can't hit ENOTDIR: > > # sysctl kern=ireallyshouldnotbedoingthis > sysctl: oid 'kern' isn't a leaf node And this is handle by sysctl(8) and never hit the code I modified > > Can't hit EPERM: > > # sysctl kern.boottime=1000 > sysctl: oid 'kern.boottime' is read only Same > > Not sure how to hit EINVAL, other than maybe try and read a sysctl > that dynamically populates itself (this might trigger ENOMEM errors > though): > > # sysctl kern.i.am.a.fun.oid.or.something.like.that.yadda.yadda=1000 > sysctl: unknown oid > 'kern.i.am.a.fun.oid.or.something.like.that.yadda.yadda': No such file > or directory This is the one I fixed > > FWIW I think Conrad's right though about fixing the message to be more > meaningful in the errno != ENOENT case though. So you haven't hit any other case for the code I have modified. Bapt signature.asc Description: PGP signature
svn commit: r288995 - head/lib/libc/rpc
Author: rodrigc Date: Wed Oct 7 19:55:58 2015 New Revision: 288995 URL: https://svnweb.freebsd.org/changeset/base/288995 Log: Use proper function prototypes. Eliminates -Wstrict-prototypes warning Modified: head/lib/libc/rpc/getpublickey.c head/lib/libc/rpc/key_call.c Modified: head/lib/libc/rpc/getpublickey.c == --- head/lib/libc/rpc/getpublickey.cWed Oct 7 19:10:38 2015 (r288994) +++ head/lib/libc/rpc/getpublickey.cWed Oct 7 19:55:58 2015 (r288995) @@ -56,7 +56,7 @@ __FBSDID("$FreeBSD$"); /* * Hack to let ypserv/rpc.nisd use AUTH_DES. */ -int (*__getpublickey_LOCAL)() = 0; +int (*__getpublickey_LOCAL)(const char *, char *) = 0; /* * Get somebody's public key Modified: head/lib/libc/rpc/key_call.c == --- head/lib/libc/rpc/key_call.cWed Oct 7 19:10:38 2015 (r288994) +++ head/lib/libc/rpc/key_call.cWed Oct 7 19:55:58 2015 (r288995) @@ -81,9 +81,9 @@ __FBSDID("$FreeBSD$"); * implementations of these functions, and to call those in key_call(). */ -cryptkeyres *(*__key_encryptsession_pk_LOCAL)() = 0; -cryptkeyres *(*__key_decryptsession_pk_LOCAL)() = 0; -des_block *(*__key_gendes_LOCAL)() = 0; +cryptkeyres *(*__key_encryptsession_pk_LOCAL)(uid_t, void *arg) = 0; +cryptkeyres *(*__key_decryptsession_pk_LOCAL)(uid_t, void *arg) = 0; +des_block *(*__key_gendes_LOCAL)(uid_t, void *) = 0; static int key_call( u_long, xdrproc_t, void *, xdrproc_t, void *); ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r288984 - head/sbin/sysctl
On Wed, Oct 7, 2015 at 2:28 AM, Baptiste Daroussinwrote: > --- head/sbin/sysctl/sysctl.c Wed Oct 7 09:12:49 2015(r288983) > +++ head/sbin/sysctl/sysctl.c Wed Oct 7 09:28:54 2015(r288984) > @@ -276,7 +276,11 @@ parse(const char *string, int lineno) > if (qflag) > return (1); > else { > - warn("unknown oid '%s'%s", bufp, line); > + if (errno == ENOENT) { > + warnx("unknown oid '%s'%s", bufp, line); > + } else { > + warn("unknown oid '%s'%s", bufp, line); Is "unknown oid" an appropriate warning for errno != ENOENT? > + } > return (1); > } > } > Best, Conrad ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r288984 - head/sbin/sysctl
On Wed, Oct 07, 2015 at 02:56:02PM -0700, Conrad Meyer wrote: > On Wed, Oct 7, 2015 at 2:28 AM, Baptiste Daroussinwrote: > > --- head/sbin/sysctl/sysctl.c Wed Oct 7 09:12:49 2015(r288983) > > +++ head/sbin/sysctl/sysctl.c Wed Oct 7 09:28:54 2015(r288984) > > @@ -276,7 +276,11 @@ parse(const char *string, int lineno) > > if (qflag) > > return (1); > > else { > > - warn("unknown oid '%s'%s", bufp, line); > > + if (errno == ENOENT) { > > + warnx("unknown oid '%s'%s", bufp, line); > > + } else { > > + warn("unknown oid '%s'%s", bufp, line); > > Is "unknown oid" an appropriate warning for errno != ENOENT? I do not think it is, but I couldn't find a way to reproduce another case than ENOENT, so I thought maybe the best would be to keep the current behaviour for other cases :) Best regards, Bapt signature.asc Description: PGP signature
Re: svn commit: r288984 - head/sbin/sysctl
On 10/7/2015 3:41 PM, NGie Cooper wrote: > On Wed, Oct 7, 2015 at 3:35 PM, Baptiste Daroussinwrote: > ... >> I do not think it is, but I couldn't find a way to reproduce another case >> than >> ENOENT, so I thought maybe the best would be to keep the current behaviour >> for >> other cases :) > Here's the relevant code: sys/kern/kern_sysctl.c:SYSCTL_PROC(_sysctl, 3, name2oid ... static SYSCTL_NODE(_sysctl, 2, next, CTLFLAG_RD | CTLFLAG_MPSAFE | CTLFLAG_CAPRD, sysctl_sysctl_next, ""); static int name2oid(char *name, int *oid, int *len, struct sysctl_oid **oidpp) { struct sysctl_oid *oidp; struct sysctl_oid_list *lsp = __children; char *p; SYSCTL_ASSERT_LOCKED(); for (*len = 0; *len < CTL_MAXNAME;) { p = strsep(, "."); oidp = SLIST_FIRST(lsp); for (;; oidp = SLIST_NEXT(oidp, oid_link)) { if (oidp == NULL) return (ENOENT); if (strcmp(p, oidp->oid_name) == 0) break; } *oid++ = oidp->oid_number; (*len)++; if (name == NULL || *name == '\0') { if (oidpp) *oidpp = oidp; return (0); } if ((oidp->oid_kind & CTLTYPE) != CTLTYPE_NODE) break; if (oidp->oid_handler) break; lsp = SYSCTL_CHILDREN(oidp); } return (ENOENT); } It can only return 0 or ENOENT. -- Regards, Bryan Drewery signature.asc Description: OpenPGP digital signature
Re: svn commit: r288984 - head/sbin/sysctl
On 07/10/2015 23:41, NGie Cooper wrote: On Wed, Oct 7, 2015 at 3:35 PM, Baptiste Daroussinwrote: ... I do not think it is, but I couldn't find a way to reproduce another case than ENOENT, so I thought maybe the best would be to keep the current behaviour for other cases :) Can't hit ENOTDIR: # sysctl kern=ireallyshouldnotbedoingthis sysctl: oid 'kern' isn't a leaf node Can't hit EPERM: # sysctl kern.boottime=1000 sysctl: oid 'kern.boottime' is read only Not sure how to hit EINVAL, other than maybe try and read a sysctl that dynamically populates itself (this might trigger ENOMEM errors though): Assign a valid which a sysctl func rejects? # sysctl kern.i.am.a.fun.oid.or.something.like.that.yadda.yadda=1000 sysctl: unknown oid 'kern.i.am.a.fun.oid.or.something.like.that.yadda.yadda': No such file or directory FWIW I think Conrad's right though about fixing the message to be more meaningful in the errno != ENOENT case though. ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r288984 - head/sbin/sysctl
On Wed, Oct 7, 2015 at 3:35 PM, Baptiste Daroussinwrote: ... > I do not think it is, but I couldn't find a way to reproduce another case than > ENOENT, so I thought maybe the best would be to keep the current behaviour for > other cases :) Can't hit ENOTDIR: # sysctl kern=ireallyshouldnotbedoingthis sysctl: oid 'kern' isn't a leaf node Can't hit EPERM: # sysctl kern.boottime=1000 sysctl: oid 'kern.boottime' is read only Not sure how to hit EINVAL, other than maybe try and read a sysctl that dynamically populates itself (this might trigger ENOMEM errors though): # sysctl kern.i.am.a.fun.oid.or.something.like.that.yadda.yadda=1000 sysctl: unknown oid 'kern.i.am.a.fun.oid.or.something.like.that.yadda.yadda': No such file or directory FWIW I think Conrad's right though about fixing the message to be more meaningful in the errno != ENOENT case though. Thanks! -NGie ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r288653 - in head/sys/dev/drm2: . i915
On 07.10.2015 08:14, Konstantin Belousov wrote: > I believe there are subtle differences between our- and Linux- nowait > behaviour. I claim (but do not want to take liability of prove it with > references to Linux code) that our M_NOWAIT may fail transiently due to > pagedaemon not keeping up with load, while Linux top-half nowait alloc > only fails for real out-of-resources conditions. > > What I am trying to say, leave M_NOWAIT out of syscalls. Some time ago > M_NOWAIT also means that the caller is allowed to use reserves to satisfy > allocation, but this was fixed. Ok, I understand. Let's revert to use M_WAITOK then. During the DRM core update, I also used M_NOWAIT. Likewise for the i915 WIP. I will change some of them back to M_WAITOK after checking the context of the allocation (syscall or not). Thank you for the clarification on those flags! -- Jean-Sébastien Pédron signature.asc Description: OpenPGP digital signature
Re: svn commit: r288653 - in head/sys/dev/drm2: . i915
On Tue, Oct 06, 2015 at 10:19:24PM +0200, Jean-S??bastien P??dron wrote: > On 04.10.2015 11:46, Konstantin Belousov wrote: > > On Sun, Oct 04, 2015 at 07:45:37AM +, Adrian Chadd wrote: > >> * Add missing case statement (gen == 3) in intel_gpu_reset(). > > This seems to be wrong. The i915 and G33 chipsets do not have registers > > declared in the 8xx chipset documentation. More, i915 and G33 have > > different > > reset procedures. > > > > The absence of '3' case was copied from the corresponding Linux kernel. > > Was this change tested, or is there a reference to upstream where the > > handling was added in this manner ? > > You're right, even in Linux 3.8, the switch does not have a case for > generation 3. > > >> * Replace M_WAITOK with M_NOWAIT when the return value of malloc is > >> checked (may be incorrect). > > This is also incorrect. At least the modesetting pathes are executed in > > the syscall context, and sleeping is allowed; the modesetting locks were > > selected to make sleeping possible. Using nowait causes random syscalls > > failure where the requests would succeed otherwise. > > My reasoning was that M_WAITOK could make the display hang/unresponsive > while the memory is under pressure. The caller should be responsible for > handling the error instead. The majority of the calls changed were for the modesetting. In other words, the failures would probably affect only setup path, and probably leave the display in half-configured state. That said, hang is not the expected outcome of M_WAITOK behaviour. M_WAITOK indeed prevents real-time, but it only causes hang in case of memory deadlock. M_NOWAIT should only be used in contexts where sleepable wait for memory or address space is impossible or causes a damage to the managed hardware. > > In Linux, *alloc() calls may fail so application should already be > responsible for that. I believe there are subtle differences between our- and Linux- nowait behaviour. I claim (but do not want to take liability of prove it with references to Linux code) that our M_NOWAIT may fail transiently due to pagedaemon not keeping up with load, while Linux top-half nowait alloc only fails for real out-of-resources conditions. What I am trying to say, leave M_NOWAIT out of syscalls. Some time ago M_NOWAIT also means that the caller is allowed to use reserves to satisfy allocation, but this was fixed. ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r288980 - head/sys/net
Author: hrs Date: Wed Oct 7 06:32:34 2015 New Revision: 288980 URL: https://svnweb.freebsd.org/changeset/base/288980 Log: Fix a bug that caused reinitialization failure of MAC addresses on the lagg interface when removing the primary port. PR: 201916 Differential Revision:https://reviews.freebsd.org/D3301 Modified: head/sys/net/if_lagg.c Modified: head/sys/net/if_lagg.c == --- head/sys/net/if_lagg.c Wed Oct 7 06:31:14 2015(r288979) +++ head/sys/net/if_lagg.c Wed Oct 7 06:32:34 2015(r288980) @@ -640,7 +640,7 @@ lagg_port_lladdr(struct lagg_port *lp, u /* Check to make sure its not already queued to be changed */ SLIST_FOREACH(llq, >sc_llq_head, llq_entries) { - if (llq->llq_ifp == ifp) { + if (llq->llq_ifp == ifp && llq->llq_primary == primary) { pending = 1; break; } @@ -855,7 +855,7 @@ static int lagg_port_destroy(struct lagg_port *lp, int rundelport) { struct lagg_softc *sc = lp->lp_softc; - struct lagg_port *lp_ptr; + struct lagg_port *lp_ptr, *lp0; struct lagg_llq *llq; struct ifnet *ifp = lp->lp_ifp; uint64_t *pval, vdiff; @@ -897,18 +897,26 @@ lagg_port_destroy(struct lagg_port *lp, if (lp == sc->sc_primary) { uint8_t lladdr[ETHER_ADDR_LEN]; - if ((lp_ptr = SLIST_FIRST(>sc_ports)) == NULL) { + if ((lp0 = SLIST_FIRST(>sc_ports)) == NULL) { bzero(, ETHER_ADDR_LEN); } else { - bcopy(lp_ptr->lp_lladdr, + bcopy(lp0->lp_lladdr, lladdr, ETHER_ADDR_LEN); } lagg_lladdr(sc, lladdr); - sc->sc_primary = lp_ptr; - /* Update link layer address for each port */ + /* +* Update link layer address for each port. No port is +* marked as primary at this moment. +*/ SLIST_FOREACH(lp_ptr, >sc_ports, lp_entries) lagg_port_lladdr(lp_ptr, lladdr); + /* +* Mark lp0 as the new primary. This invokes an +* iflladdr_event. +*/ + sc->sc_primary = lp0; + lagg_port_lladdr(lp0, lladdr); } /* Remove any pending lladdr changes from the queue */ ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r288981 - head/sbin/sysctl
On Wed, Oct 07, 2015 at 01:58:29AM -0700, NGie Cooper wrote: > > > On Oct 7, 2015, at 01:56, Baptiste Daroussinwrote: > > > > Author: bapt > > Date: Wed Oct 7 08:56:01 2015 > > New Revision: 288981 > > URL: https://svnweb.freebsd.org/changeset/base/288981 > > > > Log: > > Trim spaces at the end of the buffer before trying to convert it to an oid > > > > This allows to write entries in sysctl.conf with spaces before the '=' like > > kern.ipc.shmmax = 9663676416 > > > > MFC after: 1 week > > Sponsored by: Gandi.net > > Won’t this cause issues if the intent of the original value is to have a > space before the rest of the value, e.g. > > sysctl my.oid=“ i really wanted a leading space” Note that here I am only trimming spaces _before_ the = and I'm not touching the parsing after the '=' for the exact reason you are raising. Best regards, Bapt signature.asc Description: PGP signature
Re: svn commit: r288907 - head/bin/ls/tests
> On Oct 6, 2015, at 11:26, John Baldwinwrote: > > On Tuesday, October 06, 2015 01:00:12 AM Garrett Cooper wrote: >> Author: ngie >> Date: Tue Oct 6 01:00:12 2015 >> New Revision: 288907 >> URL: https://svnweb.freebsd.org/changeset/base/288907 >> >> Log: >> Call sync consistently using atf_check >> >> Remove superfluous sync's > > You should not need to call sync() to see the results of earlier namespace > changes (file create, rename, delete, etc.), even for NFS when looking on the > same client that made the namespace change. > > Are you doing this to force mtime updates? You should not need sync() for > that on UFS (ufs_getattr() forces any pending lazy timestamp updates). You > would for NFS (not sure about ZFS). > > Whatever the reason for the syncs, I think it warrants a comment. You’re right about it not being clear as to why they’re there. I ran into issues earlier on when developing the test cases, but it might have been how I wrote them, along with bugs I fixed while developing them. I’ll retest without the syncs. Depending on the outcome I’ll either remove them entirely or comment on why they’re there. I’ll probably do a combination of both if I run into issues. Thanks :)! -NGie PS I run my tests with UFS and atime on, mostly, but I also use ZFS periodically. My work system runs ZFS, but I’m a few months behind because of deliverables in flight and having to take down the system/risk an upgrade with the recent churn in ZFS. ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r288981 - head/sbin/sysctl
Author: bapt Date: Wed Oct 7 08:56:01 2015 New Revision: 288981 URL: https://svnweb.freebsd.org/changeset/base/288981 Log: Trim spaces at the end of the buffer before trying to convert it to an oid This allows to write entries in sysctl.conf with spaces before the '=' like kern.ipc.shmmax = 9663676416 MFC after:1 week Sponsored by: Gandi.net Modified: head/sbin/sysctl/sysctl.c Modified: head/sbin/sysctl/sysctl.c == --- head/sbin/sysctl/sysctl.c Wed Oct 7 06:32:34 2015(r288980) +++ head/sbin/sysctl/sysctl.c Wed Oct 7 08:56:01 2015(r288981) @@ -262,6 +262,12 @@ parse(const char *string, int lineno) newvalstr = cp; newsize = strlen(cp); } + /* Trim spaces */ + cp = bufp + strlen(bufp) - 1; + while (cp >= bufp && isspace((int)*cp)) { + *cp = '\0'; + cp--; + } len = name2oid(bufp, mib); if (len < 0) { ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r288657 - head/sys/netinet6
07.10.2015, 02:42, "Rui Paulo": > On Sun, 2015-10-04 at 08:21 +, Alexander V. Chernikov wrote: >> Author: melifaro >> Date: Sun Oct 4 08:21:15 2015 >> New Revision: 288657 >> URL: https://svnweb.freebsd.org/changeset/base/288657 >> >> Log: >> Add __noinline attribute to several functions to ease dtrace >> instrumentation > > What instrumentation? Is there a DTrace script in userland that uses Well, given that ND state machine is a bit complex, it is nice to have some sort of easy-to-turn-on hooks to monitor its state (I suspect this is true not only for me, but to other people hacking IPv6 code). dtrace and its fbt provider does the great thing of exporting most of needed functions. However, due to inlining, not all calls can be hooked. > these functions? If not, this should not have been committed as you > just made the code slower. This is one of those changes that should be I do understand that in general telling compiler not to inline functions might slow things down. However, all functions except nd6_resolve_slow are not used in data path, so, well, losing fraction of percent is not a big deal for control function. Do you have different view on that? nd6_resolve_slow() is currently called when fast path processing failed and we have to acquire lle write lock and so on. (But yes, right now it could be called on per-packet basis in STALE/PROBE state, (which is going to be changed in D3780)). What could be done better is probably having some kind of __dtrace_inline define under KDTRACE_HOOKS kernel options. Does this look better to you or you have some different approach in mind (like explicitly defining dtrace probes or maybe something different) ? > kept in your own repository. > > -- > Rui Paulo ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r288981 - head/sbin/sysctl
> On Oct 7, 2015, at 01:56, Baptiste Daroussinwrote: > > Author: bapt > Date: Wed Oct 7 08:56:01 2015 > New Revision: 288981 > URL: https://svnweb.freebsd.org/changeset/base/288981 > > Log: > Trim spaces at the end of the buffer before trying to convert it to an oid > > This allows to write entries in sysctl.conf with spaces before the '=' like > kern.ipc.shmmax = 9663676416 > > MFC after: 1 week > Sponsored by:Gandi.net Won’t this cause issues if the intent of the original value is to have a space before the rest of the value, e.g. sysctl my.oid=“ i really wanted a leading space” ? ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r288929 - in head: etc/mtree lib/libxo lib/libxo/tests usr.bin/xo usr.bin/xo/tests
On 10/6/2015 9:58 AM, Garrett Cooper wrote: > Author: ngie > Date: Tue Oct 6 16:58:47 2015 > New Revision: 288929 > URL: https://svnweb.freebsd.org/changeset/base/288929 > > Log: > Integrate the tests from libxo into the FreeBSD test suite > > The functional_test.sh harness for each test subdir was inspired > by the version in bin/sh/tests/functional_test.sh > > Some gymnastics were required to deal with implicit rules for > .c / .o -> .out as the suffix transformation rules were > incorrectly trying to create the test outputs from some of the > source files > > Sponsored by: EMC / Isilon Storage Division > > Added: > head/lib/libxo/tests/ > head/lib/libxo/tests/Makefile (contents, props changed) > head/lib/libxo/tests/functional_test.sh > - copied, changed from r288904, head/bin/sh/tests/functional_test.sh > head/usr.bin/xo/tests/ > head/usr.bin/xo/tests/Makefile (contents, props changed) > head/usr.bin/xo/tests/functional_test.sh > - copied, changed from r288904, head/bin/sh/tests/functional_test.sh > Modified: > head/etc/mtree/BSD.tests.dist > head/lib/libxo/Makefile > head/usr.bin/xo/Makefile > > Modified: head/etc/mtree/BSD.tests.dist > == > --- head/etc/mtree/BSD.tests.dist Tue Oct 6 16:35:50 2015 > (r288928) > +++ head/etc/mtree/BSD.tests.dist Tue Oct 6 16:58:47 2015 > (r288929) > @@ -310,6 +310,8 @@ > .. > libutil > .. > +libxo > +.. > msun > .. > .. > @@ -568,6 +570,8 @@ > .. > xargs > .. > +xo > +.. > yacc > yacc > .. > > Modified: head/lib/libxo/Makefile > == > --- head/lib/libxo/Makefile Tue Oct 6 16:35:50 2015(r288928) > +++ head/lib/libxo/Makefile Tue Oct 6 16:58:47 2015(r288929) > @@ -1,5 +1,7 @@ > # $FreeBSD$ > > +.include > + > LIBXOSRC=${SRCTOP}/contrib/libxo > > .PATH: ${LIBXOSRC}/libxo ... LIB=xo SHLIB_MAJOR=0 SHLIBDIR?= /lib FYI SHLIBDIR? needs to be before the src.opts.mk otherwise it changes to /usr/lib, which Peter found breaks boot :) -- Regards, Bryan Drewery signature.asc Description: OpenPGP digital signature
Re: svn commit: r288929 - in head: etc/mtree lib/libxo lib/libxo/tests usr.bin/xo usr.bin/xo/tests
On 10/7/2015 6:37 PM, NGie Cooper wrote: > On Wed, Oct 7, 2015 at 6:34 PM, Bryan Drewerywrote: > ... >>> Modified: head/lib/libxo/Makefile >>> == >>> --- head/lib/libxo/Makefile Tue Oct 6 16:35:50 2015(r288928) >>> +++ head/lib/libxo/Makefile Tue Oct 6 16:58:47 2015(r288929) >>> @@ -1,5 +1,7 @@ >>> # $FreeBSD$ >>> >>> +.include >>> + >>> LIBXOSRC=${SRCTOP}/contrib/libxo >>> >>> .PATH: ${LIBXOSRC}/libxo >> ... >> LIB=xo >> SHLIB_MAJOR=0 >> >> SHLIBDIR?= /lib >> >> >> FYI SHLIBDIR? needs to be before the src.opts.mk otherwise it changes to >> /usr/lib, which Peter found breaks boot :) > > *smacks head* > > Yes, I forgot about that caveat ;(. > It would have bitten me too. It's a strange thing. -- Regards, Bryan Drewery signature.asc Description: OpenPGP digital signature
svn commit: r289002 - head/release/scripts
Author: rodrigc Date: Thu Oct 8 03:28:15 2015 New Revision: 289002 URL: https://svnweb.freebsd.org/changeset/base/289002 Log: Use print as a function, not operator. Modified: head/release/scripts/list-new-changesets.py Modified: head/release/scripts/list-new-changesets.py == --- head/release/scripts/list-new-changesets.py Thu Oct 8 02:28:22 2015 (r289001) +++ head/release/scripts/list-new-changesets.py Thu Oct 8 03:28:15 2015 (r289002) @@ -44,6 +44,7 @@ #list-new-changesets.py -r254153:261794 \ #svn://svn.freebsd.org/base/stable/9 +from __future__ import print_function import os import subprocess import sys @@ -60,15 +61,15 @@ def print_logentry(logentry): date = logentry.find('date').text msg = logentry.find('msg').text -print "-" * 71 -print "%s | %s | %s" % (rev, author, date) -print "Changed paths:" +print("-" * 71) +print("%s | %s | %s" % (rev, author, date)) +print("Changed paths:") for paths in logentry.findall('paths'): for path in paths.findall('path'): -print " %s %s" % (path.attrib['action'], path.text) +print(" %s %s" % (path.attrib['action'], path.text)) -print -print msg.encode('utf-8') +print() +print(msg.encode('utf-8')) def main(args): """Main function. @@ -80,13 +81,13 @@ def main(args): cmd = ["svn", "log", "-v", "--xml"] cmd += args[1:] -print " ".join(cmd) +print(" ".join(cmd)) proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE) (out, err) = proc.communicate() if proc.returncode != 0: -print err +print(err) sys.exit(proc.returncode) displayed_entries = 0 @@ -107,10 +108,10 @@ def main(args): displayed_entries += 1 if displayed_entries == 0: -print "No changesets with Added or Deleted files" +print("No changesets with Added or Deleted files") if displayed_entries > 0: -print "-" * 71 +print("-" * 71) if __name__ == "__main__": ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r288999 - head/sys/dev/wpi
Author: adrian Date: Thu Oct 8 00:52:41 2015 New Revision: 288999 URL: https://svnweb.freebsd.org/changeset/base/288999 Log: wpi(4): remove software queues Use direct dispatch into the destination hardware ring instead of using a staging queue. Submitted by:Differential Revision:https://reviews.freebsd.org/D3757 Modified: head/sys/dev/wpi/if_wpi.c head/sys/dev/wpi/if_wpivar.h Modified: head/sys/dev/wpi/if_wpi.c == --- head/sys/dev/wpi/if_wpi.c Thu Oct 8 00:48:29 2015(r288998) +++ head/sys/dev/wpi/if_wpi.c Thu Oct 8 00:52:41 2015(r288999) @@ -206,7 +206,6 @@ static int wpi_tx_data_raw(struct wpi_so static int wpi_raw_xmit(struct ieee80211_node *, struct mbuf *, const struct ieee80211_bpf_params *); static int wpi_transmit(struct ieee80211com *, struct mbuf *); -static voidwpi_start(void *, int); static voidwpi_watchdog_rfkill(void *); static voidwpi_scan_timeout(void *); static voidwpi_tx_timeout(void *); @@ -525,7 +524,6 @@ wpi_attach(device_t dev) TASK_INIT(>sc_reinittask, 0, wpi_hw_reset, sc); TASK_INIT(>sc_radiooff_task, 0, wpi_radio_off, sc); TASK_INIT(>sc_radioon_task, 0, wpi_radio_on, sc); - TASK_INIT(>sc_start_task, 0, wpi_start, sc); sc->sc_tq = taskqueue_create("wpi_taskq", M_WAITOK, taskqueue_thread_enqueue, >sc_tq); @@ -685,7 +683,6 @@ wpi_detach(device_t dev) if (ic->ic_vap_create == wpi_vap_create) { ieee80211_draintask(ic, >sc_radioon_task); - ieee80211_draintask(ic, >sc_start_task); wpi_stop(sc); @@ -1165,7 +1162,6 @@ wpi_alloc_tx_ring(struct wpi_softc *sc, ring->queued = 0; ring->cur = 0; ring->update = 0; - mbufq_init(>snd, ifqmaxlen); DPRINTF(sc, WPI_DEBUG_TRACE, TRACE_STR_BEGIN, __func__); @@ -1293,8 +1289,6 @@ wpi_reset_tx_ring(struct wpi_softc *sc, memset(ring->desc, 0, ring->desc_dma.size); bus_dmamap_sync(ring->desc_dma.tag, ring->desc_dma.map, BUS_DMASYNC_PREWRITE); - mbufq_drain(>snd); - sc->qfullmsk &= ~(1 << ring->qid); ring->queued = 0; ring->cur = 0; ring->update = 0; @@ -2104,16 +2098,9 @@ wpi_tx_done(struct wpi_softc *sc, struct ieee80211_tx_complete(ni, m, (status & WPI_TX_STATUS_FAIL) != 0); WPI_TXQ_STATE_LOCK(sc); - ring->queued -= 1; - if (ring->queued > 0) { + if (--ring->queued > 0) callout_reset(>tx_timeout, 5*hz, wpi_tx_timeout, sc); - - if ((sc->qfullmsk & (1 << ring->qid)) != 0 && -ring->queued < WPI_TX_RING_LOMARK) { - sc->qfullmsk &= ~(1 << ring->qid); - ieee80211_runtask(ic, >sc_start_task); - } - } else + else callout_stop(>tx_timeout); WPI_TXQ_STATE_UNLOCK(sc); @@ -2692,10 +2679,8 @@ wpi_cmd2(struct wpi_softc *sc, struct wp sc->sc_update_tx_ring(sc, ring); if (ring->qid < WPI_CMD_QUEUE_NUM) { - /* Mark TX ring as full if we reach a certain threshold. */ WPI_TXQ_STATE_LOCK(sc); - if (++ring->queued > WPI_TX_RING_HIMARK) - sc->qfullmsk |= 1 << ring->qid; + ring->queued++; callout_reset(>tx_timeout, 5*hz, wpi_tx_timeout, sc); WPI_TXQ_STATE_UNLOCK(sc); } @@ -3063,7 +3048,6 @@ wpi_transmit(struct ieee80211com *ic, st { struct wpi_softc *sc = ic->ic_softc; struct ieee80211_node *ni; - struct mbufq *sndq; int ac, error; WPI_TX_LOCK(sc); @@ -3077,10 +3061,8 @@ wpi_transmit(struct ieee80211com *ic, st /* Check for available space. */ ac = M_WME_GETAC(m); - sndq = >txq[ac].snd; - if (wpi_tx_ring_is_full(sc, ac) || mbufq_len(sndq) != 0) { - /* wpi_tx_done() will dequeue it. */ - error = mbufq_enqueue(sndq, m); + if (wpi_tx_ring_is_full(sc, ac)) { + error = ENOBUFS; goto unlock; } @@ -3097,44 +3079,6 @@ unlock: WPI_TX_UNLOCK(sc); return (error); } -/** - * Process data waiting to be sent on the output queue - */ -static void -wpi_start(void *arg0, int pending) -{ - struct wpi_softc *sc = arg0; - struct ieee80211_node *ni; - struct mbuf *m; - uint8_t i; - - WPI_TX_LOCK(sc); - if (sc->sc_running == 0) - goto unlock; - - DPRINTF(sc, WPI_DEBUG_XMIT, "%s: called\n", __func__); - - for (i = 0; i < WPI_CMD_QUEUE_NUM; i++) { - struct mbufq *sndq = >txq[i].snd; - - for (;;) { - if (wpi_tx_ring_is_full(sc, i)) - break; - - if ((m =
Re: svn commit: r288929 - in head: etc/mtree lib/libxo lib/libxo/tests usr.bin/xo usr.bin/xo/tests
On Wed, Oct 7, 2015 at 6:34 PM, Bryan Drewerywrote: ... >> Modified: head/lib/libxo/Makefile >> == >> --- head/lib/libxo/Makefile Tue Oct 6 16:35:50 2015(r288928) >> +++ head/lib/libxo/Makefile Tue Oct 6 16:58:47 2015(r288929) >> @@ -1,5 +1,7 @@ >> # $FreeBSD$ >> >> +.include >> + >> LIBXOSRC=${SRCTOP}/contrib/libxo >> >> .PATH: ${LIBXOSRC}/libxo > ... > LIB=xo > SHLIB_MAJOR=0 > > SHLIBDIR?= /lib > > > FYI SHLIBDIR? needs to be before the src.opts.mk otherwise it changes to > /usr/lib, which Peter found breaks boot :) *smacks head* Yes, I forgot about that caveat ;(. ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r288929 - in head: etc/mtree lib/libxo lib/libxo/tests usr.bin/xo usr.bin/xo/tests
On Wed, Oct 7, 2015 at 7:04 PM, Bryan Drewerywrote: ... >> *smacks head* >> >> Yes, I forgot about that caveat ;(. > > It would have bitten me too. It's a strange thing. It's technically be me once before and another person as well at $work. Libraries in /lib is not the norm so the default works for most cases (but not with bsd.libnames.mk when dealing with libraries that are not in /usr/lib for instance >_>..). Thanks for the reminder :(.. ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r289004 - in head: sys/compat/cloudabi usr.bin/truss
Author: ed Date: Thu Oct 8 05:27:45 2015 New Revision: 289004 URL: https://svnweb.freebsd.org/changeset/base/289004 Log: Properly format pointer size independent CloudABI system calls. CloudABI has approximately 50 system calls that do not depend on the pointer size of the system. As the ABI is pretty compact, it takes little effort to each truss(8) the formatting rules for these system calls. Start off by formatting pointer size independent system calls. Changes: - Make it possible to include the CloudABI system call definitions in FreeBSD userspace builds. Add ${root}/sys to the truss(8) Makefile so we can pull in . - Refactoring: patch up amd64-cloudabi64.c to use the CLOUDABI_* constants instead of rolling our own table. - Add table entries for all of the system calls. - Add new generic formatting types (UInt, IntArray) that we'll be using to format unsigned integers and arrays of integers. - Add CloudABI specific formatting types. Approved by: jhb Differential Revision:https://reviews.freebsd.org/D3836 Modified: head/sys/compat/cloudabi/cloudabi_syscalldefs.h head/usr.bin/truss/Makefile head/usr.bin/truss/amd64-cloudabi64.c head/usr.bin/truss/syscall.h head/usr.bin/truss/syscalls.c Modified: head/sys/compat/cloudabi/cloudabi_syscalldefs.h == --- head/sys/compat/cloudabi/cloudabi_syscalldefs.h Thu Oct 8 04:29:39 2015(r289003) +++ head/sys/compat/cloudabi/cloudabi_syscalldefs.h Thu Oct 8 05:27:45 2015(r289004) @@ -28,12 +28,19 @@ #ifndef _CLOUDABI_SYSCALLDEFS_H_ #define_CLOUDABI_SYSCALLDEFS_H_ +#ifdef _KERNEL #include #include #definealignas _Alignas #definealignof _Alignof #definestatic_assert _Static_assert +#else +#include +#include +#include +#include +#endif /* Import machine-independent CloudABI definitions. */ #include Modified: head/usr.bin/truss/Makefile == --- head/usr.bin/truss/Makefile Thu Oct 8 04:29:39 2015(r289003) +++ head/usr.bin/truss/Makefile Thu Oct 8 05:27:45 2015(r289004) @@ -13,7 +13,7 @@ SRCS+= ${MACHINE_CPUARCH}-fbsd.c .PATH: ${.CURDIR:H}/kdump SRCS+= utrace.c -CFLAGS+= -I${.CURDIR} -I. +CFLAGS+= -I${.CURDIR} -I. -I${.CURDIR}/../../sys CLEANFILES= syscalls.master syscalls.h ioctl.c .SUFFIXES: .master Modified: head/usr.bin/truss/amd64-cloudabi64.c == --- head/usr.bin/truss/amd64-cloudabi64.c Thu Oct 8 04:29:39 2015 (r289003) +++ head/usr.bin/truss/amd64-cloudabi64.c Thu Oct 8 05:27:45 2015 (r289004) @@ -34,6 +34,8 @@ __FBSDID("$FreeBSD$"); #include #include +#include + #include "cloudabi64_syscalls.h" #include "truss.h" @@ -67,18 +69,82 @@ amd64_cloudabi64_fetch_args(struct truss } static const int cloudabi_errno_table[] = { - 0, E2BIG, EACCES, EADDRINUSE, EADDRNOTAVAIL, EAFNOSUPPORT, - EAGAIN, EALREADY, EBADF, EBADMSG, EBUSY, ECANCELED, ECHILD, - ECONNABORTED, ECONNREFUSED, ECONNRESET, EDEADLK, EDESTADDRREQ, - EDOM, EDQUOT, EEXIST, EFAULT, EFBIG, EHOSTUNREACH, EIDRM, - EILSEQ, EINPROGRESS, EINTR, EINVAL, EIO, EISCONN, EISDIR, ELOOP, - EMFILE, EMLINK, EMSGSIZE, EMULTIHOP, ENAMETOOLONG, ENETDOWN, - ENETRESET, ENETUNREACH, ENFILE, ENOBUFS, ENODEV, ENOENT, - ENOEXEC, ENOLCK, ENOLINK, ENOMEM, ENOMSG, ENOPROTOOPT, ENOSPC, - ENOSYS, ENOTCONN, ENOTDIR, ENOTEMPTY, ENOTRECOVERABLE, ENOTSOCK, - ENOTSUP, ENOTTY, ENXIO, EOVERFLOW, EOWNERDEAD, EPERM, EPIPE, - EPROTO, EPROTONOSUPPORT, EPROTOTYPE, ERANGE, EROFS, ESPIPE, - ESRCH, ESTALE, ETIMEDOUT, ETXTBSY, EXDEV, ENOTCAPABLE, + [CLOUDABI_E2BIG]= E2BIG, + [CLOUDABI_EACCES] = EACCES, + [CLOUDABI_EADDRINUSE] = EADDRINUSE, + [CLOUDABI_EADDRNOTAVAIL]= EADDRNOTAVAIL, + [CLOUDABI_EAFNOSUPPORT] = EAFNOSUPPORT, + [CLOUDABI_EAGAIN] = EAGAIN, + [CLOUDABI_EALREADY] = EALREADY, + [CLOUDABI_EBADF]= EBADF, + [CLOUDABI_EBADMSG] = EBADMSG, + [CLOUDABI_EBUSY]= EBUSY, + [CLOUDABI_ECANCELED]= ECANCELED, + [CLOUDABI_ECHILD] = ECHILD, + [CLOUDABI_ECONNABORTED] = ECONNABORTED, + [CLOUDABI_ECONNREFUSED] = ECONNREFUSED, + [CLOUDABI_ECONNRESET] = ECONNRESET, + [CLOUDABI_EDEADLK] = EDEADLK, + [CLOUDABI_EDESTADDRREQ] = EDESTADDRREQ, + [CLOUDABI_EDOM] = EDOM, + [CLOUDABI_EDQUOT] = EDQUOT, + [CLOUDABI_EEXIST] = EEXIST, + [CLOUDABI_EFAULT] = EFAULT, +
svn commit: r288998 - head/lib/clang/libclangbasic
Author: rodrigc Date: Thu Oct 8 00:48:29 2015 New Revision: 288998 URL: https://svnweb.freebsd.org/changeset/base/288998 Log: Use -fpermissive if compiling with GCC. Works around GCC bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67888 when compiling Module.cpp Modified: head/lib/clang/libclangbasic/Makefile Modified: head/lib/clang/libclangbasic/Makefile == --- head/lib/clang/libclangbasic/Makefile Thu Oct 8 00:31:11 2015 (r288997) +++ head/lib/clang/libclangbasic/Makefile Thu Oct 8 00:48:29 2015 (r288998) @@ -47,3 +47,6 @@ TGHDRS= AttrHasAttributeImpl \ arm_neon .include "../clang.lib.mk" + +# XX: work around GCC bug 67888 +CFLAGS.gcc += -fpermissive ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r289000 - head/lib/libxo
On Wed, Oct 7, 2015 at 6:17 PM, Peter Wemmwrote: > Author: peter > Date: Thu Oct 8 01:17:45 2015 > New Revision: 289000 > URL: https://svnweb.freebsd.org/changeset/base/289000 > > Log: > Move SHLIBDIR?=/lib before so that it works again. Sorry :(... I forgot about that caveat (I wish src.opts.mk didn't set a default LIBDIR/SHLIBDIR...) Pointyhat to: ngie ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r288911 - head/share/mk
On 10/6/2015 1:24 PM, Warner Losh wrote: >> With the META_MODE changes, sjg introduced this /etc/src-env.conf file >> that is included from sys.mk early, that can be used for overriding >> things like MAKEOBJDIRPREFIX, enabling META_MODE (it needs to be set >> extremely early for AUTO_OBJ support, among other things). >> >> As far as I can tell, the sys.mk change to include src.conf early was >> done out of convenience. Meaning, we could remove that and just add >> back a .include or similar at the top of all src Makefiles. > All src makefiles? Yea, I’d rather hoped to avoid that, though it is easily > scripted. I’d thought of this solution at the time I did the MAKESYSPATH > hack, and rejected it as being too unwieldy. And having that at the top > of all the files would still require MAKESYSPATH need to be …/share/mk > to work out. I was rather hoping we could find some good way around > doing that. r289000 confuses me. Clearly src.opts.mk is still needed in Makefiles. So why are we including src.conf in sys.mk and not src.opts.mk? -- Regards, Bryan Drewery signature.asc Description: OpenPGP digital signature
svn commit: r288997 - head/usr.bin/truss
Author: bdrewery Date: Thu Oct 8 00:31:11 2015 New Revision: 288997 URL: https://svnweb.freebsd.org/changeset/base/288997 Log: Correct a comment. Modified: head/usr.bin/truss/truss.h Modified: head/usr.bin/truss/truss.h == --- head/usr.bin/truss/truss.h Wed Oct 7 20:04:32 2015(r288996) +++ head/usr.bin/truss/truss.h Thu Oct 8 00:31:11 2015(r288997) @@ -51,7 +51,7 @@ struct procabi { /* * This is confusingly named. It holds per-thread state about the - * currently executing system call. syscalls.h defines a struct + * currently executing system call. syscall.h defines a struct * syscall that holds metadata used to format system call arguments. * * NB: args[] stores the raw argument values (e.g. from registers) ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r289000 - head/lib/libxo
Author: peter Date: Thu Oct 8 01:17:45 2015 New Revision: 289000 URL: https://svnweb.freebsd.org/changeset/base/289000 Log: Move SHLIBDIR?=/lib before so that it works again. Modified: head/lib/libxo/Makefile Modified: head/lib/libxo/Makefile == --- head/lib/libxo/Makefile Thu Oct 8 00:52:41 2015(r288999) +++ head/lib/libxo/Makefile Thu Oct 8 01:17:45 2015(r289000) @@ -1,5 +1,7 @@ # $FreeBSD$ +SHLIBDIR?= /lib + .include LIBXOSRC= ${SRCTOP}/contrib/libxo @@ -9,8 +11,6 @@ LIBXOSRC= ${SRCTOP}/contrib/libxo LIB= xo SHLIB_MAJOR=0 -SHLIBDIR?= /lib - SRCS= libxo.c xo_encoder.c xo_syslog.c CFLAGS+=-I${LIBXOSRC}/libxo ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r289001 - in head: share/examples/bhyve usr.sbin/bhyveload
Author: marcel Date: Thu Oct 8 02:28:22 2015 New Revision: 289001 URL: https://svnweb.freebsd.org/changeset/base/289001 Log: Add option -l for specifying which OS loader to dlopen(3). By default this is /boot/userboot.so. This option allows for the development and use of other OS loaders. Modified: head/share/examples/bhyve/vmrun.sh head/usr.sbin/bhyveload/bhyveload.8 head/usr.sbin/bhyveload/bhyveload.c Modified: head/share/examples/bhyve/vmrun.sh == --- head/share/examples/bhyve/vmrun.sh Thu Oct 8 01:17:45 2015 (r289000) +++ head/share/examples/bhyve/vmrun.sh Thu Oct 8 02:28:22 2015 (r289001) @@ -48,8 +48,8 @@ usage() { echo "Usage: vmrun.sh [-ahi] [-c ] [-C ] [-d ]" echo "[-e
svn commit: r288983 - in head/sys/arm: arm include
Author: kib Date: Wed Oct 7 09:12:49 2015 New Revision: 288983 URL: https://svnweb.freebsd.org/changeset/base/288983 Log: A follow-up to r288492. In fact, revert the mentioned commit for pre-VFPv3 processors, since they do require software support code to handle denormals. For VFPv3 and later, enable flush-to-zero if hardware does not claim full denormals arithmetic support by VMVFR1_FZ field in mvfr1 register. The end result is that we do use correct fpu environment on Cortexes with VFPv3, while ARM11 (e.g. rpi) is in non-compliant flush-to-zero mode. At least CPUs without complete hardware implementation of IEEE 754 do not cause unhandled floating point exception on underflow, as it was before r288492. Noted by: ian Tested by:gjb Sponsored by: The FreeBSD Foundation MFC after:1 week Modified: head/sys/arm/arm/vfp.c head/sys/arm/arm/vm_machdep.c head/sys/arm/include/md_var.h Modified: head/sys/arm/arm/vfp.c == --- head/sys/arm/arm/vfp.c Wed Oct 7 08:56:38 2015(r288982) +++ head/sys/arm/arm/vfp.c Wed Oct 7 09:12:49 2015(r288983) @@ -38,6 +38,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -128,6 +129,15 @@ vfp_init(void) tmp = fmrx(mvfr1); PCPU_SET(vfpmvfr1, tmp); + + if (PCPU_GET(cpuid) == 0) { + if ((tmp & VMVFR1_FZ_MASK) == 0x1) { + /* Denormals arithmetic support */ + initial_fpscr &= ~VFPSCR_FZ; + thread0.td_pcb->pcb_vfpstate.fpscr = + initial_fpscr; + } + } } /* initialize the coprocess 10 and 11 calls Modified: head/sys/arm/arm/vm_machdep.c == --- head/sys/arm/arm/vm_machdep.c Wed Oct 7 08:56:38 2015 (r288982) +++ head/sys/arm/arm/vm_machdep.c Wed Oct 7 09:12:49 2015 (r288983) @@ -85,6 +85,8 @@ __FBSDID("$FreeBSD$"); CTASSERT(sizeof(struct switchframe) == 48); CTASSERT(sizeof(struct trapframe) == 80); +uint32_t initial_fpscr = VFPSCR_DN | VFPSCR_FZ; + /* * Finish a fork operation, with process p2 nearly set up. * Copy and update the pcb, set up the stack so that the child @@ -134,7 +136,7 @@ cpu_fork(register struct thread *td1, re pcb2->pcb_regs.sf_sp = STACKALIGN(td2->td_frame); pcb2->pcb_vfpcpu = -1; - pcb2->pcb_vfpstate.fpscr = VFPSCR_DN; + pcb2->pcb_vfpstate.fpscr = initial_fpscr; tf = td2->td_frame; tf->tf_spsr &= ~PSR_C; Modified: head/sys/arm/include/md_var.h == --- head/sys/arm/include/md_var.h Wed Oct 7 08:56:38 2015 (r288982) +++ head/sys/arm/include/md_var.h Wed Oct 7 09:12:49 2015 (r288983) @@ -71,4 +71,6 @@ void dump_add_page(vm_paddr_t); void dump_drop_page(vm_paddr_t); int minidumpsys(struct dumperinfo *); +extern uint32_t initial_fpscr; + #endif /* !_MACHINE_MD_VAR_H_ */ ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r288984 - head/sbin/sysctl
Author: bapt Date: Wed Oct 7 09:28:54 2015 New Revision: 288984 URL: https://svnweb.freebsd.org/changeset/base/288984 Log: Only print the errno string in case sysctl(3) does not file with ENOENT This reduces the noise in error reporing from sysctl(8): Before: $ sysctl bla=something sysctl: unknown oid 'bla': No such file or directory After: $ sysctl bla=something sysctl: unknown oid 'bla' MFC after:1 week Sponsored by: Gandi.net Modified: head/sbin/sysctl/sysctl.c Modified: head/sbin/sysctl/sysctl.c == --- head/sbin/sysctl/sysctl.c Wed Oct 7 09:12:49 2015(r288983) +++ head/sbin/sysctl/sysctl.c Wed Oct 7 09:28:54 2015(r288984) @@ -276,7 +276,11 @@ parse(const char *string, int lineno) if (qflag) return (1); else { - warn("unknown oid '%s'%s", bufp, line); + if (errno == ENOENT) { + warnx("unknown oid '%s'%s", bufp, line); + } else { + warn("unknown oid '%s'%s", bufp, line); + } return (1); } } ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r288990 - head/sys/kern
Author: glebius Date: Wed Oct 7 12:40:00 2015 New Revision: 288990 URL: https://svnweb.freebsd.org/changeset/base/288990 Log: Fix regression from r248371. We need to copy packet header to new mbuf. Unlike in the pre-r248371 code, assert that M_PKTHDR is set only on a first mbuf. Reported & tested by: Andriy Voskoboinyk Sponsored by: Nginx, Inc. Modified: head/sys/kern/uipc_mbuf.c Modified: head/sys/kern/uipc_mbuf.c == --- head/sys/kern/uipc_mbuf.c Wed Oct 7 12:36:28 2015(r288989) +++ head/sys/kern/uipc_mbuf.c Wed Oct 7 12:40:00 2015(r288990) @@ -1867,6 +1867,11 @@ m_unshare(struct mbuf *m0, int how) m_freem(m0); return (NULL); } + if (m->m_flags & M_PKTHDR) { + KASSERT(mprev == NULL, ("%s: m0 %p, m %p has M_PKTHDR", + __func__, m0, m)); + m_move_pkthdr(n, m); + } len = m->m_len; off = 0; mfirst = n; ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r288992 - in head/sys: arm/ti conf
Author: andrew Date: Wed Oct 7 13:19:44 2015 New Revision: 288992 URL: https://svnweb.freebsd.org/changeset/base/288992 Log: Move pmu.c to files.arm and rename the option to pmu. This is not hwpmc specific as we may use the pmu registers for other uses. No configs seem to currently build this. This will allow for more use of this device. Discussed with: bz Sponsored by: ABT Systems Ltd Modified: head/sys/arm/ti/files.ti head/sys/conf/files.arm Modified: head/sys/arm/ti/files.ti == --- head/sys/arm/ti/files.tiWed Oct 7 13:10:26 2015(r288991) +++ head/sys/arm/ti/files.tiWed Oct 7 13:19:44 2015(r288992) @@ -5,7 +5,6 @@ kern/kern_clocksource.c standard arm/arm/bus_space_base.c standard arm/arm/bus_space_generic.cstandard arm/arm/bus_space_asm_generic.Sstandard -arm/arm/pmu.c optionalhwpmc arm/ti/ti_common.c standard arm/ti/ti_cpuid.c standard Modified: head/sys/conf/files.arm == --- head/sys/conf/files.arm Wed Oct 7 13:10:26 2015(r288991) +++ head/sys/conf/files.arm Wed Oct 7 13:19:44 2015(r288992) @@ -56,6 +56,7 @@ arm/arm/platform_if.m optionalplatform arm/arm/pmap.c optional!armv6 arm/arm/pmap-v6.c optionalarmv6 !arm_new_pmap arm/arm/pmap-v6-new.c optionalarmv6 arm_new_pmap +arm/arm/pmu.c optionalpmu arm/arm/sc_machdep.c optionalsc arm/arm/setcpsr.S standard arm/arm/setstack.s standard ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r288917 - in head/sys: amd64/amd64 amd64/include dev/xen/blkfront i386/i386 i386/include xen xen/interface xen/interface/arch-arm/hvm xen/interface/arch-x86 xen/interface/arch-x86/hvm
El 06/10/15 a les 20.14, John Baldwin ha escrit: > On Tuesday, October 06, 2015 11:29:45 AM Roger Pau Monné wrote: >> Author: royger >> Date: Tue Oct 6 11:29:44 2015 >> New Revision: 288917 >> URL: https://svnweb.freebsd.org/changeset/base/288917 >> >> Log: >> Update Xen headers from 4.2 to 4.6 >> >> Pull the latest headers for Xen which allow us to add support for ARM and >> use new features in FreeBSD. > > Should we be importing these into vendor-sys as vendor sources? AFAIK Xen headers have always been imported unmodified and directly, but I guess it makes sense to import them into vendor-sys even if we don't need to perform any adjustments. I will look at doing it for the next import. Roger. ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r288991 - head/sys/netinet
Author: glebius Date: Wed Oct 7 13:10:26 2015 New Revision: 288991 URL: https://svnweb.freebsd.org/changeset/base/288991 Log: Fix regression from r287779, that bite me. If we call m_pullup() unconditionally, we end up with an mbuf chain of two mbufs, which later in in_arpreply() is rewritten from ARP request to ARP reply and is sent out. Looks like igb(4) (at least mine, and at least at my network) fails on such mbuf chain, so ARP reply doesn't go out wire. Thus, make the m_pullup() call conditional, as it is everywhere. Of course, the bug in igb(?) should be investigated, but better first fix the head. And unconditional m_pullup() was suboptimal, anyway. Modified: head/sys/netinet/if_ether.c Modified: head/sys/netinet/if_ether.c == --- head/sys/netinet/if_ether.c Wed Oct 7 12:40:00 2015(r288990) +++ head/sys/netinet/if_ether.c Wed Oct 7 13:10:26 2015(r288991) @@ -531,12 +531,15 @@ arpintr(struct mbuf *m) ar = mtod(m, struct arphdr *); /* Check if length is sufficient */ - if ((m = m_pullup(m, arphdr_len(ar))) == NULL) { - ARP_LOG(LOG_NOTICE, "short packet received on %s\n", - if_name(ifp)); - return; + if (m->m_len < arphdr_len(ar)) { + m = m_pullup(m, arphdr_len(ar)); + if (m == NULL) { + ARP_LOG(LOG_NOTICE, "short packet received on %s\n", + if_name(ifp)); + return; + } + ar = mtod(m, struct arphdr *); } - ar = mtod(m, struct arphdr *); hlen = 0; layer = ""; ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r288989 - head/sys/ufs/ffs
Author: glebius Date: Wed Oct 7 12:36:28 2015 New Revision: 288989 URL: https://svnweb.freebsd.org/changeset/base/288989 Log: In softdep_setup_freeblocks(): - Move the bread() to the beginning of function. - Return if it fails, otherwise we will panic. Submitted by: mckusick Sponsored by: Netflix Modified: head/sys/ufs/ffs/ffs_softdep.c Modified: head/sys/ufs/ffs/ffs_softdep.c == --- head/sys/ufs/ffs/ffs_softdep.c Wed Oct 7 09:41:17 2015 (r288988) +++ head/sys/ufs/ffs/ffs_softdep.c Wed Oct 7 12:36:28 2015 (r288989) @@ -6835,6 +6835,13 @@ softdep_setup_freeblocks(ip, length, fla ip->i_number, length); KASSERT(length == 0, ("softdep_setup_freeblocks: non-zero length")); fs = ip->i_fs; + if ((error = bread(ip->i_devvp, + fsbtodb(fs, ino_to_fsba(fs, ip->i_number)), + (int)fs->fs_bsize, NOCRED, )) != 0) { + brelse(bp); + softdep_error("softdep_setup_freeblocks", error); + return; + } freeblks = newfreeblks(mp, ip); extblocks = 0; datablocks = 0; @@ -6871,12 +6878,6 @@ softdep_setup_freeblocks(ip, length, fla * to delete its dependencies below. Once the dependencies are gone * the buffer can be safely released. */ - if ((error = bread(ip->i_devvp, - fsbtodb(fs, ino_to_fsba(fs, ip->i_number)), - (int)fs->fs_bsize, NOCRED, )) != 0) { - brelse(bp); - softdep_error("softdep_setup_freeblocks", error); - } if (ump->um_fstype == UFS1) { dp1 = ((struct ufs1_dinode *)bp->b_data + ino_to_fsbo(fs, ip->i_number)); ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r288993 - head/lib/libc/sys
Author: jhb Date: Wed Oct 7 17:52:18 2015 New Revision: 288993 URL: https://svnweb.freebsd.org/changeset/base/288993 Log: Document the recently added pl_syscall_* fields in struct ptrace_lwpinfo. Reviewed by: emaste, kib Differential Revision:https://reviews.freebsd.org/D3833 Modified: head/lib/libc/sys/ptrace.2 Modified: head/lib/libc/sys/ptrace.2 == --- head/lib/libc/sys/ptrace.2 Wed Oct 7 13:19:44 2015(r288992) +++ head/lib/libc/sys/ptrace.2 Wed Oct 7 17:52:18 2015(r288993) @@ -2,7 +2,7 @@ .\"$NetBSD: ptrace.2,v 1.2 1995/02/27 12:35:37 cgd Exp $ .\" .\" This file is in the public domain. -.Dd July 3, 2015 +.Dd October 6, 2015 .Dt PTRACE 2 .Os .Sh NAME @@ -307,6 +307,8 @@ struct ptrace_lwpinfo { siginfo_t pl_siginfo; charpl_tdname[MAXCOMLEN + 1]; int pl_child_pid; + u_int pl_syscall_code; + u_int pl_syscall_narg; }; .Ed .Pp @@ -395,6 +397,27 @@ stop when .Dv PL_FLAG_FORKED is set in .Va pl_flags . +.It pl_syscall_code +The ABI-specific identifier of the current system call. +Note that for indirect system calls this field reports the indirected +system call. +Only valid when +.Dv PL_FLAG_SCE +or +.Dv PL_FLAG_SCX +is set in +.Va pl_flags. +.It pl_syscall_narg +The number of arguments passed to the current system call not counting +the system call identifier. +Note that for indirect system calls this field reports the arguments +passed to the indirected system call. +Only valid when +.Dv PL_FLAG_SCE +or +.Dv PL_FLAG_SCX +is set in +.Va pl_flags. .El .It PT_GETNUMLWPS This request returns the number of kernel threads associated with the ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r288994 - head/sys/compat/linux
Author: bdrewery Date: Wed Oct 7 19:10:38 2015 New Revision: 288994 URL: https://svnweb.freebsd.org/changeset/base/288994 Log: Remove redundant RFFPWAIT/vfork(2) handling in Linux fork(2) and clone(2) wrappers. r161611 added some of the code from sys_vfork() directly into the Linux module wrappers since they use RFSTOPPED. In r232240, the RFFPWAIT handling was moved to syscallret(), thus this code in the Linux module is no longer needed as it will be called later. This also allows the Linux wrappers to benefit from the fix in r275616 for threads not getting suspended if their vforked child is stopped while they wait on them. Reviewed by: jhb, kib MFC after:2 weeks Differential Revision:https://reviews.freebsd.org/D3828 Modified: head/sys/compat/linux/linux_fork.c Modified: head/sys/compat/linux/linux_fork.c == --- head/sys/compat/linux/linux_fork.c Wed Oct 7 17:52:18 2015 (r288993) +++ head/sys/compat/linux/linux_fork.c Wed Oct 7 19:10:38 2015 (r288994) @@ -106,20 +106,14 @@ linux_vfork(struct thread *td, struct li printf(ARGS(vfork, "")); #endif - /* Exclude RFPPWAIT */ - if ((error = fork1(td, RFFDG | RFPROC | RFMEM | RFSTOPPED, 0, , - NULL, 0, NULL)) != 0) + if ((error = fork1(td, RFFDG | RFPROC | RFMEM | RFPPWAIT | RFSTOPPED, + 0, , NULL, 0, NULL)) != 0) return (error); - td2 = FIRST_THREAD_IN_PROC(p2); linux_proc_init(td, td2, 0); - PROC_LOCK(p2); - p2->p_flag |= P_PPWAIT; - PROC_UNLOCK(p2); - td->td_retval[0] = p2->p_pid; /* @@ -130,12 +124,6 @@ linux_vfork(struct thread *td, struct li sched_add(td2, SRQ_BORING); thread_unlock(td2); - /* wait for the children to exit, ie. emulate vfork */ - PROC_LOCK(p2); - while (p2->p_flag & P_PPWAIT) - cv_wait(>p_pwait, >p_mtx); - PROC_UNLOCK(p2); - return (0); } @@ -179,6 +167,9 @@ linux_clone_proc(struct thread *td, stru if (args->parent_tidptr == NULL) return (EINVAL); + if (args->flags & LINUX_CLONE_VFORK) + ff |= RFPPWAIT; + error = fork1(td, ff, 0, , NULL, 0, NULL); if (error) return (error); @@ -228,12 +219,6 @@ linux_clone_proc(struct thread *td, stru exit_signal); #endif - if (args->flags & LINUX_CLONE_VFORK) { - PROC_LOCK(p2); - p2->p_flag |= P_PPWAIT; - PROC_UNLOCK(p2); - } - /* * Make this runnable after we are finished with it. */ @@ -244,14 +229,6 @@ linux_clone_proc(struct thread *td, stru td->td_retval[0] = p2->p_pid; - if (args->flags & LINUX_CLONE_VFORK) { - /* wait for the children to exit, ie. emulate vfork */ - PROC_LOCK(p2); - while (p2->p_flag & P_PPWAIT) - cv_wait(>p_pwait, >p_mtx); - PROC_UNLOCK(p2); - } - return (0); } ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r288966 - head/share/mk
Bryan Drewerywrote: > > +.for h in ${SRCS:M*.h} > > I think we can use DPSRCS as well for this. Not sure. usr.bin/truss/Makefile didn't use that. I only see it set in bsd.dep.mk - which we don't use in meta mode. ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r288966 - head/share/mk
On 10/7/2015 11:02 AM, Simon J. Gerraty wrote: > Bryan Drewerywrote: >>> +.for h in ${SRCS:M*.h} >> >> I think we can use DPSRCS as well for this. > > Not sure. > usr.bin/truss/Makefile didn't use that. > I only see it set in bsd.dep.mk - which we don't use in meta mode. > I'm less thinking about the usage in bsd.dep.mk and more these that manually set it: gnu/lib/libreadline/readline/Makefile:DPSRCS+= ${INSTALLED_HEADERS} lib/libc/tests/rpc/Makefile:DPSRCS+=h_testbits.h sbin/ipf/ipf/Makefile:DPSRCS+= ${GENHDRS} sbin/ipf/ipftest/Makefile:DPSRCS+= ${GENHDRS} sbin/ipf/ipmon/Makefile:DPSRCS+=${GENHDRS} sbin/ipf/ipnat/Makefile:DPSRCS+=${GENHDRS} sbin/ipf/ippool/Makefile:DPSRCS+= ${GENHDRS} sys/modules/linux/Makefile:DPSRCS= linux${SFX}_genassym.c sys/modules/linux64/Makefile:DPSRCS=linux_genassym.c sys/modules/vmm/Makefile:DPSRCS=vmx_genassym.c svm_genassym.c usr.bin/kdump/Makefile:DPSRCS= kdump_subr.h usr.bin/netstat/Makefile:DPSRCS=nl_defs.h usr.bin/svn/svn/Makefile:DPSRCS+= freebsd-organization.h I ran into at least one case, I think usr.bin/netstat, where the file in DPSRCS was missing and Makefile.depend had to learn how to build it before it would work. I can test more to see if adding it has any effect. -- Regards, Bryan Drewery signature.asc Description: OpenPGP digital signature