Module Name: src Committed By: chs Date: Mon Jul 6 00:21:51 UTC 2015
Modified Files: src/external/cddl/osnet/dist/tools/ctf/cvt: ctfmerge.c src/share/mk: sys.mk Log Message: reapply some fixes to make multi-threaded ctfmerge work that were lost in the overzealous resync with freebsd. remove the hacks which were applied to work around those problems. To generate a diff of this commit: cvs rdiff -u -r1.11 -r1.12 \ src/external/cddl/osnet/dist/tools/ctf/cvt/ctfmerge.c cvs rdiff -u -r1.127 -r1.128 src/share/mk/sys.mk Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/external/cddl/osnet/dist/tools/ctf/cvt/ctfmerge.c diff -u src/external/cddl/osnet/dist/tools/ctf/cvt/ctfmerge.c:1.11 src/external/cddl/osnet/dist/tools/ctf/cvt/ctfmerge.c:1.12 --- src/external/cddl/osnet/dist/tools/ctf/cvt/ctfmerge.c:1.11 Fri Mar 6 11:49:30 2015 +++ src/external/cddl/osnet/dist/tools/ctf/cvt/ctfmerge.c Mon Jul 6 00:21:51 2015 @@ -177,7 +177,13 @@ #include <stdio.h> #include <stdlib.h> +#ifndef _NETBSD_SOURCE +#define _NETBSD_SOURCE /* XXX TBD fix this */ #include <unistd.h> +#undef _NETBSD_SOURCE +#else +#include <unistd.h> +#endif #include <pthread.h> #include <assert.h> #if defined(sun) @@ -208,12 +214,7 @@ #pragma init(bigheap) #define MERGE_PHASE1_BATCH_SIZE 8 -#if 0 -// XXX: bug? #define MERGE_PHASE1_MAX_SLOTS 5 -#else -#define MERGE_PHASE1_MAX_SLOTS 1 -#endif #define MERGE_INPUT_THROTTLE_LEN 10 const char *progname; @@ -686,6 +687,7 @@ wq_init(workqueue_t *wq, int nfiles) for (i = 0; i < nslots; i++) { pthread_mutex_init(&wq->wq_wip[i].wip_lock, NULL); + pthread_cond_init(&wq->wq_wip[i].wip_cv, NULL); wq->wq_wip[i].wip_batchid = wq->wq_next_batchid++; } @@ -789,7 +791,7 @@ main(int argc, char **argv) debug_level = atoi(getenv("CTFMERGE_DEBUG_LEVEL")); err = 0; - while ((c = getopt(argc, argv, ":cd:D:fgl:L:o:tvw:sS:")) != EOF) { + while ((c = getopt(argc, argv, ":cd:D:fgl:L:o:tvw:s")) != EOF) { switch (c) { case 'c': docopy = 1; @@ -837,9 +839,6 @@ main(int argc, char **argv) /* use the dynsym rather than the symtab */ dynsym = CTF_USE_DYNSYM; break; - case 'S': - maxslots = atoi(optarg); - break; default: usage(); exit(2); Index: src/share/mk/sys.mk diff -u src/share/mk/sys.mk:1.127 src/share/mk/sys.mk:1.128 --- src/share/mk/sys.mk:1.127 Sun Aug 10 05:57:31 2014 +++ src/share/mk/sys.mk Mon Jul 6 00:21:51 2015 @@ -1,4 +1,4 @@ -# $NetBSD: sys.mk,v 1.127 2014/08/10 05:57:31 matt Exp $ +# $NetBSD: sys.mk,v 1.128 2015/07/06 00:21:51 chs Exp $ # @(#)sys.mk 8.2 (Berkeley) 3/21/94 # # This file contains the basic rules for make(1) and is read first @@ -46,8 +46,7 @@ LINK.c?= ${CC} ${CFLAGS} ${CPPFLAGS} ${L # C Type Format data is required for DTrace CTFFLAGS ?= -g -L VERSION -# Use only one thread for now. -CTFMFLAGS ?= -S 1 -g -t -L VERSION +CTFMFLAGS ?= -t -g -L VERSION CXX?= c++ CXXFLAGS?= ${CFLAGS:N-Wno-traditional:N-Wstrict-prototypes:N-Wmissing-prototypes:N-Wno-pointer-sign:N-ffreestanding:N-std=gnu[0-9][0-9]:N-Wold-style-definition:N-Wno-format-zero-length}