svn commit: r238516 - head/sys/netinet
Author: glebius Date: Mon Jul 16 07:08:34 2012 New Revision: 238516 URL: http://svn.freebsd.org/changeset/base/238516 Log: If ip_output() returns EMSGSIZE to tcp_output(), then the latter calls tcp_mtudisc(), which in its turn may call tcp_output(). Under certain conditions (must admit they are very special) an infinite recursion can happen. To avoid recursion we can pass struct route to ip_output() and obtain correct mtu. This allows us not to use tcp_mtudisc() but call tcp_mss_update() directly. PR: kern/155585 Submitted by: Andrey Zonov (original version of patch) Modified: head/sys/netinet/tcp_output.c Modified: head/sys/netinet/tcp_output.c == --- head/sys/netinet/tcp_output.c Mon Jul 16 06:56:46 2012 (r238515) +++ head/sys/netinet/tcp_output.c Mon Jul 16 07:08:34 2012 (r238516) @@ -180,7 +180,7 @@ tcp_output(struct tcpcb *tp) int idle, sendalot; int sack_rxmit, sack_bytes_rxmt; struct sackhole *p; - int tso; + int tso, mtu; struct tcpopt to; #if 0 int maxburst = TCP_MAXBURST; @@ -226,6 +226,7 @@ again: tcp_sack_adjust(tp); sendalot = 0; tso = 0; + mtu = 0; off = tp->snd_nxt - tp->snd_una; sendwin = min(tp->snd_wnd, tp->snd_cwnd); @@ -1209,6 +1210,9 @@ timer: */ #ifdef INET6 if (isipv6) { + struct route_in6 ro; + + bzero(&ro, sizeof(ro)); /* * we separately set hoplimit for every segment, since the * user might want to change the value via setsockopt. @@ -1218,10 +1222,13 @@ timer: ip6->ip6_hlim = in6_selecthlim(tp->t_inpcb, NULL); /* TODO: IPv6 IP6TOS_ECT bit on */ - error = ip6_output(m, - tp->t_inpcb->in6p_outputopts, NULL, - ((so->so_options & SO_DONTROUTE) ? - IP_ROUTETOIF : 0), NULL, NULL, tp->t_inpcb); + error = ip6_output(m, tp->t_inpcb->in6p_outputopts, &ro, + ((so->so_options & SO_DONTROUTE) ? IP_ROUTETOIF : 0), + NULL, NULL, tp->t_inpcb); + + if (error == EMSGSIZE && ro.ro_rt != NULL) + mtu = ro.ro_rt->rt_rmx.rmx_mtu; + RO_RTFREE(&ro); } #endif /* INET6 */ #if defined(INET) && defined(INET6) @@ -1229,6 +1236,9 @@ timer: #endif #ifdef INET { + struct route ro; + + bzero(&ro, sizeof(ro)); ip->ip_len = m->m_pkthdr.len; #ifdef INET6 if (tp->t_inpcb->inp_vflag & INP_IPV6PROTO) @@ -1245,9 +1255,13 @@ timer: if (V_path_mtu_discovery && tp->t_maxopd > V_tcp_minmss) ip->ip_off |= IP_DF; - error = ip_output(m, tp->t_inpcb->inp_options, NULL, + error = ip_output(m, tp->t_inpcb->inp_options, &ro, ((so->so_options & SO_DONTROUTE) ? IP_ROUTETOIF : 0), 0, tp->t_inpcb); + + if (error == EMSGSIZE && ro.ro_rt != NULL) + mtu = ro.ro_rt->rt_rmx.rmx_mtu; + RO_RTFREE(&ro); } #endif /* INET */ if (error) { @@ -1294,21 +1308,18 @@ out: * For some reason the interface we used initially * to send segments changed to another or lowered * its MTU. -* -* tcp_mtudisc() will find out the new MTU and as -* its last action, initiate retransmission, so it -* is important to not do so here. -* * If TSO was active we either got an interface * without TSO capabilits or TSO was turned off. -* Disable it for this connection as too and -* immediatly retry with MSS sized segments generated -* by this function. +* If we obtained mtu from ip_output() then update +* it and try again. */ if (tso) tp->t_flags &= ~TF_TSO; - tcp_mtudisc(tp->t_inpcb, -1); - return (0); + if (mtu != 0) { + tcp_mss_update(tp, -1, mtu, NULL, NULL); + goto again; + } + return (error); case EHOSTDOWN: case EHOSTUNREACH: case ENETDOWN: ___ 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: r238516 - head/sys/netinet
Thank you very much !!! Mon, 16 Jul 2012 07:08:34 + (UTC) от Gleb Smirnoff : Author: glebius Date: Mon Jul 16 07:08:34 2012 New Revision: 238516 URL: http://svn.freebsd.org/changeset/base/238516 Log: If ip_output() returns EMSGSIZE to tcp_output(), then the latter calls tcp_mtudisc(), which in its turn may call tcp_output(). Under certain conditions (must admit they are very special) an infinite recursion can happen. To avoid recursion we can pass struct route to ip_output() and obtain correct mtu. This allows us not to use tcp_mtudisc() but call tcp_mss_update() directly. PR: kern/155585 Submitted by: Andrey Zonov (original version of patch) Modified: head/sys/netinet/tcp_output.c Modified: head/sys/netinet/tcp_output.c == --- head/sys/netinet/tcp_output.c Mon Jul 16 06:56:46 2012 (r238515) +++ head/sys/netinet/tcp_output.c Mon Jul 16 07:08:34 2012 (r238516) @@ -180,7 +180,7 @@ tcp_output(struct tcpcb *tp) int idle, sendalot; int sack_rxmit, sack_bytes_rxmt; struct sackhole *p; - int tso; + int tso, mtu; struct tcpopt to; #if 0 int maxburst = TCP_MAXBURST; @@ -226,6 +226,7 @@ again: tcp_sack_adjust(tp); sendalot = 0; tso = 0; + mtu = 0; off = tp->snd_nxt - tp->snd_una; sendwin = min(tp->snd_wnd, tp->snd_cwnd); @@ -1209,6 +1210,9 @@ timer: */ #ifdef INET6 if (isipv6) { + struct route_in6 ro; + + bzero(&ro, sizeof(ro)); /* * we separately set hoplimit for every segment, since the * user might want to change the value via setsockopt. @@ -1218,10 +1222,13 @@ timer: ip6->ip6_hlim = in6_selecthlim(tp->t_inpcb, NULL); /* TODO: IPv6 IP6TOS_ECT bit on */ - error = ip6_output(m, - tp->t_inpcb->in6p_outputopts, NULL, - ((so->so_options & SO_DONTROUTE) ? - IP_ROUTETOIF : 0), NULL, NULL, tp->t_inpcb); + error = ip6_output(m, tp->t_inpcb->in6p_outputopts, &ro, + ((so->so_options & SO_DONTROUTE) ? IP_ROUTETOIF : 0), + NULL, NULL, tp->t_inpcb); + + if (error == EMSGSIZE && ro.ro_rt != NULL) + mtu = ro.ro_rt->rt_rmx.rmx_mtu; + RO_RTFREE(&ro); } #endif /* INET6 */ #if defined(INET) && defined(INET6) @@ -1229,6 +1236,9 @@ timer: #endif #ifdef INET { + struct route ro; + + bzero(&ro, sizeof(ro)); ip->ip_len = m->m_pkthdr.len; #ifdef INET6 if (tp->t_inpcb->inp_vflag & INP_IPV6PROTO) @@ -1245,9 +1255,13 @@ timer: if (V_path_mtu_discovery && tp->t_maxopd > V_tcp_minmss) ip->ip_off |= IP_DF; - error = ip_output(m, tp->t_inpcb->inp_options, NULL, + error = ip_output(m, tp->t_inpcb->inp_options, &ro, ((so->so_options & SO_DONTROUTE) ? IP_ROUTETOIF : 0), 0, tp->t_inpcb); + + if (error == EMSGSIZE && ro.ro_rt != NULL) + mtu = ro.ro_rt->rt_rmx.rmx_mtu; + RO_RTFREE(&ro); } #endif /* INET */ if (error) { @@ -1294,21 +1308,18 @@ out: * For some reason the interface we used initially * to send segments changed to another or lowered * its MTU. - * - * tcp_mtudisc() will find out the new MTU and as - * its last action, initiate retransmission, so it - * is important to not do so here. - * * If TSO was active we either got an interface * without TSO capabilits or TSO was turned off. - * Disable it for this connection as too and - * immediatly retry with MSS sized segments generated - * by this function. + * If we obtained mtu from ip_output() then update + * it and try again. */ if (tso) tp->t_flags &= ~TF_TSO; - tcp_mtudisc(tp->t_inpcb, -1); - return (0); + if (mtu != 0) { + tcp_mss_update(tp, -1, mtu, NULL, NULL); + goto again; + } + return (error); case EHOSTDOWN: case EHOSTUNREACH: case ENETDOWN: ___ svn-src-...@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org" ___ 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: r237847 - head/usr.bin/killall
On 06/30/12 09:36, Konstantin Belousov wrote: > New Revision: 237847 > URL: http://svn.freebsd.org/changeset/base/237847 > > Log: > Once in a month, when the moon is full, killall mistakenly considers > living process as a zombie and refuses to kill it. The cause is that > the code masks ki_stat with SZOMB to compare with SZOMB, but ki_stat > is not a mask. > > Possibly reported by: cperciva For the archives: Judging by the frequency with which I was seeing killall failing to send a signal and the fact I haven't seen it happen since I applied this patch, I'm 99.% confident that this was indeed the bug I was running into. Hopefully everybody else is sending signals to specific pids rather than using killall during log rotation like I am. :-) -- Colin Percival Security Officer Emeritus, FreeBSD | The power to serve Founder, Tarsnap | www.tarsnap.com | Online backups for the truly paranoid ___ 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: r238514 - head/usr.bin/netstat
Is it my imagination or did this break the build? On 07/15/2012 23:43, Michael Tuexen wrote: > Author: tuexen > Date: Mon Jul 16 06:43:04 2012 > New Revision: 238514 > URL: http://svn.freebsd.org/changeset/base/238514 > > Log: > Allow netstat to be build if INET is not defined in the kernel. > Thanks to Garrett Cooper for reporting the issue. > > MFC after: 3 days > X-MFC: 238501 > > Modified: > head/usr.bin/netstat/Makefile > head/usr.bin/netstat/sctp.c > > Modified: head/usr.bin/netstat/Makefile > == > --- head/usr.bin/netstat/Makefile Mon Jul 16 02:10:26 2012 > (r238513) > +++ head/usr.bin/netstat/Makefile Mon Jul 16 06:43:04 2012 > (r238514) > @@ -13,6 +13,10 @@ CFLAGS+=-fno-strict-aliasing > CFLAGS+=-DIPSEC > CFLAGS+=-DSCTP > > +.if ${MK_INET_SUPPORT} != "no" > +CFLAGS+=-DINET > +.endif > + > .if ${MK_INET6_SUPPORT} != "no" > SRCS+= inet6.c > CFLAGS+=-DINET6 > > Modified: head/usr.bin/netstat/sctp.c > == > --- head/usr.bin/netstat/sctp.c Mon Jul 16 02:10:26 2012 > (r238513) > +++ head/usr.bin/netstat/sctp.c Mon Jul 16 06:43:04 2012 > (r238514) > @@ -107,6 +107,7 @@ struct xraddr_entry { > * If numeric_addr has been supplied, give > * numeric value, otherwise try for symbolic name. > */ > +#ifdef INET > static char * > inetname(struct in_addr *inp) > { > @@ -146,6 +147,7 @@ inetname(struct in_addr *inp) > } > return (line); > } > +#endif > > #ifdef INET6 > static char ntop_buf[INET6_ADDRSTRLEN]; > @@ -197,9 +199,11 @@ sctp_print_address(union sctp_sockstore > int width; > > switch (address->sa.sa_family) { > +#ifdef INET > case AF_INET: > sprintf(line, "%.*s.", Wflag ? 39 : 16, > inetname(&address->sin.sin_addr)); > break; > +#endif > #ifdef INET6 > case AF_INET6: > sprintf(line, "%.*s.", Wflag ? 39 : 16, > inet6name(&address->sin6.sin6_addr)); > -- Change is hard. ___ 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: r238526 - in head/sys/dev/usb: . serial
Author: hselasky Date: Mon Jul 16 09:35:47 2012 New Revision: 238526 URL: http://svn.freebsd.org/changeset/base/238526 Log: Add new USB device ID. PR: usb/169789 MFC after:1 week Modified: head/sys/dev/usb/serial/u3g.c head/sys/dev/usb/usbdevs Modified: head/sys/dev/usb/serial/u3g.c == --- head/sys/dev/usb/serial/u3g.c Mon Jul 16 09:02:43 2012 (r238525) +++ head/sys/dev/usb/serial/u3g.c Mon Jul 16 09:35:47 2012 (r238526) @@ -359,6 +359,7 @@ static const STRUCT_USB_HOST_ID u3g_devs U3G_DEV(QUALCOMM2, MF330, 0), U3G_DEV(QUALCOMM2, SIM5218, 0), U3G_DEV(QUALCOMM2, VW110L, U3GINIT_SCSIEJECT), + U3G_DEV(QUALCOMM2, GOBI2000, 0), U3G_DEV(QUALCOMMINC, AC2726, 0), U3G_DEV(QUALCOMMINC, AC8700, 0), U3G_DEV(QUALCOMMINC, AC8710, 0), Modified: head/sys/dev/usb/usbdevs == --- head/sys/dev/usb/usbdevsMon Jul 16 09:02:43 2012(r238525) +++ head/sys/dev/usb/usbdevsMon Jul 16 09:35:47 2012(r238526) @@ -2705,6 +2705,7 @@ product QUALCOMM2 CDMA_MSM0x3196 CDMA T product QUALCOMM2 AC8700 0x6000 AC8700 product QUALCOMM2 VW110L 0x1000 Vertex Wireless 110L modem product QUALCOMM2 SIM5218 0x9000 SIM5218 +product QUALCOMM2 GOBI2000 0x9204 Qualcomm Gobi 2000 product QUALCOMMINC CDMA_MSM 0x0001 CDMA Technologies MSM modem product QUALCOMMINC E0002 0x0002 3G modem product QUALCOMMINC E0003 0x0003 3G modem ___ 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: r238527 - in head: sys/kern sys/sys usr.bin/procstat
Author: pgj (ports committer) Date: Mon Jul 16 09:38:19 2012 New Revision: 238527 URL: http://svn.freebsd.org/changeset/base/238527 Log: - Add support for displaying process stack memory regions. Approved by: rwatson MFC after:3 days Modified: head/sys/kern/kern_proc.c head/sys/sys/user.h head/usr.bin/procstat/procstat.1 head/usr.bin/procstat/procstat_vm.c Modified: head/sys/kern/kern_proc.c == --- head/sys/kern/kern_proc.c Mon Jul 16 09:35:47 2012(r238526) +++ head/sys/kern/kern_proc.c Mon Jul 16 09:38:19 2012(r238527) @@ -2189,6 +2189,10 @@ sysctl_kern_proc_vmmap(SYSCTL_HANDLER_AR kve->kve_flags |= KVME_FLAG_NEEDS_COPY; if (entry->eflags & MAP_ENTRY_NOCOREDUMP) kve->kve_flags |= KVME_FLAG_NOCOREDUMP; + if (entry->eflags & MAP_ENTRY_GROWS_UP) + kve->kve_flags |= KVME_FLAG_GROWS_UP; + if (entry->eflags & MAP_ENTRY_GROWS_DOWN) + kve->kve_flags |= KVME_FLAG_GROWS_DOWN; last_timestamp = map->timestamp; vm_map_unlock_read(map); Modified: head/sys/sys/user.h == --- head/sys/sys/user.h Mon Jul 16 09:35:47 2012(r238526) +++ head/sys/sys/user.h Mon Jul 16 09:38:19 2012(r238527) @@ -413,6 +413,8 @@ struct kinfo_file { #defineKVME_FLAG_NEEDS_COPY0x0002 #defineKVME_FLAG_NOCOREDUMP0x0004 #defineKVME_FLAG_SUPER 0x0008 +#defineKVME_FLAG_GROWS_UP 0x0010 +#defineKVME_FLAG_GROWS_DOWN0x0020 #if defined(__amd64__) #defineKINFO_OVMENTRY_SIZE 1168 Modified: head/usr.bin/procstat/procstat.1 == --- head/usr.bin/procstat/procstat.1Mon Jul 16 09:35:47 2012 (r238526) +++ head/usr.bin/procstat/procstat.1Mon Jul 16 09:38:19 2012 (r238527) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd March 23, 2012 +.Dd July 11, 2012 .Dt PROCSTAT 1 .Os .Sh NAME @@ -433,6 +433,10 @@ copy-on-write needs copy .It S one or more superpage mappings are used +.It D +grows down (top-down stack) +.It U +grows up (bottom-up stack) .El .Sh EXIT STATUS .Ex -std Modified: head/usr.bin/procstat/procstat_vm.c == --- head/usr.bin/procstat/procstat_vm.c Mon Jul 16 09:35:47 2012 (r238526) +++ head/usr.bin/procstat/procstat_vm.c Mon Jul 16 09:38:19 2012 (r238527) @@ -72,7 +72,9 @@ procstat_vm(struct kinfo_proc *kipp) printf("%-1s", kve->kve_flags & KVME_FLAG_COW ? "C" : "-"); printf("%-1s", kve->kve_flags & KVME_FLAG_NEEDS_COPY ? "N" : "-"); - printf("%-1s ", kve->kve_flags & KVME_FLAG_SUPER ? "S" : "-"); + printf("%-1s", kve->kve_flags & KVME_FLAG_SUPER ? "S" : "-"); + printf("%-1s ", kve->kve_flags & KVME_FLAG_GROWS_UP ? "U" : + kve->kve_flags & KVME_FLAG_GROWS_DOWN ? "D" : "-"); switch (kve->kve_type) { case KVME_TYPE_NONE: str = "--"; ___ 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: r238514 - head/usr.bin/netstat
On Jul 16, 2012, at 11:17 AM, Doug Barton wrote: > Is it my imagination or did this break the build? I think it should have fixed the build, which was broken by r238501. Or am I missing something? Best regards Michael > > On 07/15/2012 23:43, Michael Tuexen wrote: >> Author: tuexen >> Date: Mon Jul 16 06:43:04 2012 >> New Revision: 238514 >> URL: http://svn.freebsd.org/changeset/base/238514 >> >> Log: >> Allow netstat to be build if INET is not defined in the kernel. >> Thanks to Garrett Cooper for reporting the issue. >> >> MFC after: 3 days >> X-MFC: 238501 >> >> Modified: >> head/usr.bin/netstat/Makefile >> head/usr.bin/netstat/sctp.c >> >> Modified: head/usr.bin/netstat/Makefile >> == >> --- head/usr.bin/netstat/MakefileMon Jul 16 02:10:26 2012 >> (r238513) >> +++ head/usr.bin/netstat/MakefileMon Jul 16 06:43:04 2012 >> (r238514) >> @@ -13,6 +13,10 @@ CFLAGS+=-fno-strict-aliasing >> CFLAGS+=-DIPSEC >> CFLAGS+=-DSCTP >> >> +.if ${MK_INET_SUPPORT} != "no" >> +CFLAGS+=-DINET >> +.endif >> + >> .if ${MK_INET6_SUPPORT} != "no" >> SRCS+= inet6.c >> CFLAGS+=-DINET6 >> >> Modified: head/usr.bin/netstat/sctp.c >> == >> --- head/usr.bin/netstat/sctp.c Mon Jul 16 02:10:26 2012 >> (r238513) >> +++ head/usr.bin/netstat/sctp.c Mon Jul 16 06:43:04 2012 >> (r238514) >> @@ -107,6 +107,7 @@ struct xraddr_entry { >> * If numeric_addr has been supplied, give >> * numeric value, otherwise try for symbolic name. >> */ >> +#ifdef INET >> static char * >> inetname(struct in_addr *inp) >> { >> @@ -146,6 +147,7 @@ inetname(struct in_addr *inp) >> } >> return (line); >> } >> +#endif >> >> #ifdef INET6 >> static char ntop_buf[INET6_ADDRSTRLEN]; >> @@ -197,9 +199,11 @@ sctp_print_address(union sctp_sockstore >> int width; >> >> switch (address->sa.sa_family) { >> +#ifdef INET >> case AF_INET: >> sprintf(line, "%.*s.", Wflag ? 39 : 16, >> inetname(&address->sin.sin_addr)); >> break; >> +#endif >> #ifdef INET6 >> case AF_INET6: >> sprintf(line, "%.*s.", Wflag ? 39 : 16, >> inet6name(&address->sin6.sin6_addr)); >> > > > -- > >Change is hard. > > > > ___ 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: r238529 - in head/sys/dev/usb: . serial
Author: hselasky Date: Mon Jul 16 10:12:07 2012 New Revision: 238529 URL: http://svn.freebsd.org/changeset/base/238529 Log: Add new USB device ID. PR: usb/169789 Submitted by: Ruslan Bukin MFC after:1 week Modified: head/sys/dev/usb/serial/u3g.c head/sys/dev/usb/usbdevs Modified: head/sys/dev/usb/serial/u3g.c == --- head/sys/dev/usb/serial/u3g.c Mon Jul 16 09:50:29 2012 (r238528) +++ head/sys/dev/usb/serial/u3g.c Mon Jul 16 10:12:07 2012 (r238529) @@ -359,6 +359,7 @@ static const STRUCT_USB_HOST_ID u3g_devs U3G_DEV(QUALCOMM2, MF330, 0), U3G_DEV(QUALCOMM2, SIM5218, 0), U3G_DEV(QUALCOMM2, VW110L, U3GINIT_SCSIEJECT), + U3G_DEV(QUALCOMM2, GOBI2000_QDL, 0), U3G_DEV(QUALCOMM2, GOBI2000, 0), U3G_DEV(QUALCOMMINC, AC2726, 0), U3G_DEV(QUALCOMMINC, AC8700, 0), Modified: head/sys/dev/usb/usbdevs == --- head/sys/dev/usb/usbdevsMon Jul 16 09:50:29 2012(r238528) +++ head/sys/dev/usb/usbdevsMon Jul 16 10:12:07 2012(r238529) @@ -2705,7 +2705,8 @@ product QUALCOMM2 CDMA_MSM0x3196 CDMA T product QUALCOMM2 AC8700 0x6000 AC8700 product QUALCOMM2 VW110L 0x1000 Vertex Wireless 110L modem product QUALCOMM2 SIM5218 0x9000 SIM5218 -product QUALCOMM2 GOBI2000 0x9204 Qualcomm Gobi 2000 +product QUALCOMM2 GOBI2000_QDL 0x9204 Qualcomm Gobi 2000 QDL +product QUALCOMM2 GOBI2000 0x9205 Qualcomm Gobi 2000 modem product QUALCOMMINC CDMA_MSM 0x0001 CDMA Technologies MSM modem product QUALCOMMINC E0002 0x0002 3G modem product QUALCOMMINC E0003 0x0003 3G modem ___ 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: r238514 - head/usr.bin/netstat
On Mon, Jul 16, 2012 at 2:17 AM, Doug Barton wrote: > Is it my imagination or did this break the build? Don't think so, but I'm running a buildworld with -DWITHOUT_INET -DWITHOUT_INET6 and -DWITHOUT_INET -DWITH_INET6, just to be sure. Thanks, -Garrett ___ 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: r238514 - head/usr.bin/netstat
On Jul 16, 2012, at 5:56 PM, Garrett Cooper wrote: > On Mon, Jul 16, 2012 at 2:17 AM, Doug Barton wrote: >> Is it my imagination or did this break the build? > >Don't think so, but I'm running a buildworld with -DWITHOUT_INET > -DWITHOUT_INET6 and -DWITHOUT_INET -DWITH_INET6, just to be sure. Please let me know if there are still any issues. I think it should be fixed now (meaning that it compiles (which I broke) and meaning that it actually works (which I fixed). Best regards Michael > Thanks, > -Garrett > ___ 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: r238533 - head/sys/geom
Author: trasz Date: Mon Jul 16 16:50:28 2012 New Revision: 238533 URL: http://svn.freebsd.org/changeset/base/238533 Log: Add back spare fields reused in r238213. According to Attilio, the rule is to use reuse spares only when MFC-ing, not in CURRENT. Modified: head/sys/geom/geom.h Modified: head/sys/geom/geom.h == --- head/sys/geom/geom.hMon Jul 16 11:58:44 2012(r238532) +++ head/sys/geom/geom.hMon Jul 16 16:50:28 2012(r238533) @@ -110,6 +110,7 @@ struct g_class { g_ioctl_t *ioctl; g_provgone_t*providergone; g_resize_t *resize; + void*spare2; /* * The remaining elements are private */ @@ -141,6 +142,7 @@ struct g_geom { g_ioctl_t *ioctl; g_provgone_t*providergone; g_resize_t *resize; + void*spare1; void*softc; unsignedflags; #defineG_GEOM_WITHER 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: r238534 - head/sys/geom
Author: trasz Date: Mon Jul 16 17:41:38 2012 New Revision: 238534 URL: http://svn.freebsd.org/changeset/base/238534 Log: The resize GEOM event has no references, thus cannot be canceled. Modified: head/sys/geom/geom_subr.c Modified: head/sys/geom/geom_subr.c == --- head/sys/geom/geom_subr.c Mon Jul 16 16:50:28 2012(r238533) +++ head/sys/geom/geom_subr.c Mon Jul 16 17:41:38 2012(r238534) @@ -615,8 +615,6 @@ g_resize_provider_event(void *arg, int f off_t size; g_topology_assert(); - if (flag == EV_CANCEL) - return; if (g_shutdown) return; ___ 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: r238535 - head/share/dtrace
Author: gnn Date: Mon Jul 16 17:48:43 2012 New Revision: 238535 URL: http://svn.freebsd.org/changeset/base/238535 Log: Add a script that traces NFS attribute cache accesses. Submitted by: rwatson MFC after:2 weeks Added: head/share/dtrace/nfsattrstats (contents, props changed) Added: head/share/dtrace/nfsattrstats == --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/share/dtrace/nfsattrstats Mon Jul 16 17:48:43 2012 (r238535) @@ -0,0 +1,74 @@ +#!/bin/sh +# +# Copyright (c) 2012 Robert N. M. Watson +# All rights reserved. +# +# This software was developed at the University of Cambridge Computer +# Laboratory with support from a grant from Google, Inc. +# +# 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$ +# +# This script creates a trace of NFS RPCs, NFS attribute cache +# activity, and NFS access cache activity, along with the system call +# that instigated the activity. Notice that NFS events may happen +# outside of the context of a system call, most likely due to the VM +# system paging from NFS, in which case the system call name is +# reported as "-" + +/usr/sbin/dtrace -n ' +#pragma D option quiet + +dtrace:::BEGIN +{ + printf("probe\targ0\texecutable\tsyscall\n"); +} + +syscall:::entry +{ + +self->syscallname = probefunc; +} + +syscall:::return +{ + +self->syscallname = ""; +} + +nfsclient::: +/self->syscallname != 0 && self->syscallname != ""/ +{ + +printf("%s\t%s\t%s\t%s\n", probemod, stringof(arg0), execname, + self->syscallname); +} + +nfsclient::: +/self->syscallname == 0 || self->syscallname == ""/ +{ + +printf("%s\t%s\t%s\t%s\n", probemod, stringof(arg0), execname, + self->syscallname); +} +' ___ 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: r238536 - head/sys/vm
Author: alc Date: Mon Jul 16 18:13:43 2012 New Revision: 238536 URL: http://svn.freebsd.org/changeset/base/238536 Log: Various improvements to vm_contig_grow_cache(). Most notably, even when it can't sleep, it can still move clean pages from the inactive queue to the cache. Also, when a page is cached, there is no need to restart the scan. The "next" page pointer held by vm_contig_launder() is still valid. Finally, add a comment summarizing what vm_contig_grow_cache() does based upon the value of "tries". MFC after:3 weeks Modified: head/sys/vm/vm_contig.c Modified: head/sys/vm/vm_contig.c == --- head/sys/vm/vm_contig.c Mon Jul 16 17:48:43 2012(r238535) +++ head/sys/vm/vm_contig.c Mon Jul 16 18:13:43 2012(r238536) @@ -83,7 +83,7 @@ __FBSDID("$FreeBSD$"); #include static int -vm_contig_launder_page(vm_page_t m, vm_page_t *next) +vm_contig_launder_page(vm_page_t m, vm_page_t *next, int tries) { vm_object_t object; vm_page_t m_tmp; @@ -92,7 +92,10 @@ vm_contig_launder_page(vm_page_t m, vm_p int vfslocked; mtx_assert(&vm_page_queue_mtx, MA_OWNED); - vm_page_lock_assert(m, MA_OWNED); + if (!vm_pageout_page_lock(m, next) || m->hold_count != 0) { + vm_page_unlock(m); + return (EAGAIN); + } object = m->object; if (!VM_OBJECT_TRYLOCK(object) && (!vm_pageout_fallback_object_lock(m, next) || m->hold_count != 0)) { @@ -100,7 +103,13 @@ vm_contig_launder_page(vm_page_t m, vm_p VM_OBJECT_UNLOCK(object); return (EAGAIN); } - if (vm_page_sleep_if_busy(m, TRUE, "vpctw0")) { + if ((m->oflags & VPO_BUSY) != 0 || m->busy != 0) { + if (tries == 0) { + vm_page_unlock(m); + VM_OBJECT_UNLOCK(object); + return (EAGAIN); + } + vm_page_sleep(m, "vpctw0"); VM_OBJECT_UNLOCK(object); vm_page_lock_queues(); return (EBUSY); @@ -110,7 +119,7 @@ vm_contig_launder_page(vm_page_t m, vm_p pmap_remove_all(m); if (m->dirty != 0) { vm_page_unlock(m); - if ((object->flags & OBJ_DEAD) != 0) { + if (tries == 0 || (object->flags & OBJ_DEAD) != 0) { VM_OBJECT_UNLOCK(object); return (EAGAIN); } @@ -146,34 +155,25 @@ vm_contig_launder_page(vm_page_t m, vm_p vm_page_unlock(m); } VM_OBJECT_UNLOCK(object); - return (0); + return (EAGAIN); } static int -vm_contig_launder(int queue, vm_paddr_t low, vm_paddr_t high) +vm_contig_launder(int queue, int tries, vm_paddr_t low, vm_paddr_t high) { vm_page_t m, next; vm_paddr_t pa; int error; TAILQ_FOREACH_SAFE(m, &vm_page_queues[queue].pl, pageq, next) { - - /* Skip marker pages */ + KASSERT(m->queue == queue, + ("vm_contig_launder: page %p's queue is not %d", m, queue)); if ((m->flags & PG_MARKER) != 0) continue; - pa = VM_PAGE_TO_PHYS(m); if (pa < low || pa + PAGE_SIZE > high) continue; - - if (!vm_pageout_page_lock(m, &next) || m->hold_count != 0) { - vm_page_unlock(m); - continue; - } - KASSERT(m->queue == queue, - ("vm_contig_launder: page %p's queue is not %d", m, queue)); - error = vm_contig_launder_page(m, &next); - vm_page_lock_assert(m, MA_NOTOWNED); + error = vm_contig_launder_page(m, &next, tries); if (error == 0) return (TRUE); if (error == EBUSY) @@ -183,7 +183,15 @@ vm_contig_launder(int queue, vm_paddr_t } /* - * Increase the number of cached pages. + * Increase the number of cached pages. The specified value, "tries", + * determines which categories of pages are cached: + * + * 0: All clean, inactive pages within the specified physical address range + * are cached. Will not sleep. + * 1: The vm_lowmem handlers are called. All inactive pages within + * the specified physical address range are cached. May sleep. + * 2: The vm_lowmem handlers are called. All inactive and active pages + * within the specified physical address range are cached. May sleep. */ void vm_contig_grow_cache(int tries, vm_paddr_t low, vm_paddr_t high) @@ -206,15 +214,16 @@ vm_contig_grow_cache(int tries, vm_paddr } vm_page_lock_queues(); inactl = 0; - inactmax = tries < 1 ? 0 : cnt.v_inactive_count; + inactmax = cnt.v_inactive_count; actl = 0; actmax = tri
svn commit: r238537 - in head/sys: cddl/dev/dtrace/amd64 cddl/dev/dtrace/i386 kern
Author: gnn Date: Mon Jul 16 20:17:19 2012 New Revision: 238537 URL: http://svn.freebsd.org/changeset/base/238537 Log: Add support for walltimestamp in DTrace. Submitted by: Fabian Keil MFC after:2 weeks Modified: head/sys/cddl/dev/dtrace/amd64/dtrace_subr.c head/sys/cddl/dev/dtrace/i386/dtrace_subr.c head/sys/kern/kern_tc.c Modified: head/sys/cddl/dev/dtrace/amd64/dtrace_subr.c == --- head/sys/cddl/dev/dtrace/amd64/dtrace_subr.cMon Jul 16 18:13:43 2012(r238536) +++ head/sys/cddl/dev/dtrace/amd64/dtrace_subr.cMon Jul 16 20:17:19 2012(r238537) @@ -47,6 +47,8 @@ extern uintptr_t dtrace_in_probe_addr; extern int dtrace_in_probe; +extern void dtrace_getnanotime(struct timespec *tsp); + int dtrace_invop(uintptr_t, uintptr_t *, uintptr_t); typedef struct dtrace_invop_hdlr { @@ -461,8 +463,11 @@ dtrace_gethrtime() uint64_t dtrace_gethrestime(void) { - printf("%s(%d): XXX\n",__func__,__LINE__); - return (0); + struct timespec current_time; + + dtrace_getnanotime(¤t_time); + + return (current_time.tv_sec * 10UL + current_time.tv_nsec); } /* Function to handle DTrace traps during probes. See amd64/amd64/trap.c */ Modified: head/sys/cddl/dev/dtrace/i386/dtrace_subr.c == --- head/sys/cddl/dev/dtrace/i386/dtrace_subr.c Mon Jul 16 18:13:43 2012 (r238536) +++ head/sys/cddl/dev/dtrace/i386/dtrace_subr.c Mon Jul 16 20:17:19 2012 (r238537) @@ -49,6 +49,8 @@ extern uintptr_t kernelbase; extern uintptr_t dtrace_in_probe_addr; extern int dtrace_in_probe; +extern void dtrace_getnanotime(struct timespec *tsp); + int dtrace_invop(uintptr_t, uintptr_t *, uintptr_t); typedef struct dtrace_invop_hdlr { @@ -462,8 +464,11 @@ dtrace_gethrtime() uint64_t dtrace_gethrestime(void) { - printf("%s(%d): XXX\n",__func__,__LINE__); - return (0); + struct timespec current_time; + + dtrace_getnanotime(¤t_time); + + return (current_time.tv_sec * 10UL + current_time.tv_nsec); } /* Function to handle DTrace traps during probes. See i386/i386/trap.c */ Modified: head/sys/kern/kern_tc.c == --- head/sys/kern/kern_tc.c Mon Jul 16 18:13:43 2012(r238536) +++ head/sys/kern/kern_tc.c Mon Jul 16 20:17:19 2012(r238537) @@ -122,6 +122,8 @@ SYSCTL_INT(_kern_timecounter, OID_AUTO, static void tc_windup(void); static void cpu_tick_calibrate(int); +void dtrace_getnanotime(struct timespec *tsp); + static int sysctl_kern_boottime(SYSCTL_HANDLER_ARGS) { @@ -960,6 +962,24 @@ getmicrotime(struct timeval *tvp) #endif /* FFCLOCK */ /* + * This is a clone of getnanotime and used for walltimestamps. + * The dtrace_ prefix prevents fbt from creating probes for + * it so walltimestamp can be safely used in all fbt probes. + */ +void +dtrace_getnanotime(struct timespec *tsp) +{ + struct timehands *th; + u_int gen; + + do { + th = timehands; + gen = th->th_generation; + *tsp = th->th_nanotime; + } while (gen == 0 || gen != th->th_generation); +} + +/* * System clock currently providing time to the system. Modifiable via sysctl * when the FFCLOCK option is defined. */ ___ 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: r238538 - head/sbin/hastd
Author: trociny Date: Mon Jul 16 20:43:28 2012 New Revision: 238538 URL: http://svn.freebsd.org/changeset/base/238538 Log: Metaflush on/off values don't need quotes. Reviewed by: pjd MFC after:3 days Modified: head/sbin/hastd/hast.conf.5 Modified: head/sbin/hastd/hast.conf.5 == --- head/sbin/hastd/hast.conf.5 Mon Jul 16 20:17:19 2012(r238537) +++ head/sbin/hastd/hast.conf.5 Mon Jul 16 20:43:28 2012(r238538) @@ -63,7 +63,7 @@ checksum compression timeout exec -metaflush "on" | "off" +metaflush on | off pidfile on { @@ -89,14 +89,14 @@ resource { local timeout exec - metaflush "on" | "off" + metaflush on | off on { # Resource-node section name # Required local - metaflush "on" | "off" + metaflush on | off # Required remote source @@ -106,7 +106,7 @@ resource { name # Required local - metaflush "on" | "off" + metaflush on | off # Required remote source ___ 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: r238539 - head/sys/fs/smbfs
Author: brueffer Date: Mon Jul 16 22:07:29 2012 New Revision: 238539 URL: http://svn.freebsd.org/changeset/base/238539 Log: Simply error handling by moving the allocation of np down to where it is actually used. While here, improve style a little. Submitted by: mjg MFC after:2 weeks Modified: head/sys/fs/smbfs/smbfs_node.c Modified: head/sys/fs/smbfs/smbfs_node.c == --- head/sys/fs/smbfs/smbfs_node.c Mon Jul 16 20:43:28 2012 (r238538) +++ head/sys/fs/smbfs/smbfs_node.c Mon Jul 16 22:07:29 2012 (r238539) @@ -223,17 +223,15 @@ loop: if (fap == NULL) return ENOENT; - np = malloc(sizeof *np, M_SMBNODE, M_WAITOK | M_ZERO); error = getnewvnode("smbfs", mp, &smbfs_vnodeops, &vp); - if (error) { - free(np, M_SMBNODE); - return error; - } + if (error != 0) + return (error); error = insmntque(vp, mp); /* XXX: Too early for mpsafe fs */ - if (error != 0) { - free(np, M_SMBNODE); + if (error != 0) return (error); - } + + np = malloc(sizeof *np, M_SMBNODE, M_WAITOK | M_ZERO); + vp->v_type = fap->fa_attr & SMB_FA_DIR ? VDIR : VREG; vp->v_data = np; np->n_vnode = vp; ___ 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: r238539 - head/sys/fs/smbfs
2012/7/16 Christian Brueffer : > Author: brueffer > Date: Mon Jul 16 22:07:29 2012 > New Revision: 238539 > URL: http://svn.freebsd.org/changeset/base/238539 > > Log: > Simply error handling by moving the allocation of np down to where it is > actually used. While here, improve style a little. Too bad that the biggest bug here is still in place. Right now smbfs inserts in the mount list half-constructed vnodes. Maybe you are interested in fixing this? Attilio -- Peace can only be achieved by understanding - A. Einstein ___ 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: r238540 - head/sbin/ipfw
Author: issyl0 (doc committer) Date: Mon Jul 16 22:15:30 2012 New Revision: 238540 URL: http://svn.freebsd.org/changeset/base/238540 Log: In ipfw(8), make the text about dynamic rules consistent. PR: docs/120539 Approved by: gabor (mentor) MFC after:5 days Modified: head/sbin/ipfw/ipfw.8 Modified: head/sbin/ipfw/ipfw.8 == --- head/sbin/ipfw/ipfw.8 Mon Jul 16 22:07:29 2012(r238539) +++ head/sbin/ipfw/ipfw.8 Mon Jul 16 22:15:30 2012(r238540) @@ -1,7 +1,7 @@ .\" .\" $FreeBSD$ .\" -.Dd July 9, 2012 +.Dd July 16, 2012 .Dt IPFW 8 .Os .Sh NAME @@ -2967,9 +2967,11 @@ This will let the firewall install dynam those connection which start with a regular SYN packet coming from the inside of our network. Dynamic rules are checked when encountering the first -.Cm check-state -or +occurrence of a +.Cm check-state , .Cm keep-state +or +.Cm limit rule. A .Cm check-state ___ 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: r238514 - head/usr.bin/netstat
On 07/16/2012 09:49, Michael Tuexen wrote: > On Jul 16, 2012, at 5:56 PM, Garrett Cooper wrote: > >> On Mon, Jul 16, 2012 at 2:17 AM, Doug Barton wrote: >>> Is it my imagination or did this break the build? >> >>Don't think so, but I'm running a buildworld with -DWITHOUT_INET >> -DWITHOUT_INET6 and -DWITHOUT_INET -DWITH_INET6, just to be sure. > Please let me know if there are still any issues. I think it should > be fixed now (meaning that it compiles (which I broke) and meaning > that it actually works (which I fixed). I waited a while after your change and the tinderbox was still failing. Not too long after your first mail (responding to me) it stopped failing, so it was probably just a timing issue. Sorry for the noise. Doug -- Change is hard. ___ 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: r238542 - in head/share/man: man4 man9
Author: kevlo Date: Tue Jul 17 02:05:39 2012 New Revision: 238542 URL: http://svn.freebsd.org/changeset/base/238542 Log: Put parenthesis around sizeof args. Modified: head/share/man/man4/gpib.4 head/share/man/man9/ieee80211_node.9 head/share/man/man9/kernel_mount.9 head/share/man/man9/malloc.9 Modified: head/share/man/man4/gpib.4 == --- head/share/man/man4/gpib.4 Tue Jul 17 02:02:40 2012(r238541) +++ head/share/man/man4/gpib.4 Tue Jul 17 02:05:39 2012(r238542) @@ -63,7 +63,7 @@ main(int argc, char **argv) { int dmm; unsigned char buf[100]; -char vbuf[sizeof buf * 4]; +char vbuf[sizeof(buf) * 4]; /* DVM */ dmm = ibdev(0, (argc > 1? atoi(argv[1]): 7), 0, @@ -71,7 +71,7 @@ main(int argc, char **argv) if (dmm < 0) errx(1, "ibdev = %d\\n", dmm); ibwrt(dmm, "*IDN?\\r\\n", 7); -ibrd(dmm, buf, sizeof buf - 1); +ibrd(dmm, buf, sizeof(buf) - 1); strvisx(vbuf, buf, ibcnt, VIS_WHITE | VIS_CSTYLE); printf("%s\\n", vbuf); return (0); Modified: head/share/man/man9/ieee80211_node.9 == --- head/share/man/man9/ieee80211_node.9Tue Jul 17 02:02:40 2012 (r238541) +++ head/share/man/man9/ieee80211_node.9Tue Jul 17 02:05:39 2012 (r238542) @@ -185,7 +185,7 @@ iwi_node_alloc(struct ieee80211vap *vap, { struct iwi_node *in; -in = malloc(sizeof (struct iwi_node), M_80211_NODE, +in = malloc(sizeof(struct iwi_node), M_80211_NODE, M_NOWAIT | M_ZERO); if (in == NULL) return NULL; Modified: head/share/man/man9/kernel_mount.9 == --- head/share/man/man9/kernel_mount.9 Tue Jul 17 02:02:40 2012 (r238541) +++ head/share/man/man9/kernel_mount.9 Tue Jul 17 02:05:39 2012 (r238542) @@ -153,12 +153,12 @@ msdosfs_cmount(struct mntarg *ma, void * if (data == NULL) return (EINVAL); - error = copyin(data, &args, sizeof args); + error = copyin(data, &args, sizeof(args)); if (error) return (error); ma = mount_argsu(ma, "from", args.fspec, MAXPATHLEN); - ma = mount_arg(ma, "export", &args.export, sizeof args.export); + ma = mount_arg(ma, "export", &args.export, sizeof(args.export)); ma = mount_argf(ma, "uid", "%d", args.uid); ma = mount_argf(ma, "gid", "%d", args.gid); ma = mount_argf(ma, "mask", "%d", args.mask); Modified: head/share/man/man9/malloc.9 == --- head/share/man/man9/malloc.9Tue Jul 17 02:02:40 2012 (r238541) +++ head/share/man/man9/malloc.9Tue Jul 17 02:05:39 2012 (r238542) @@ -197,7 +197,7 @@ MALLOC_DEFINE(M_FOOBUF, "foobuffers", "B /* sys/something/foo_subr.c */ \&... -buf = malloc(sizeof *buf, M_FOOBUF, M_NOWAIT); +buf = malloc(sizeof(*buf), M_FOOBUF, M_NOWAIT); .Ed .Pp ___ 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: r238543 - head/sys/vm
Author: alc Date: Tue Jul 17 02:36:59 2012 New Revision: 238543 URL: http://svn.freebsd.org/changeset/base/238543 Log: Correct vm_page_alloc_contig()'s implementation of VM_ALLOC_NODUMP. Modified: head/sys/vm/vm_page.c Modified: head/sys/vm/vm_page.c == --- head/sys/vm/vm_page.c Tue Jul 17 02:05:39 2012(r238542) +++ head/sys/vm/vm_page.c Tue Jul 17 02:36:59 2012(r238543) @@ -1684,7 +1684,7 @@ retry: } for (m = m_ret; m < &m_ret[npages]; m++) { m->aflags = 0; - m->flags &= flags; + m->flags = (m->flags | PG_NODUMP) & flags; if ((req & VM_ALLOC_WIRED) != 0) m->wire_count = 1; /* Unmanaged pages don't use "act_count". */ ___ 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: r238545 - in head/sys/arm: arm at91 econa s3c2xx0 xscale/i8134x xscale/pxa
Author: gonzo Date: Tue Jul 17 03:18:12 2012 New Revision: 238545 URL: http://svn.freebsd.org/changeset/base/238545 Log: Move unmask IRQ function call up to nexus device level. FDT-enabled targets were broken after r238043 that relies on device up the hierarchy to properly setup interrupt. nexus device for ARM platforms did job only partially: setting handler but not unmasking interrupt. Unmasking was performed by platform code. Reviewed by: andrew@ Modified: head/sys/arm/arm/nexus.c head/sys/arm/at91/at91.c head/sys/arm/econa/econa.c head/sys/arm/s3c2xx0/s3c24x0.c head/sys/arm/xscale/i8134x/i81342.c head/sys/arm/xscale/pxa/pxa_obio.c Modified: head/sys/arm/arm/nexus.c == --- head/sys/arm/arm/nexus.cTue Jul 17 03:02:11 2012(r238544) +++ head/sys/arm/arm/nexus.cTue Jul 17 03:18:12 2012(r238545) @@ -117,12 +117,16 @@ static int nexus_setup_intr(device_t dev, device_t child, struct resource *res, int flags, driver_filter_t *filt, driver_intr_t *intr, void *arg, void **cookiep) { + int irq; if ((rman_get_flags(res) & RF_SHAREABLE) == 0) flags |= INTR_EXCL; - arm_setup_irqhandler(device_get_nameunit(child), - filt, intr, arg, rman_get_start(res), flags, cookiep); + for (irq = rman_get_start(res); irq <= rman_get_end(res); irq++) { + arm_setup_irqhandler(device_get_nameunit(child), + filt, intr, arg, irq, flags, cookiep); + arm_unmask_irq(irq); + } return (0); } Modified: head/sys/arm/at91/at91.c == --- head/sys/arm/at91/at91.cTue Jul 17 03:02:11 2012(r238544) +++ head/sys/arm/at91/at91.cTue Jul 17 03:18:12 2012(r238545) @@ -397,7 +397,6 @@ at91_setup_intr(device_t dev, device_t c struct resource *ires, int flags, driver_filter_t *filt, driver_intr_t *intr, void *arg, void **cookiep) { - struct at91_softc *sc = device_get_softc(dev); int error; if (rman_get_start(ires) == AT91_IRQ_SYSTEM && filt == NULL) @@ -407,8 +406,6 @@ at91_setup_intr(device_t dev, device_t c if (error) return (error); - bus_space_write_4(sc->sc_st, sc->sc_aic_sh, IC_IECR, - 1 << rman_get_start(ires)); return (0); } Modified: head/sys/arm/econa/econa.c == --- head/sys/arm/econa/econa.c Tue Jul 17 03:02:11 2012(r238544) +++ head/sys/arm/econa/econa.c Tue Jul 17 03:18:12 2012(r238545) @@ -602,8 +602,6 @@ econa_setup_intr(device_t dev, device_t if (error) return (error); - arm_unmask_irq(rman_get_start(ires)); - return (0); } Modified: head/sys/arm/s3c2xx0/s3c24x0.c == --- head/sys/arm/s3c2xx0/s3c24x0.c Tue Jul 17 03:02:11 2012 (r238544) +++ head/sys/arm/s3c2xx0/s3c24x0.c Tue Jul 17 03:18:12 2012 (r238545) @@ -220,7 +220,6 @@ s3c24x0_setup_intr(device_t dev, device_ /* Enable the external interrupt pin */ s3c24x0_enable_ext_intr(irq - S3C24X0_EXTIRQ_MIN); } - arm_unmask_irq(irq); } return (0); } Modified: head/sys/arm/xscale/i8134x/i81342.c == --- head/sys/arm/xscale/i8134x/i81342.c Tue Jul 17 03:02:11 2012 (r238544) +++ head/sys/arm/xscale/i8134x/i81342.c Tue Jul 17 03:18:12 2012 (r238545) @@ -435,7 +435,6 @@ i81342_setup_intr(device_t dev, device_t filt, intr, arg, cookiep); if (error) return (error); - arm_unmask_irq(rman_get_start(ires)); return (0); } Modified: head/sys/arm/xscale/pxa/pxa_obio.c == --- head/sys/arm/xscale/pxa/pxa_obio.c Tue Jul 17 03:02:11 2012 (r238544) +++ head/sys/arm/xscale/pxa/pxa_obio.c Tue Jul 17 03:18:12 2012 (r238545) @@ -181,7 +181,6 @@ pxa_setup_intr(device_t dev, device_t ch filter, ithread, arg, cookiep); if (error) return (error); - arm_unmask_irq(rman_get_start(irq)); return (0); } ___ 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"