[CFT] counter(9) for ng_netflow(4)
Hello, the patch reduces number of atomic(4) operations in ng_netflow(4), utilizing counter(9) and makes some previously 32-bit counters 64-bit. Any test reports appreciated. -- Totus tuus, Glebius. Index: netflow.c === --- netflow.c (revision 249398) +++ netflow.c (working copy) @@ -34,17 +34,14 @@ static const char rcs_id[] = #include opt_inet6.h #include opt_route.h #include sys/param.h +#include sys/counter.h #include sys/kernel.h #include sys/limits.h #include sys/mbuf.h #include sys/syslog.h #include sys/systm.h #include sys/socket.h -#include sys/endian.h -#include machine/atomic.h -#include machine/stdarg.h - #include net/if.h #include net/route.h #include net/ethernet.h @@ -79,8 +76,8 @@ static const char rcs_id[] = /* Macros to shorten logical constructions */ /* XXX: priv must exist in namespace */ -#define INACTIVE(fle) (time_uptime - fle-f.last priv-info.nfinfo_inact_t) -#define AGED(fle) (time_uptime - fle-f.first priv-info.nfinfo_act_t) +#define INACTIVE(fle) (time_uptime - fle-f.last priv-nfinfo_inact_t) +#define AGED(fle) (time_uptime - fle-f.first priv-nfinfo_act_t) #define ISFREE(fle) (fle-f.packets == 0) /* @@ -148,54 +145,6 @@ ip6_hash(struct flow6_rec *r) } #endif -/* This is callback from uma(9), called on alloc. */ -static int -uma_ctor_flow(void *mem, int size, void *arg, int how) -{ - priv_p priv = (priv_p )arg; - - if (atomic_load_acq_32(priv-info.nfinfo_used) = CACHESIZE) - return (ENOMEM); - - atomic_add_32(priv-info.nfinfo_used, 1); - - return (0); -} - -/* This is callback from uma(9), called on free. */ -static void -uma_dtor_flow(void *mem, int size, void *arg) -{ - priv_p priv = (priv_p )arg; - - atomic_subtract_32(priv-info.nfinfo_used, 1); -} - -#ifdef INET6 -/* This is callback from uma(9), called on alloc. */ -static int -uma_ctor_flow6(void *mem, int size, void *arg, int how) -{ - priv_p priv = (priv_p )arg; - - if (atomic_load_acq_32(priv-info.nfinfo_used6) = CACHESIZE) - return (ENOMEM); - - atomic_add_32(priv-info.nfinfo_used6, 1); - - return (0); -} - -/* This is callback from uma(9), called on free. */ -static void -uma_dtor_flow6(void *mem, int size, void *arg) -{ - priv_p priv = (priv_p )arg; - - atomic_subtract_32(priv-info.nfinfo_used6, 1); -} -#endif - /* * Detach export datagram from priv, if there is any. * If there is no, allocate a new one. @@ -266,9 +215,9 @@ expire_flow(priv_p priv, fib_export_p fe, struct f if ((priv-export != NULL) (version == IPVERSION)) { exp.item = get_export_dgram(priv, fe); if (exp.item == NULL) { - atomic_add_32(priv-info.nfinfo_export_failed, 1); + priv-nfinfo_export_failed++; if (priv-export9 != NULL) -atomic_add_32(priv-info.nfinfo_export9_failed, 1); +priv-nfinfo_export9_failed++; /* fle definitely contains IPv4 flow. */ uma_zfree_arg(priv-zone, fle, priv); return; @@ -283,7 +232,7 @@ expire_flow(priv_p priv, fib_export_p fe, struct f if (priv-export9 != NULL) { exp.item9 = get_export9_dgram(priv, fe, exp.item9_opt); if (exp.item9 == NULL) { - atomic_add_32(priv-info.nfinfo_export9_failed, 1); + priv-nfinfo_export9_failed++; if (version == IPVERSION) uma_zfree_arg(priv-zone, fle, priv); #ifdef INET6 @@ -316,8 +265,27 @@ void ng_netflow_copyinfo(priv_p priv, struct ng_netflow_info *i) { - /* XXX: atomic */ - memcpy((void *)i, (void *)priv-info, sizeof(priv-info)); + i-nfinfo_bytes = counter_u64_fetch(priv-nfinfo_bytes); + i-nfinfo_packets = counter_u64_fetch(priv-nfinfo_packets); + i-nfinfo_bytes6 = counter_u64_fetch(priv-nfinfo_bytes6); + i-nfinfo_packets6 = counter_u64_fetch(priv-nfinfo_packets6); + i-nfinfo_sbytes = counter_u64_fetch(priv-nfinfo_sbytes); + i-nfinfo_spackets = counter_u64_fetch(priv-nfinfo_spackets); + i-nfinfo_sbytes6 = counter_u64_fetch(priv-nfinfo_sbytes6); + i-nfinfo_spackets6 = counter_u64_fetch(priv-nfinfo_spackets6); + i-nfinfo_act_exp = counter_u64_fetch(priv-nfinfo_act_exp); + i-nfinfo_inact_exp = counter_u64_fetch(priv-nfinfo_inact_exp); + + i-nfinfo_used = uma_zone_get_cur(priv-zone); + i-nfinfo_used6 = uma_zone_get_cur(priv-zone6); + + i-nfinfo_alloc_failed = priv-nfinfo_alloc_failed; + i-nfinfo_export_failed = priv-nfinfo_export_failed; + i-nfinfo_export9_failed = priv-nfinfo_export9_failed; + i-nfinfo_realloc_mbuf = priv-nfinfo_realloc_mbuf; + i-nfinfo_alloc_fibs = priv-nfinfo_alloc_fibs; + i-nfinfo_inact_t = priv-nfinfo_inact_t; + i-nfinfo_act_t = priv-nfinfo_act_t; } /* @@ -342,7 +310,7 @@ hash_insert(priv_p priv, struct flow_hash_entry *h fle = uma_zalloc_arg(priv-zone, priv, M_NOWAIT); if (fle == NULL) { - atomic_add_32(priv-info.nfinfo_alloc_failed, 1); + priv-nfinfo_alloc_failed++; return (ENOMEM); } @@ -432,7 +400,7 @@ hash6_insert(priv_p priv, struct flow_hash_entry * fle6 = uma_zalloc_arg(priv-zone6, priv, M_NOWAIT); if (fle6 == NULL) { - atomic_add_32(priv-info.nfinfo_alloc_failed, 1);
counter(9) for lagg(4)
Hello, the patch removes memory contention and data loss on packets/bytes statistics in lagg(4) driver, utilizing counter(9). Any benchmarking reports with trunk built upon 10Gbit interfaces would be much appreciated. Sorry, but patch isn't tested except compiling. I don't have a lab to build a LACP trunk. -- Totus tuus, Glebius. Index: if_lagg.c === --- if_lagg.c (revision 249398) +++ if_lagg.c (working copy) @@ -153,6 +153,8 @@ static struct mbuf *lagg_lacp_input(struct lagg_so struct mbuf *); static void lagg_lacp_lladdr(struct lagg_softc *); +static void lagg_callout(void *); + /* lagg protocol table */ static const struct { int ti_proto; @@ -278,6 +280,11 @@ lagg_clone_create(struct if_clone *ifc, int unit, return (ENOSPC); } + sc-sc_ipackets = counter_u64_alloc(M_WAITOK); + sc-sc_opackets = counter_u64_alloc(M_WAITOK); + sc-sc_ibytes = counter_u64_alloc(M_WAITOK); + sc-sc_obytes = counter_u64_alloc(M_WAITOK); + sysctl_ctx_init(sc-ctx); snprintf(num, sizeof(num), %u, unit); sc-use_flowid = def_use_flowid; @@ -307,6 +314,7 @@ lagg_clone_create(struct if_clone *ifc, int unit, LAGG_LOCK_INIT(sc); SLIST_INIT(sc-sc_ports); TASK_INIT(sc-sc_lladdr_task, 0, lagg_port_setlladdr, sc); + callout_init_rw(sc-sc_callout, sc-sc_mtx, CALLOUT_SHAREDLOCK); /* Initialise pseudo media types */ ifmedia_init(sc-sc_media, 0, lagg_media_change, @@ -338,6 +346,8 @@ lagg_clone_create(struct if_clone *ifc, int unit, SLIST_INSERT_HEAD(lagg_list, sc, sc_entries); mtx_unlock(lagg_list_mtx); + callout_reset(sc-sc_callout, hz, lagg_callout, sc); + return (0); } @@ -369,6 +379,12 @@ lagg_clone_destroy(struct ifnet *ifp) ether_ifdetach(ifp); if_free(ifp); + callout_drain(sc-sc_callout); + counter_u64_free(sc-sc_ipackets); + counter_u64_free(sc-sc_opackets); + counter_u64_free(sc-sc_ibytes); + counter_u64_free(sc-sc_obytes); + mtx_lock(lagg_list_mtx); SLIST_REMOVE(lagg_list, sc, lagg_softc, sc_entries); mtx_unlock(lagg_list_mtx); @@ -1243,9 +1259,9 @@ lagg_transmit(struct ifnet *ifp, struct mbuf *m) LAGG_RUNLOCK(sc); if (error == 0) { - ifp-if_opackets++; + counter_u64_add(sc-sc_opackets, 1); + counter_u64_add(sc-sc_obytes, len); ifp-if_omcasts += mcast; - ifp-if_obytes += len; } else ifp-if_oerrors++; @@ -1281,8 +1297,8 @@ lagg_input(struct ifnet *ifp, struct mbuf *m) m = (*sc-sc_input)(sc, lp, m); if (m != NULL) { - scifp-if_ipackets++; - scifp-if_ibytes += m-m_pkthdr.len; + counter_u64_add(sc-sc_ipackets, 1); + counter_u64_add(sc-sc_ibytes, m-m_pkthdr.len); if (scifp-if_flags IFF_MONITOR) { m_freem(m); @@ -1892,3 +1908,17 @@ lagg_lacp_input(struct lagg_softc *sc, struct lagg m-m_pkthdr.rcvif = ifp; return (m); } + +static void +lagg_callout(void *arg) +{ + struct lagg_softc *sc = (struct lagg_softc *)arg; + struct ifnet *ifp = sc-sc_ifp; + + ifp-if_ipackets = counter_u64_fetch(sc-sc_ipackets); + ifp-if_opackets = counter_u64_fetch(sc-sc_opackets); + ifp-if_ibytes = counter_u64_fetch(sc-sc_ibytes); + ifp-if_obytes = counter_u64_fetch(sc-sc_obytes); + + callout_reset(sc-sc_callout, hz, lagg_callout, sc); +} Index: if_lagg.h === --- if_lagg.h (revision 249398) +++ if_lagg.h (working copy) @@ -21,8 +21,6 @@ #ifndef _NET_LAGG_H #define _NET_LAGG_H -#include sys/sysctl.h - /* * Global definitions */ @@ -137,6 +135,9 @@ struct lagg_reqflags { #define SIOCSLAGGHASH _IOW('i', 146, struct lagg_reqflags) #ifdef _KERNEL + +#include sys/counter.h + /* * Internal kernel part */ @@ -195,6 +196,11 @@ struct lagg_softc { uint32_t sc_seq; /* sequence counter */ uint32_t sc_flags; + counter_u64_t sc_ipackets; + counter_u64_t sc_opackets; + counter_u64_t sc_ibytes; + counter_u64_t sc_obytes; + SLIST_HEAD(__tplhd, lagg_port) sc_ports; /* list of interfaces */ SLIST_ENTRY(lagg_softc) sc_entries; @@ -217,6 +223,7 @@ struct lagg_softc { void (*sc_portreq)(struct lagg_port *, caddr_t); eventhandler_tag vlan_attach; eventhandler_tag vlan_detach; + struct callout sc_callout; struct sysctl_ctx_list ctx; /* sysctl variables */ intuse_flowid; /* use M_FLOWID */ }; ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: newnfs pkgng database corruption?
Hi, On Apr 12, 2013, at 1:10, Rick Macklem rmack...@uoguelph.ca wrote: Well, I have no idea why an NFS server would reply errno 70 if the file still exists, unless the client has somehow sent a bogus file handle to the server. (I am not aware of any client bug that might do that. I am almost suspicious that there might be a memory problem or something that corrupts bits in the network layer. Do you have TSO enabled for your network interface by any chance? If so, I'd try disabling that on the network interface. Same goes for checksum offload.) rick ps: If you can capture packets between the client and server at the time this error occurs, looking at them in wireshark might be useful? I will try all of those things. But first, a question that someone who understands pkgng will be able to answerr: Is this fake-pkg process even running on the NFS mount? The WRKDIR is /tmp, which is an mfs mount. Lars ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: Intel D2500CC motherboard and strange RS232/UART behavior
Hello, Poul-Henning. You wrote 12 апреля 2013 г., 1:37:48: These are multiport cards and something like puc or digi, etc. is fine for those. The OP's issue is that he has a board with 4 independent 16550 UARTs which are attempting to share IRQs. Those are not multiport cards and are thus a separate issue. PHK I think you are mistaken, the 4 uarts are in the same chip and I am PHK sure they have done something sensible with the interrupts so they PHK can be shared. Maybe physically, it is one chip (I'm sure, it is), but they are detected as completely independent devices, each with its own I/O port and interrupt... Multiport cards typically group access to logic 16550 registers... -- // Black Lion AKA Lev Serebryakov l...@freebsd.org ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: newnfs pkgng database corruption?
On Fri, Apr 12, 2013 at 12:56:10PM +, Eggert, Lars wrote: Hi, On Apr 12, 2013, at 1:10, Rick Macklem rmack...@uoguelph.ca wrote: Well, I have no idea why an NFS server would reply errno 70 if the file still exists, unless the client has somehow sent a bogus file handle to the server. (I am not aware of any client bug that might do that. I am almost suspicious that there might be a memory problem or something that corrupts bits in the network layer. Do you have TSO enabled for your network interface by any chance? If so, I'd try disabling that on the network interface. Same goes for checksum offload.) rick ps: If you can capture packets between the client and server at the time this error occurs, looking at them in wireshark might be useful? I will try all of those things. But first, a question that someone who understands pkgng will be able to answerr: Is this fake-pkg process even running on the NFS mount? The WRKDIR is /tmp, which is an mfs mount. fake-pkg is run in WRKDIR, but it calls pkgng which will open /var/db/pkg/local.sqlite aka nfs mount. The Error 70 is EX_SOFTWARE returned by pkgng. Can you try the following patch: http://people.freebsd.org/~bapt/patch-libpkg__pkgdb.c Just add that file to /usr/ports/ports-mgmt/pkg/files/ If that works for you, that means the posix advisory locks is somehow failing on nfsv4 files. Given it is already known to be failing on nfsv3 (because people often misconfigure it) I'll probablmy make unix-dotfile the default locking system when local.sqlite is stored on network filesystem. regards, Bapt pgp8rduiaO8x_.pgp Description: PGP signature
Re: Intel D2500CC motherboard and strange RS232/UART behavior
Hello, Poul-Henning. You wrote 12 апреля 2013 г., 1:37:48: PHK I think you are mistaken, the 4 uarts are in the same chip and I am PHK sure they have done something sensible with the interrupts so they PHK can be shared. I mean, there is no good way to distinguish between this (hardware) implementation and true 4 single UART chips, when it is identify itself as generic 16550 UART, 4 times, at 4 I/O addresses. -- // Black Lion AKA Lev Serebryakov l...@freebsd.org ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: Intel D2500CC motherboard and strange RS232/UART behavior
In message 98147894.20130412171...@serebryakov.spb.ru, Lev Serebryakov writes : I mean, there is no good way to distinguish between this (hardware) implementation and true 4 single UART chips, when it is identify itself as generic 16550 UART, 4 times, at 4 I/O addresses. That is a kernel configuration issue entirely separate from the question about the hardware being built to allow and support interrupt sharing in the first place. Many old ISA cards also were not recognizable and required hint'ing, for the exact same reason. -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 p...@freebsd.org | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence. ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: Intel D2500CC motherboard and strange RS232/UART behavior
On Thursday, April 11, 2013 5:37:48 pm Poul-Henning Kamp wrote: In message 201304111050.37055@freebsd.org, John Baldwin writes: Though if these ports don't have the logic that the AST cards did to share the IRQ, that'd make it hard... The sio man page talks about this... These are multiport cards and something like puc or digi, etc. is fine for those. The OP's issue is that he has a board with 4 independent 16550 UARTs which are attempting to share IRQs. Those are not multiport cards and are thus a separate issue. I think you are mistaken, the 4 uarts are in the same chip and I am sure they have done something sensible with the interrupts so they can be shared. No, if they show up as 4 ACPI devices, they are four devices. Just like how your AHCI and USB controllers show up as separate PCI devices even though they are all physically in one chip on the motherboard. puc(4) handles the case of having one PCI device (function really) which has exactly one INT# interrupt line contain multiple serial and/or ppc ports. (It also has a pccard attachment so it can handle a pccard that contains multiple ports. Again that would be a device that has one interrupt line to the host machine that it shares amongst its ports, not N ports each with their own interrupt line and register set.) Multiport isa(4) cards were not as generic as PCI cards, so we have several different drivers for those (rc, digi, cy) and even drivers for some non- generic PCI cards (rp). Note that there is no ISA attachment for puc, just PCI and pccard. All that aside, none of this is really relevant to the OP's issue. The kernel will share interrupt handlers just fine at the generic interrupt handle level. Only setting INTR_EXCL when calling bus_setup_intr() or not setting RF_SHAREABLE when calling bus_alloc_resource() should prevent sharing. I'm still waiting to see if the OP can figure out exactly which step in the interrupt setup stage is failing. -- John Baldwin ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: Intel D2500CC motherboard and strange RS232/UART behavior
In message 201304121214.32331@freebsd.org, John Baldwin writes: John, Quite frankly I don't think you have the age to teach me about ISA multiport serial cards :-) Multiport isa(4) cards were not as generic as PCI cards, so we have several different drivers for those (rc, digi, cy) [...] And the most important of them all: sio(4), where you could use the flags to configure the generic lets just slap 8 UARTS and an or-gate on the IRQ line on an ISA card type of multiport serial cards. The cards that needed dedicated drivers were the ones where they tried to be smarter than that. All that aside, none of this is really relevant to the OP's issue. The kernel will share interrupt handlers just fine at the generic interrupt handle level. You may have missed that I mentioned this: I have one of these mobos too, and from my similar experiments, I concluded that the interrupts don't arrive in the first place. But that was very fast and loose, and I didn't particular need the four serial ports, so I didn't spend more time on it. -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 p...@freebsd.org | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence. ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: Intel D2500CC motherboard and strange RS232/UART behavior
Hello, John. You wrote 10 апреля 2013 г., 0:08:09: JB Can you assign different interrupts via the BIOS somehow? I've tried it! And! I'm SHOCKED: this MoBo try to use some strange mode in BIOS Setup, which isn't supported by screen, installed where this router installed now! It looks like text mode (I've attached it to other monitor when set it up and it was text mode for sure), but my old industrian 10 IBM-made LCD shows Unsupported mopde when I press F2 on boot! It is very strange :) -- // Black Lion AKA Lev Serebryakov l...@freebsd.org ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
[head tinderbox] failure on i386/i386
TB --- 2013-04-12 18:51:25 - tinderbox 2.10 running on freebsd-current.sentex.ca TB --- 2013-04-12 18:51:25 - FreeBSD freebsd-current.sentex.ca 8.3-PRERELEASE FreeBSD 8.3-PRERELEASE #0: Mon Mar 26 13:54:12 EDT 2012 d...@freebsd-current.sentex.ca:/usr/obj/usr/src/sys/GENERIC amd64 TB --- 2013-04-12 18:51:25 - starting HEAD tinderbox run for i386/i386 TB --- 2013-04-12 18:51:25 - cleaning the object tree TB --- 2013-04-12 18:51:25 - /usr/local/bin/svn stat /src TB --- 2013-04-12 18:51:30 - At svn revision 249423 TB --- 2013-04-12 18:51:31 - building world TB --- 2013-04-12 18:51:31 - CROSS_BUILD_TESTING=YES TB --- 2013-04-12 18:51:31 - MAKEOBJDIRPREFIX=/obj TB --- 2013-04-12 18:51:31 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2013-04-12 18:51:31 - SRCCONF=/dev/null TB --- 2013-04-12 18:51:31 - TARGET=i386 TB --- 2013-04-12 18:51:31 - TARGET_ARCH=i386 TB --- 2013-04-12 18:51:31 - TZ=UTC TB --- 2013-04-12 18:51:31 - __MAKE_CONF=/dev/null TB --- 2013-04-12 18:51:31 - cd /src TB --- 2013-04-12 18:51:31 - /usr/bin/make -B buildworld Building an up-to-date make(1) World build started on Fri Apr 12 18:51:36 UTC 2013 Rebuilding the temporary build tree stage 1.1: legacy release compatibility shims stage 1.2: bootstrap tools stage 2.1: cleaning up the object tree stage 2.2: rebuilding the object tree stage 2.3: build tools stage 3: cross tools stage 4.1: building includes stage 4.2: building libraries stage 4.3: make dependencies stage 4.4: building everything World build completed on Fri Apr 12 21:58:17 UTC 2013 TB --- 2013-04-12 21:58:17 - generating LINT kernel config TB --- 2013-04-12 21:58:17 - cd /src/sys/i386/conf TB --- 2013-04-12 21:58:17 - /usr/bin/make -B LINT TB --- 2013-04-12 21:58:18 - cd /src/sys/i386/conf TB --- 2013-04-12 21:58:18 - /usr/sbin/config -m LINT TB --- 2013-04-12 21:58:18 - building LINT kernel TB --- 2013-04-12 21:58:18 - CROSS_BUILD_TESTING=YES TB --- 2013-04-12 21:58:18 - MAKEOBJDIRPREFIX=/obj TB --- 2013-04-12 21:58:18 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2013-04-12 21:58:18 - SRCCONF=/dev/null TB --- 2013-04-12 21:58:18 - TARGET=i386 TB --- 2013-04-12 21:58:18 - TARGET_ARCH=i386 TB --- 2013-04-12 21:58:18 - TZ=UTC TB --- 2013-04-12 21:58:18 - __MAKE_CONF=/dev/null TB --- 2013-04-12 21:58:18 - cd /src TB --- 2013-04-12 21:58:18 - /usr/bin/make -B buildkernel KERNCONF=LINT Kernel build for LINT started on Fri Apr 12 21:58:18 UTC 2013 stage 1: configuring the kernel stage 2.1: cleaning up the object tree stage 2.2: rebuilding the object tree stage 2.3: build tools stage 3.1: making dependencies [...] awk -f /src/sys/tools/makeobjops.awk /src/sys/dev/acpica/acpi_if.m -h awk -f /src/sys/tools/makeobjops.awk /src/sys/dev/acpi_support/acpi_wmi_if.m -h awk -f /src/sys/tools/makeobjops.awk /src/sys/dev/virtio/virtio_bus_if.m -h awk -f /src/sys/tools/makeobjops.awk /src/sys/dev/virtio/virtio_if.m -h rm -f .newdep /obj/src/make.amd64/make -V CFILES_NOZFS -V SYSTEM_CFILES -V GEN_CFILES | MKDEP_CPP=cc -E CC=cc xargs mkdep -a -f .newdep -O2 -pipe -fno-strict-aliasing -std=c99 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -Wmissing-include-dirs -fdiagnostics-show-option -Wno-error-tautological-compare -Wno-error-empty-body -Wno-error-parentheses-equality -nostdinc -I. -I/src/sys -I/src/sys/contrib/altq -I/src/sys/contrib/ipfilter -I/src/sys/dev/ath -I/src/sys/dev/ath/ath_hal -I/src/sys/contrib/ngatm -I/src/sys/dev/twa -I/src/sys/dev/cxgb -I/src/sys/dev/cxgbe -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -DGPROF -DGPROF4 -DGUPROF -fno-builtin -mno-aes -mno-avx -mno-mmx -mno-sse -msoft-float -ffreestanding -fstack-protector cc: error: no such file or directory: '/src/sys/dev/nvme/nvme_uio.c' mkdep: compile failed *** [.depend] Error code 1 Stop in /obj/i386.i386/src/sys/LINT. *** [buildkernel] Error code 1 Stop in /src. *** Error code 1 Stop in /src. TB --- 2013-04-12 21:59:55 - WARNING: /usr/bin/make returned exit code 1 TB --- 2013-04-12 21:59:55 - ERROR: failed to build LINT kernel TB --- 2013-04-12 21:59:55 - 9327.59 user 1481.12 system 11309.58 real http://tinderbox.freebsd.org/tinderbox-head-build-HEAD-i386-i386.full ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
[head tinderbox] failure on armv6/arm
TB --- 2013-04-12 18:51:25 - tinderbox 2.10 running on freebsd-current.sentex.ca TB --- 2013-04-12 18:51:25 - FreeBSD freebsd-current.sentex.ca 8.3-PRERELEASE FreeBSD 8.3-PRERELEASE #0: Mon Mar 26 13:54:12 EDT 2012 d...@freebsd-current.sentex.ca:/usr/obj/usr/src/sys/GENERIC amd64 TB --- 2013-04-12 18:51:25 - starting HEAD tinderbox run for armv6/arm TB --- 2013-04-12 18:51:25 - cleaning the object tree TB --- 2013-04-12 18:51:25 - /usr/local/bin/svn stat /src TB --- 2013-04-12 18:51:30 - At svn revision 249423 TB --- 2013-04-12 18:51:31 - building world TB --- 2013-04-12 18:51:31 - CROSS_BUILD_TESTING=YES TB --- 2013-04-12 18:51:31 - MAKEOBJDIRPREFIX=/obj TB --- 2013-04-12 18:51:31 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2013-04-12 18:51:31 - SRCCONF=/dev/null TB --- 2013-04-12 18:51:31 - TARGET=arm TB --- 2013-04-12 18:51:31 - TARGET_ARCH=armv6 TB --- 2013-04-12 18:51:31 - TZ=UTC TB --- 2013-04-12 18:51:31 - __MAKE_CONF=/dev/null TB --- 2013-04-12 18:51:31 - cd /src TB --- 2013-04-12 18:51:31 - /usr/bin/make -B buildworld Building an up-to-date make(1) World build started on Fri Apr 12 18:51:36 UTC 2013 Rebuilding the temporary build tree stage 1.1: legacy release compatibility shims stage 1.2: bootstrap tools stage 2.1: cleaning up the object tree stage 2.2: rebuilding the object tree stage 2.3: build tools stage 3: cross tools stage 4.1: building includes stage 4.2: building libraries stage 4.3: make dependencies stage 4.4: building everything World build completed on Fri Apr 12 21:49:36 UTC 2013 TB --- 2013-04-12 21:49:36 - generating LINT kernel config TB --- 2013-04-12 21:49:36 - cd /src/sys/arm/conf TB --- 2013-04-12 21:49:36 - /usr/bin/make -B LINT TB --- 2013-04-12 21:49:36 - cd /src/sys/arm/conf TB --- 2013-04-12 21:49:36 - /usr/sbin/config -m LINT TB --- 2013-04-12 21:49:36 - skipping LINT kernel TB --- 2013-04-12 21:49:36 - cd /src/sys/arm/conf TB --- 2013-04-12 21:49:36 - /usr/sbin/config -m AC100 TB --- 2013-04-12 21:49:36 - building AC100 kernel TB --- 2013-04-12 21:49:36 - CROSS_BUILD_TESTING=YES TB --- 2013-04-12 21:49:36 - MAKEOBJDIRPREFIX=/obj TB --- 2013-04-12 21:49:36 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2013-04-12 21:49:36 - SRCCONF=/dev/null TB --- 2013-04-12 21:49:36 - TARGET=arm TB --- 2013-04-12 21:49:36 - TARGET_ARCH=armv6 TB --- 2013-04-12 21:49:36 - TZ=UTC TB --- 2013-04-12 21:49:36 - __MAKE_CONF=/dev/null TB --- 2013-04-12 21:49:36 - cd /src TB --- 2013-04-12 21:49:36 - /usr/bin/make -B buildkernel KERNCONF=AC100 Kernel build for AC100 started on Fri Apr 12 21:49:36 UTC 2013 stage 1: configuring the kernel stage 2.1: cleaning up the object tree stage 2.2: rebuilding the object tree stage 2.3: build tools stage 3.1: making dependencies stage 3.2: building everything Kernel build for AC100 completed on Fri Apr 12 21:52:24 UTC 2013 TB --- 2013-04-12 21:52:24 - cd /src/sys/arm/conf TB --- 2013-04-12 21:52:24 - /usr/sbin/config -m ARMADAXP TB --- 2013-04-12 21:52:24 - building ARMADAXP kernel TB --- 2013-04-12 21:52:24 - CROSS_BUILD_TESTING=YES TB --- 2013-04-12 21:52:24 - MAKEOBJDIRPREFIX=/obj TB --- 2013-04-12 21:52:24 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2013-04-12 21:52:24 - SRCCONF=/dev/null TB --- 2013-04-12 21:52:24 - TARGET=arm TB --- 2013-04-12 21:52:24 - TARGET_ARCH=armv6 TB --- 2013-04-12 21:52:24 - TZ=UTC TB --- 2013-04-12 21:52:24 - __MAKE_CONF=/dev/null TB --- 2013-04-12 21:52:24 - cd /src TB --- 2013-04-12 21:52:24 - /usr/bin/make -B buildkernel KERNCONF=ARMADAXP Kernel build for ARMADAXP started on Fri Apr 12 21:52:24 UTC 2013 stage 1: configuring the kernel stage 2.1: cleaning up the object tree stage 2.2: rebuilding the object tree stage 2.3: build tools stage 3.1: making dependencies stage 3.2: building everything Kernel build for ARMADAXP completed on Fri Apr 12 21:56:19 UTC 2013 TB --- 2013-04-12 21:56:19 - cd /src/sys/arm/conf TB --- 2013-04-12 21:56:19 - /usr/sbin/config -m ATMEL TB --- 2013-04-12 21:56:19 - skipping ATMEL kernel TB --- 2013-04-12 21:56:19 - cd /src/sys/arm/conf TB --- 2013-04-12 21:56:19 - /usr/sbin/config -m AVILA TB --- 2013-04-12 21:56:19 - skipping AVILA kernel TB --- 2013-04-12 21:56:19 - cd /src/sys/arm/conf TB --- 2013-04-12 21:56:19 - /usr/sbin/config -m BEAGLEBONE TB --- 2013-04-12 21:56:19 - building BEAGLEBONE kernel TB --- 2013-04-12 21:56:19 - CROSS_BUILD_TESTING=YES TB --- 2013-04-12 21:56:19 - MAKEOBJDIRPREFIX=/obj TB --- 2013-04-12 21:56:19 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2013-04-12 21:56:19 - SRCCONF=/dev/null TB --- 2013-04-12 21:56:19 - TARGET=arm TB --- 2013-04-12 21:56:19 - TARGET_ARCH=armv6 TB --- 2013-04-12 21:56:19 - TZ=UTC TB --- 2013-04-12 21:56:19 - __MAKE_CONF=/dev/null TB --- 2013-04-12 21:56:19 - cd /src TB --- 2013-04-12 21:56:19 - /usr/bin/make -B buildkernel KERNCONF=BEAGLEBONE Kernel build for BEAGLEBONE started on Fri Apr 12 21:56:19 UTC 2013 stage 1: configuring the kernel stage 2.1: cleaning up the object tree stage 2.2: rebuilding
[head tinderbox] failure on amd64/amd64
TB --- 2013-04-12 18:51:25 - tinderbox 2.10 running on freebsd-current.sentex.ca TB --- 2013-04-12 18:51:25 - FreeBSD freebsd-current.sentex.ca 8.3-PRERELEASE FreeBSD 8.3-PRERELEASE #0: Mon Mar 26 13:54:12 EDT 2012 d...@freebsd-current.sentex.ca:/usr/obj/usr/src/sys/GENERIC amd64 TB --- 2013-04-12 18:51:25 - starting HEAD tinderbox run for amd64/amd64 TB --- 2013-04-12 18:51:25 - cleaning the object tree TB --- 2013-04-12 18:51:25 - /usr/local/bin/svn stat /src TB --- 2013-04-12 18:51:30 - At svn revision 249423 TB --- 2013-04-12 18:51:31 - building world TB --- 2013-04-12 18:51:31 - CROSS_BUILD_TESTING=YES TB --- 2013-04-12 18:51:31 - MAKEOBJDIRPREFIX=/obj TB --- 2013-04-12 18:51:31 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2013-04-12 18:51:31 - SRCCONF=/dev/null TB --- 2013-04-12 18:51:31 - TARGET=amd64 TB --- 2013-04-12 18:51:31 - TARGET_ARCH=amd64 TB --- 2013-04-12 18:51:31 - TZ=UTC TB --- 2013-04-12 18:51:31 - __MAKE_CONF=/dev/null TB --- 2013-04-12 18:51:31 - cd /src TB --- 2013-04-12 18:51:31 - /usr/bin/make -B buildworld Building an up-to-date make(1) World build started on Fri Apr 12 18:51:36 UTC 2013 Rebuilding the temporary build tree stage 1.1: legacy release compatibility shims stage 1.2: bootstrap tools stage 2.1: cleaning up the object tree stage 2.2: rebuilding the object tree stage 2.3: build tools stage 3: cross tools stage 4.1: building includes stage 4.2: building libraries stage 4.3: make dependencies stage 4.4: building everything stage 5.1: building 32 bit shim libraries World build completed on Fri Apr 12 22:33:43 UTC 2013 TB --- 2013-04-12 22:33:43 - generating LINT kernel config TB --- 2013-04-12 22:33:43 - cd /src/sys/amd64/conf TB --- 2013-04-12 22:33:43 - /usr/bin/make -B LINT TB --- 2013-04-12 22:33:43 - cd /src/sys/amd64/conf TB --- 2013-04-12 22:33:43 - /usr/sbin/config -m LINT TB --- 2013-04-12 22:33:43 - building LINT kernel TB --- 2013-04-12 22:33:43 - CROSS_BUILD_TESTING=YES TB --- 2013-04-12 22:33:43 - MAKEOBJDIRPREFIX=/obj TB --- 2013-04-12 22:33:43 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2013-04-12 22:33:43 - SRCCONF=/dev/null TB --- 2013-04-12 22:33:43 - TARGET=amd64 TB --- 2013-04-12 22:33:43 - TARGET_ARCH=amd64 TB --- 2013-04-12 22:33:43 - TZ=UTC TB --- 2013-04-12 22:33:43 - __MAKE_CONF=/dev/null TB --- 2013-04-12 22:33:43 - cd /src TB --- 2013-04-12 22:33:43 - /usr/bin/make -B buildkernel KERNCONF=LINT Kernel build for LINT started on Fri Apr 12 22:33:43 UTC 2013 stage 1: configuring the kernel stage 2.1: cleaning up the object tree stage 2.2: rebuilding the object tree stage 2.3: build tools stage 3.1: making dependencies [...] awk -f /src/sys/tools/makeobjops.awk /src/sys/dev/acpica/acpi_if.m -h awk -f /src/sys/tools/makeobjops.awk /src/sys/dev/acpi_support/acpi_wmi_if.m -h awk -f /src/sys/tools/makeobjops.awk /src/sys/dev/virtio/virtio_bus_if.m -h awk -f /src/sys/tools/makeobjops.awk /src/sys/dev/virtio/virtio_if.m -h rm -f .newdep /obj/src/make.amd64/make -V CFILES_NOZFS -V SYSTEM_CFILES -V GEN_CFILES | MKDEP_CPP=cc -E CC=cc xargs mkdep -a -f .newdep -O2 -pipe -fno-strict-aliasing -std=c99 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -Wmissing-include-dirs -fdiagnostics-show-option -Wno-error-tautological-compare -Wno-error-empty-body -Wno-error-parentheses-equality -nostdinc -I. -I/src/sys -I/src/sys/contrib/altq -I/src/sys/contrib/ipfilter -I/src/sys/dev/ath -I/src/sys/dev/ath/ath_hal -I/src/sys/contrib/ngatm -I/src/sys/dev/twa -I/src/sys/dev/cxgb -I/src/sys/dev/cxgbe -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -DGPROF -DGPROF4 -DGUPROF -fno-builtin -fno-omit-frame-pointer -mno-aes -mno-avx -mcmodel=kernel -mno-red-zone -mno-mmx -mno-sse -msoft-float -fno-asynchronous-unwind-tables -ffreestanding -fstack-protector cc: error: no such file or directory: '/src/sys/dev/nvme/nvme_uio.c' mkdep: compile failed *** [.depend] Error code 1 Stop in /obj/amd64.amd64/src/sys/LINT. *** [buildkernel] Error code 1 Stop in /src. *** Error code 1 Stop in /src. TB --- 2013-04-12 22:35:18 - WARNING: /usr/bin/make returned exit code 1 TB --- 2013-04-12 22:35:18 - ERROR: failed to build LINT kernel TB --- 2013-04-12 22:35:18 - 10761.61 user 1903.88 system 13433.05 real http://tinderbox.freebsd.org/tinderbox-head-build-HEAD-amd64-amd64.full ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: [head tinderbox] failure on amd64/amd64
On Fri, Apr 12, 2013 at 3:35 PM, FreeBSD Tinderbox tinder...@freebsd.orgwrote: World build completed on Fri Apr 12 22:33:43 UTC 2013 TB --- 2013-04-12 22:33:43 - generating LINT kernel config TB --- 2013-04-12 22:33:43 - cd /src/sys/amd64/conf TB --- 2013-04-12 22:33:43 - /usr/bin/make -B LINT TB --- 2013-04-12 22:33:43 - cd /src/sys/amd64/conf TB --- 2013-04-12 22:33:43 - /usr/sbin/config -m LINT TB --- 2013-04-12 22:33:43 - building LINT kernel TB --- 2013-04-12 22:33:43 - CROSS_BUILD_TESTING=YES TB --- 2013-04-12 22:33:43 - MAKEOBJDIRPREFIX=/obj TB --- 2013-04-12 22:33:43 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2013-04-12 22:33:43 - SRCCONF=/dev/null TB --- 2013-04-12 22:33:43 - TARGET=amd64 TB --- 2013-04-12 22:33:43 - TARGET_ARCH=amd64 TB --- 2013-04-12 22:33:43 - TZ=UTC TB --- 2013-04-12 22:33:43 - __MAKE_CONF=/dev/null TB --- 2013-04-12 22:33:43 - cd /src TB --- 2013-04-12 22:33:43 - /usr/bin/make -B buildkernel KERNCONF=LINT Kernel build for LINT started on Fri Apr 12 22:33:43 UTC 2013 stage 1: configuring the kernel stage 2.1: cleaning up the object tree stage 2.2: rebuilding the object tree stage 2.3: build tools stage 3.1: making dependencies [...] awk -f /src/sys/tools/makeobjops.awk /src/sys/dev/acpica/acpi_if.m -h awk -f /src/sys/tools/makeobjops.awk /src/sys/dev/acpi_support/acpi_wmi_if.m -h awk -f /src/sys/tools/makeobjops.awk /src/sys/dev/virtio/virtio_bus_if.m -h awk -f /src/sys/tools/makeobjops.awk /src/sys/dev/virtio/virtio_if.m -h rm -f .newdep /obj/src/make.amd64/make -V CFILES_NOZFS -V SYSTEM_CFILES -V GEN_CFILES | MKDEP_CPP=cc -E CC=cc xargs mkdep -a -f .newdep -O2 -pipe -fno-strict-aliasing -std=c99 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -Wmissing-include-dirs -fdiagnostics-show-option -Wno-error-tautological-compare -Wno-error-empty-body -Wno-error-parentheses-equality -nostdinc -I. -I/src/sys -I/src/sys/contrib/altq -I/src/sys/contrib/ipfilter -I/src/sys/dev/ath -I/src/sys/dev/ath/ath_hal -I/src/sys/contrib/ngatm -I/src/sys/dev/twa -I/src/sys/dev/cxgb -I/src/sys/dev/cxgbe -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -DGPROF -DGPROF4 -DGUPROF -fno-builtin -fno-omit-frame-pointer -mno-aes -mno-avx -mcmodel=kernel -mno-red-zone -mno-mmx -mno-sse -msoft-float -fno-asynchronous-unwind-tables -ffreestanding -fstack-protector cc: error: no such file or directory: '/src/sys/dev/nvme/nvme_uio.c' mkdep: compile failed I deleted nvme_uio.c in r249420, as well as removing it from the Makefile. Can someone kindly point me to what step I'm missing here? Thanks, -Jim ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: [head tinderbox] failure on amd64/amd64
On Fri, 2013-04-12 at 16:14 -0700, Jim Harris wrote: On Fri, Apr 12, 2013 at 3:35 PM, FreeBSD Tinderbox tinder...@freebsd.orgwrote: World build completed on Fri Apr 12 22:33:43 UTC 2013 TB --- 2013-04-12 22:33:43 - generating LINT kernel config TB --- 2013-04-12 22:33:43 - cd /src/sys/amd64/conf TB --- 2013-04-12 22:33:43 - /usr/bin/make -B LINT TB --- 2013-04-12 22:33:43 - cd /src/sys/amd64/conf TB --- 2013-04-12 22:33:43 - /usr/sbin/config -m LINT TB --- 2013-04-12 22:33:43 - building LINT kernel TB --- 2013-04-12 22:33:43 - CROSS_BUILD_TESTING=YES TB --- 2013-04-12 22:33:43 - MAKEOBJDIRPREFIX=/obj TB --- 2013-04-12 22:33:43 - PATH=/usr/bin:/usr/sbin:/bin:/sbin TB --- 2013-04-12 22:33:43 - SRCCONF=/dev/null TB --- 2013-04-12 22:33:43 - TARGET=amd64 TB --- 2013-04-12 22:33:43 - TARGET_ARCH=amd64 TB --- 2013-04-12 22:33:43 - TZ=UTC TB --- 2013-04-12 22:33:43 - __MAKE_CONF=/dev/null TB --- 2013-04-12 22:33:43 - cd /src TB --- 2013-04-12 22:33:43 - /usr/bin/make -B buildkernel KERNCONF=LINT Kernel build for LINT started on Fri Apr 12 22:33:43 UTC 2013 stage 1: configuring the kernel stage 2.1: cleaning up the object tree stage 2.2: rebuilding the object tree stage 2.3: build tools stage 3.1: making dependencies [...] awk -f /src/sys/tools/makeobjops.awk /src/sys/dev/acpica/acpi_if.m -h awk -f /src/sys/tools/makeobjops.awk /src/sys/dev/acpi_support/acpi_wmi_if.m -h awk -f /src/sys/tools/makeobjops.awk /src/sys/dev/virtio/virtio_bus_if.m -h awk -f /src/sys/tools/makeobjops.awk /src/sys/dev/virtio/virtio_if.m -h rm -f .newdep /obj/src/make.amd64/make -V CFILES_NOZFS -V SYSTEM_CFILES -V GEN_CFILES | MKDEP_CPP=cc -E CC=cc xargs mkdep -a -f .newdep -O2 -pipe -fno-strict-aliasing -std=c99 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -Wmissing-include-dirs -fdiagnostics-show-option -Wno-error-tautological-compare -Wno-error-empty-body -Wno-error-parentheses-equality -nostdinc -I. -I/src/sys -I/src/sys/contrib/altq -I/src/sys/contrib/ipfilter -I/src/sys/dev/ath -I/src/sys/dev/ath/ath_hal -I/src/sys/contrib/ngatm -I/src/sys/dev/twa -I/src/sys/dev/cxgb -I/src/sys/dev/cxgbe -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -DGPROF -DGPROF4 -DGUPROF -fno-builtin -fno-omit-frame-pointer -mno-aes -mno-avx -mcmodel=kernel -mno-red-zone -mno-mmx -mno-sse -msoft-float -fno-asynchronous-unwind-tables -ffreestanding -fstack-protector cc: error: no such file or directory: '/src/sys/dev/nvme/nvme_uio.c' mkdep: compile failed I deleted nvme_uio.c in r249420, as well as removing it from the Makefile. Can someone kindly point me to what step I'm missing here? Thanks, References to it also appear in sys/conf/files.{amd64,i386}. -- Ian ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: ipfilter(4) needs maintainer
On 2013/04/11, at 13:18, Gleb Smirnoff gleb...@freebsd.org wrote: Lack of maintainer in a near future would lead to bitrot due to changes in other areas of network stack, kernel APIs, etc. This already happens, many changes during 10.0-CURRENT cycle were only compile tested wrt ipfilter. If we fail to find maintainer, then a correct decision would be to remove ipfilter(4) from the base system before 10.0-RELEASE. This has been discussed in the past. Every time someone came up and said I'm still using ipfilter! and the idea to remove it dies with it. I've been saying we should remove it for 4 years now. Not only it's outdated but it also doesn't not fit well in the FreeBSD roadmap. Then there's the question of maintainability. We gave the author a commit bit so that he could maintain it. That doesn't happen anymore and it sounds like he has since moved away from FreeBSD. I cannot find any reason to burden another FreeBSD developer with maintaining ipfilter. -- Rui Paulo ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: newnfs pkgng database corruption?
Baptiste Daroussin wrote: On Fri, Apr 12, 2013 at 12:56:10PM +, Eggert, Lars wrote: Hi, On Apr 12, 2013, at 1:10, Rick Macklem rmack...@uoguelph.ca wrote: Well, I have no idea why an NFS server would reply errno 70 if the file still exists, unless the client has somehow sent a bogus file handle to the server. (I am not aware of any client bug that might do that. I am almost suspicious that there might be a memory problem or something that corrupts bits in the network layer. Do you have TSO enabled for your network interface by any chance? If so, I'd try disabling that on the network interface. Same goes for checksum offload.) rick ps: If you can capture packets between the client and server at the time this error occurs, looking at them in wireshark might be useful? I will try all of those things. You might still try the above suggestions, but since Error 70 wasn't an errno.h error number, it isn't a stale fh problem and, as such, there isn't any evidence that bits are getting messed with by the network layers. rick But first, a question that someone who understands pkgng will be able to answerr: Is this fake-pkg process even running on the NFS mount? The WRKDIR is /tmp, which is an mfs mount. fake-pkg is run in WRKDIR, but it calls pkgng which will open /var/db/pkg/local.sqlite aka nfs mount. The Error 70 is EX_SOFTWARE returned by pkgng. Can you try the following patch: http://people.freebsd.org/~bapt/patch-libpkg__pkgdb.c Just add that file to /usr/ports/ports-mgmt/pkg/files/ If that works for you, that means the posix advisory locks is somehow failing on nfsv4 files. Given it is already known to be failing on nfsv3 (because people often misconfigure it) I'll probablmy make unix-dotfile the default locking system when local.sqlite is stored on network filesystem. regards, Bapt ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: ipfilter(4) needs maintainer
On Apr 12, 2013, at 7:43 PM, Rui Paulo rpa...@freebsd.org wrote: On 2013/04/11, at 13:18, Gleb Smirnoff gleb...@freebsd.org wrote: Lack of maintainer in a near future would lead to bitrot due to changes in other areas of network stack, kernel APIs, etc. This already happens, many changes during 10.0-CURRENT cycle were only compile tested wrt ipfilter. If we fail to find maintainer, then a correct decision would be to remove ipfilter(4) from the base system before 10.0-RELEASE. This has been discussed in the past. Every time someone came up and said I'm still using ipfilter! and the idea to remove it dies with it. I've been saying we should remove it for 4 years now. Not only it's outdated but it also doesn't not fit well in the FreeBSD roadmap. Then there's the question of maintainability. We gave the author a commit bit so that he could maintain it. That doesn't happen anymore and it sounds like he has since moved away from FreeBSD. I cannot find any reason to burden another FreeBSD developer with maintaining ipfilter. One thing that FreeBSD is bad about (and this really applies to many open source projects) when deprecating something is that the developer and release engineering groups rarely provide adequate, if any, tools to help users transition and cope with the deprecation. The fear of deprecation can be largely overcome by giving these users a clear and comprehensive path forward. Just announcing ipfilter is going away. EOM is inadequate and leads to completely justified complaints from users. So with that said, would it be possible to write some tutorials on how to migrate an ipfilter installation to pf? Maybe some mechanical syntax docs accompanied by a few case studies? Is it possible for a script to automate some of the common mechanical changes? Also essential is a clear document on what goes away with ipfilter and what is gained with pf. Once those tools are written, I suggest announcing that ipfilter is available but deprecated/unsupported in FreeBSD 10, and will be removed from FreeBSD 11. Certain people will still pitch a fit about it departing, but if the tools are there to help the common users, you'll be successful in winning mindshare and general support. Scott ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org