From owner-freebsd-current@FreeBSD.ORG Sat Dec 15 20:46:13 2012 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id DE6CCE8D; Sat, 15 Dec 2012 20:46:13 +0000 (UTC) (envelope-from yanegomi@gmail.com) Received: from mail-pb0-f54.google.com (mail-pb0-f54.google.com [209.85.160.54]) by mx1.freebsd.org (Postfix) with ESMTP id 5D4C08FC14; Sat, 15 Dec 2012 20:46:13 +0000 (UTC) Received: by mail-pb0-f54.google.com with SMTP id wz12so2820047pbc.13 for ; Sat, 15 Dec 2012 12:46:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=subject:mime-version:content-type:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to:x-mailer; bh=rDDLRFOudkIXCVcGGOqERmHSD2Yu2R5ZRzxPpsD5hcY=; b=R/D7uscuPt+jIvhMHUZdfZW2/Nj/JeIQSPNhie1gHce6AuCDVZIvuCrWLBO9XhpZjn dgbwxjthzc6mqkAKwLMr60MLBpuNG/pWudv+kZivW6eNoYxtIVj0Oi+d8O8ex0WTA24J ybVSvcZXAG92zGNQQt1dgcr/FSZarOjC0iIZ8B3v7bXSdaxrnFUOKs9ZX3dJvPoNhLfe adYd9mYXfDq2sWLrOFQGe7wah+eSArwEUMdwMal58SeKUYDa9oYxl6gsshhUA7pZRkwL XOOuN2w39VFnayDMofPkM/e7AFlT2PZz0LDu35kCySc/MjfRKdxLiZMPsis0oqa9GK6Q 5s6A== Received: by 10.66.88.133 with SMTP id bg5mr27607992pab.21.1355604367814; Sat, 15 Dec 2012 12:46:07 -0800 (PST) Received: from [192.168.20.11] (c-24-19-191-56.hsd1.wa.comcast.net. [24.19.191.56]) by mx.google.com with ESMTPS id rk17sm5226225pbb.3.2012.12.15.12.46.04 (version=TLSv1/SSLv3 cipher=OTHER); Sat, 15 Dec 2012 12:46:06 -0800 (PST) Subject: Re: [RFC/RFT] calloutng Mime-Version: 1.0 (Apple Message framework v1283) Content-Type: text/plain; charset=us-ascii From: Garrett Cooper In-Reply-To: <20121215203458.GA22361@oddish> Date: Sat, 15 Dec 2012 12:46:02 -0800 Content-Transfer-Encoding: quoted-printable Message-Id: <35705A81-690A-4993-B0C3-C8BC0BC89C67@gmail.com> References: <50CCAB99.4040308@FreeBSD.org> <20121215203458.GA22361@oddish> To: Mark Johnston X-Mailer: Apple Mail (2.1283) Cc: Davide Italiano , Alexander Motin , FreeBSD Current , freebsd-arch@freebsd.org X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 15 Dec 2012 20:46:14 -0000 On Dec 15, 2012, at 12:34 PM, Mark Johnston wrote: > On Sat, Dec 15, 2012 at 06:55:53PM +0200, Alexander Motin wrote: >> Hi. >>=20 >> I'm sorry to interrupt review, but as usual good ideas came during = the=20 >> final testing, causing another round. :) Here is updated patch for=20= >> HEAD, that includes several new changes: >> http://people.freebsd.org/~mav/calloutng_12_15.patch >=20 > This patch breaks the libprocstat build. >=20 > Specifically, the OpenSolaris sys/time.h defines the preprocessor > symbols gethrestime and gethrestime_sec. These symbols are also = defined > in cddl/contrib/opensolaris/lib/libzpool/common/sys/zfs_context.h. > libprocstat:zfs.c is compiled using include paths that pick up the > OpenSolaris time.h, and with this patch _callout.h includes = sys/time.h. >=20 > zfs.c includes taskqueue.h (with _KERNEL defined), which includes > _callout.h, so both time.h and zfs_context.h are included in zfs.c, = and > the symbols are thus defined twice. >=20 > The patch below fixes the build for me. Another approach might be to > include sys/_task.h instead of taskqueue.h at the beginning of zfs.c. I had a patch open once upon a time to cleanup inclusion of = sys/time.h all over the tree and deal with the sys/time.h <-> time.h = pollution issue, but it got dropped due to lack of interest (20~30 = apps/libs were affected IIRC and I only really got assistance in fixing = the UFS and bsnmpd pieces, and gave up due to lack of response from = maintainers). dtrace/zfs is a definite instigator in this pollution (I = remember nasty cddl/... pollution with the compat sys/time.h header). Bottom line: make sure anything new you're defining isn't = already defined via POSIX or other OSes, and if so please try to make = the implementations match (so that eventual POSIX inclusion might be = possible) and when in doubt I suggest consulting standards@ / brde@. Cheers, -Garrett=