From owner-svn-src-stable-11@freebsd.org Sun May 27 08:32:56 2018 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F0CDCEF6BB3; Sun, 27 May 2018 08:32:55 +0000 (UTC) (envelope-from fidaj@ukr.net) Received: from frv73.fwdcdn.com (frv73.fwdcdn.com [212.42.77.73]) by mx1.freebsd.org (Postfix) with ESMTP id 7DCAA7699E; Sun, 27 May 2018 08:32:55 +0000 (UTC) (envelope-from fidaj@ukr.net) Received: from [10.10.17.72] (helo=frv157.fwdcdn.com) by frv73.fwdcdn.com QID:1fMqqs-000458-Nu/RC:5; Sun, 27 May 2018 11:16:30 +0300 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=ukr.net; s=fsm; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References: In-Reply-To:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=93X+ePWgrXBYxPnMvjksy2Q9fBdr34o5bv+XO0U0BBE=; b=pWUKnxSzEvd1oX5q8AF7FXt+4o Zea9cbqw4ObmdyvJFBSkDU1pqa7YBap785oGUpvxcIexmjLns009odcOJfS2b2vcjB0YYl9SmiL/A 9QCMbMhZaI1cff+YbjRTGKLL/2qSTI6ELKL127nulTt+6IgiyDHHRFqQTvCsGK3IdupU=; Received: from [109.122.31.233] (helo=nonamehost) by frv157.fwdcdn.com with esmtpsa ID 1fMqql-00015h-DS ; Sun, 27 May 2018 11:16:23 +0300 Date: Sun, 27 May 2018 11:16:22 +0300 From: Ivan Klymenko To: Sean Bruno Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: Re: svn commit: r334229 - stable/11/sys/cam Message-ID: <20180527111622.1242fdb0@nonamehost> In-Reply-To: <201805252318.w4PNI6X5054481@repo.freebsd.org> References: <201805252318.w4PNI6X5054481@repo.freebsd.org> X-Mailer: Claws Mail 3.16.0 (GTK+ 2.24.32; x86_64-pc-linux-gnu) Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAFVBMVEWpqak/Pz/i4uIfHx8GBwZwcHAQEBA6o92AAAACHElEQVQ4jWWUTY7bMAyF6QzUPSEoa8PFHEBgqwuM4bVVg7MvZOj+R+ijpMTpjIwgkT7z75EKrdfattpXERG6zqvUOtAr2LCRYfEKcB4l/Q+2cc6XjQH7hv+2YZYreIk5nevZEPvuzUzptizHLzgDMnC5Wpbl7ewJlOEqlQF+DlCjgVLki0WV6FMDMsBxjlJiQulIznwZ+DxHiQyDyIg0wN3Oo6o6ZQ5s5AIfar+W2Wlmz+kCcb8tg6j3voMEwNrBQk69dDBDqw/urpqJH+m+Q6u/4QnoAeYpnUXC/s1iup9rhCd6xMgAqdDyAyFegbKkVAHeLCcOulPLawaoUIDos4M88iLNrVkU7uu5ccTDO6naJzWLum51C6Yb7y4HKKbdArLWir0PBiS8glJRBZHeyHl7J9lENpAC6qT9NlNG4u5hsVYDyJP6mlJJtY3oVju4WSUzHal1sDU17NASoBWSk40J2eBLBJhYrVmzC5gVALGpNIAiQgN6eGstOp9Oa6zFbbLTISYi28BGZDRUJKWeroECkCEkzXjUtbmmaKMfAx2RfbT69/cO+tgHcmx6AfyZOmj3NDIah0F0GB66d4CrdIoplNFFGHSpSheRxbo0W4S8azNItEoMWbw3uXAeJgCrmX5joz7CGXqSg6PcryEhnFr/C1C2ntPxBOYbdwY+8dO3+wZJyFlbMX9s8zNnvp/tLwAv03NB4j3HVpn8Awwm+GrlP6MVAAAAAElFTkSuQmCC MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Authentication-Result: IP=109.122.31.233; mail.from=fidaj@ukr.net; dkim=pass; header.d=ukr.net X-Ukrnet-Yellow: 0 X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 May 2018 08:32:56 -0000 =D0=92 Fri, 25 May 2018 23:18:06 +0000 (UTC) Sean Bruno =D0=BF=D0=B8=D1=88=D0=B5=D1=82: > Author: sbruno > Date: Fri May 25 23:18:06 2018 > New Revision: 334229 > URL: https://svnweb.freebsd.org/changeset/base/334229 >=20 > Log: > MFC r323829 > cam iosched: Add a handler for the quanta sysctl to enforce valid > values > =20 > MFC r323831 > cam iosched: Schedule cam_iosched_ticker() quanta times per > second=20 > PR: 221956 221957 > Submitted by: imp > Approved by: re (marius) >=20 > Modified: > stable/11/sys/cam/cam_iosched.c > Directory Properties: > stable/11/ (props changed) >=20 > Modified: stable/11/sys/cam/cam_iosched.c > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > --- stable/11/sys/cam/cam_iosched.c Fri May 25 21:46:53 > 2018 (r334228) +++ stable/11/sys/cam/cam_iosched.c Fri > May 25 23:18:06 2018 (r334229) @@ -510,7 +510,7 @@ > cam_iosched_ticker(void *arg) struct cam_iosched_softc *isc =3D arg; > sbintime_t now, delta; > =20 > - callout_reset(&isc->ticker, hz / isc->quanta - 1, > cam_iosched_ticker, isc); > + callout_reset(&isc->ticker, hz / isc->quanta1, > cam_iosched_ticker, isc);=20 > now =3D sbinuptime(); > delta =3D now - isc->last_time; > @@ -753,7 +753,7 @@ cam_iosched_limiter_sysctl(SYSCTL_HANDLER_ARGS) > } > } else { > if (cantick !=3D 0) { > - callout_reset(&isc->ticker, hz / > isc->quanta - 1, cam_iosched_ticker, isc); > + callout_reset(&isc->ticker, hz / > isc->quanta, cam_iosched_ticker, isc); isc->flags |=3D > CAM_IOSCHED_FLAG_CALLOUT_ACTIVE; } > } > @@ -821,6 +821,27 @@ cam_iosched_sbintime_sysctl(SYSCTL_HANDLER_ARGS) > return 0; > } > =20 > +static int > +cam_iosched_quanta_sysctl(SYSCTL_HANDLER_ARGS) > +{ > + int *quanta; > + int error, value; > + > + quanta =3D (unsigned *)arg1; > + value =3D *quanta; > + > + error =3D sysctl_handle_int(oidp, (int *)&value, 0, req); > + if ((error !=3D 0) || (req->newptr =3D=3D NULL)) > + return (error); > + > + if (value < 1 || value > hz) > + return (EINVAL); > + > + *quanta =3D value; > + > + return (0); > +} > + > static void > cam_iosched_iop_stats_sysctl_init(struct cam_iosched_softc *isc, > struct iop_stats *ios, char *name) { > @@ -971,7 +992,7 @@ cam_iosched_init(struct cam_iosched_softc **iscp, > stru callout_init_mtx(&(*iscp)->ticker, cam_periph_mtx(periph), 0); > (*iscp)->periph =3D periph; > cam_iosched_cl_init(&(*iscp)->cl, *iscp); > - callout_reset(&(*iscp)->ticker, hz / (*iscp)->quanta > - 1, cam_iosched_ticker, *iscp); > + callout_reset(&(*iscp)->ticker, hz / > (*iscp)->quanta, cam_iosched_ticker, *iscp); (*iscp)->flags |=3D > CAM_IOSCHED_FLAG_CALLOUT_ACTIVE; } > #endif > @@ -1042,9 +1063,9 @@ void cam_iosched_sysctl_init(struct > cam_iosched_softc &isc->read_bias, 100, > "How biased towards read should we be independent of > limits");=20 > - SYSCTL_ADD_INT(ctx, n, > - OID_AUTO, "quanta", CTLFLAG_RW, > - &isc->quanta, 200, > + SYSCTL_ADD_PROC(ctx, n, > + OID_AUTO, "quanta", CTLTYPE_UINT | CTLFLAG_RW, > + &isc->quanta, 0, cam_iosched_quanta_sysctl, "I", > "How many quanta per second do we slice the I/O up > into");=20 > SYSCTL_ADD_INT(ctx, n, ... --- cam_iosched.o --- /usr/local/libexec/ccache/world/cc -target i386-unknown-freebsd11.2 --sysro= ot=3D/usr/obj/usr/src/tmp -B/usr/obj/usr/src/tmp/usr/bin -O2 -pipe -O3 -fve= ctorize -fslp-vectorize -fblocks -march=3Dnative -fno-strict-aliasing -Wer= ror -D_KERNEL -DKLD_MODULE -nostdinc -DHAVE_KERNEL_OPTION_HEADERS -includ= e /usr/obj/usr/src/sys/k11/opt_global.h -I. -I/usr/src/sys -fno-common -g -= I/usr/obj/usr/src/sys/k11 -MD -MF.depend.cam_iosched.o -MTcam_iosched.o = -mno-mmx -mno-sse -msoft-float -ffreestanding -fwrapv -fstack-protector -gd= warf-2 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissi= ng-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sig= n -D__printf__=3D__freebsd_kprintf__ -Wmissing-include-dirs -fdiagnostics-s= how-option -Wno-unknown-pragmas -Wno-error-tautological-compare -Wno-error-= empty-body -Wno-error-parentheses-equality -Wno-error-unused-function -Wno-= error-pointer-sign -Wno-error-shift-negative-value -Wno-error-address-of-pa= cked-member -Ofast -fvectorize -fslp-vectorize -fblocks -fcolor-diagnostic= s -mno-aes -mno-avx -std=3Diso9899:1999 -c /usr/src/sys/cam/cam_iosched.c = -o cam_iosched.o /usr/src/sys/cam/cam_iosched.c:513:40: error: no member named 'quanta1' in = 'struct cam_iosched_softc'; did you mean 'quanta'? callout_reset(&isc->ticker, hz / isc->quanta1, cam_iosched_ticker, = isc); ^~~~~~~ quanta /usr/src/sys/sys/callout.h:115:28: note: expanded from macro 'callout_reset' callout_reset_on((c), (on_tick), (fn), (arg), -1) ^ /usr/src/sys/sys/callout.h:112:43: note: expanded from macro 'callout_reset= _on' callout_reset_sbt_on((c), tick_sbt * (to_ticks), 0, (fn), (arg), \ ^ /usr/src/sys/cam/cam_iosched.c:267:7: note: 'quanta' declared here int quanta; /* Number of quanta per sec= ond */ ^ 1 error generated. *** [cam_iosched.o] Error code 1 make[4]: stopped in /usr/src/sys/modules/cam 1 error make[4]: stopped in /usr/src/sys/modules/cam *** [all_subdir_cam] Error code 2 make[3]: stopped in /usr/src/sys/modules --- all_subdir_bxe --- ctfconvert -L VERSION -g 57712_init_values.o A failure has been detected in another branch of the parallel make make[4]: stopped in /usr/src/sys/modules/bxe *** [all_subdir_bxe] Error code 2 make[3]: stopped in /usr/src/sys/modules 2 errors make[3]: stopped in /usr/src/sys/modules *** [modules-all] Error code 2 make[2]: stopped in /usr/obj/usr/src/sys/k11 1 error make[2]: stopped in /usr/obj/usr/src/sys/k11 *** [buildkernel] Error code 2 make[1]: stopped in /usr/src 1 error make[1]: stopped in /usr/src *** [buildkernel] Error code 2 make: stopped in /usr/src 1 error make: stopped in /usr/src Press any key to continue... From owner-svn-src-stable-11@freebsd.org Sun May 27 17:21:38 2018 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C71B6F7B006; Sun, 27 May 2018 17:21:38 +0000 (UTC) (envelope-from sbruno@freebsd.org) Received: from mail.ignoranthack.me (ignoranthack.me [199.102.79.106]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5686586FDD; Sun, 27 May 2018 17:21:37 +0000 (UTC) (envelope-from sbruno@freebsd.org) Received: from [192.168.0.6] (67-0-245-183.albq.qwest.net [67.0.245.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: sbruno@ignoranthack.me) by mail.ignoranthack.me (Postfix) with ESMTPSA id A0B4D192888; Sun, 27 May 2018 09:31:11 +0000 (UTC) Subject: Re: svn commit: r334229 - stable/11/sys/cam To: Ivan Klymenko Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org References: <201805252318.w4PNI6X5054481@repo.freebsd.org> <20180527111622.1242fdb0@nonamehost> From: Sean Bruno Openpgp: preference=signencrypt Autocrypt: addr=sbruno@freebsd.org; prefer-encrypt=mutual; keydata= xsBNBFk+0UEBCADaf4bgxxKvMOhRV5NPoGWRCCGm49d6+1VFNlQ77WsY/+Zvf95TPULdRlnG w648KfxWt7+O3kdKhdRwnqlXWC7zA2Qt0dRE1yIqOGJ4jp4INvp/bcxWzgr0aoKOjrlnfxRV bh+s0rzdZt6TsNL3cVYxkC8oezjaUkHdW4mFJU249U1QJogkF8g0FeKNfEcjEkwJNX6lQJH+ EzCWT0NCk6J+Xyo+zOOljxPp1OUfdvZi3ulkU/qTZstGVWxFVsP8xQklV/y3AFcbIYx6iGJ4 5L7WuB0IWhO7Z4yHENr8wFaNYwpod9i4egX2BugbrM8pOfhN2/qqdeG1L5LMtXw3yyAhABEB AAHNN1NlYW4gQnJ1bm8gKEZyZWVCU0QgRGV2ZWxvcGVyIEtleSkgPHNicnVub0BmcmVlYnNk Lm9yZz7CwJQEEwEKAD4WIQToxOn4gDUE4eP0ujS95PX+ibX8tgUCWT7RQQIbAwUJBaOagAUL CQgHAwUVCgkICwUWAwIBAAIeAQIXgAAKCRC95PX+ibX8ttKTCACFKzRc56EBAlVotq02EjZP SfX+unlk6AuPBzShxqRxeK+bGYVCigrYd1M8nnskv0dEiZ5iYeND9HIxbpEyopqgpVTibA7w gBXaZ7SOEhNX1wXwg14JrralfSmPFMYni+sWegPMX/zwfAsn1z4mG1Nn44Xqo3o7CfpkMPy6 M5Bow2IDzIhEYISLR+urxs74/aHU35PLtBSDtu18914SEMDdva27MARN8mbeCDbuJVfGCPWy YHuy2t+9u2Zn5Dd+t3sBXLM9gpeaMm+4x6TNPpESygbVdh4tDdjVZ9DK/bWFg0kMgfZoaq6J l0jNsQXrZV3bzYNFbVw04pFcvA2GIJ7xzsBNBFk+0UEBCADIXBmQOaKMHGbc9vwjhV4Oj5aZ DdhNedn12FVeTdOXJvuTOusgxS29lla0RenHGDsgD08UiFpasBXWq/E+BhQ19d+iRbLLR17O KKc1ZGefoVbLARLXD68J5j4XAyK+6k2KqBLlqzAEpHTzsksM9naARkVXiEVcrt6ciw0FSm8n kuK3gDKKe93XfzfP+TQdbvvzJc7Fa+appLbXz61TM1aikaQlda8bWubDegwXbuoJdB34xU1m yjr/N4o+raL0x7QrzdH+wwgrTTo+H4S2c1972Skt5K5tbxLowfHicRl23V8itVQr3sBtlX4+ 66q+Apm7+R36bUS/k+G45Sp6iPpxABEBAAHCwHwEGAEKACYWIQToxOn4gDUE4eP0ujS95PX+ ibX8tgUCWT7RQQIbDAUJBaOagAAKCRC95PX+ibX8trrIB/9Pljqt/JGamD9tx4dOVmxSyFg9 z2xzgklTLuDgS73MM120mM7ao9AQUeWiSle/H0UCK7xPOzC/aeUC4oygDQKAfkkNbCNTo3+A qDjBRA8qx0e9a/QjDL+RFgD4L5kLT4tToY8T8HaBp8h03LBfk510IaI8oL/Jg7vpM3PDtJMW tUi2H+yNFmL3NfM2oBToWKLFsoP54f/eeeImrNnrlLjLHPzqS+/9apgYqX2Jwiv3tHBc4FTO GuY8VvF7BpixJs8Pc2RUuCfSyodrp1YG1kRGlXAH0cqwwr0Zmk4+7dZvtVQMCl6kS6q1+84q JwtItxS2eXSEA4NO0sQ3BXUywANh Message-ID: Date: Sun, 27 May 2018 11:21:16 -0600 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 MIME-Version: 1.0 In-Reply-To: <20180527111622.1242fdb0@nonamehost> Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="qb4AtMAr8PJqu3vQXfMeR1nkYri0B2lwv" X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 May 2018 17:21:39 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --qb4AtMAr8PJqu3vQXfMeR1nkYri0B2lwv Content-Type: multipart/mixed; boundary="PGe0f8KXOrTrgOpZv6U90d9oBjvJAfRUm"; protected-headers="v1" From: Sean Bruno To: Ivan Klymenko Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Message-ID: Subject: Re: svn commit: r334229 - stable/11/sys/cam References: <201805252318.w4PNI6X5054481@repo.freebsd.org> <20180527111622.1242fdb0@nonamehost> In-Reply-To: <20180527111622.1242fdb0@nonamehost> --PGe0f8KXOrTrgOpZv6U90d9oBjvJAfRUm Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: quoted-printable On 05/27/18 02:16, Ivan Klymenko wrote: > --- cam_iosched.o --- > /usr/local/libexec/ccache/world/cc -target i386-unknown-freebsd11.2 --s= ysroot=3D/usr/obj/usr/src/tmp -B/usr/obj/usr/src/tmp/usr/bin -O2 -pipe -O= 3 -fvectorize -fslp-vectorize -fblocks -march=3Dnative -fno-strict-alias= ing -Werror -D_KERNEL -DKLD_MODULE -nostdinc -DHAVE_KERNEL_OPTION_HEADE= RS -include /usr/obj/usr/src/sys/k11/opt_global.h -I. -I/usr/src/sys -fno= -common -g -I/usr/obj/usr/src/sys/k11 -MD -MF.depend.cam_iosched.o -MT= cam_iosched.o -mno-mmx -mno-sse -msoft-float -ffreestanding -fwrapv -fsta= ck-protector -gdwarf-2 -Wall -Wredundant-decls -Wnested-externs -Wstrict-= prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wun= def -Wno-pointer-sign -D__printf__=3D__freebsd_kprintf__ -Wmissing-includ= e-dirs -fdiagnostics-show-option -Wno-unknown-pragmas -Wno-error-tautolog= ical-compare -Wno-error-empty-body -Wno-error-parentheses-equality -Wno-e= rror-unused-function -Wno-error-pointer-sign -Wno-error-shift-negative-va= lue -Wno-error-address-of-packed-member -Ofast -fvectorize -fslp-vectori= ze -fblocks -fcolor-diagnostics -mno-aes -mno-avx -std=3Diso9899:1999 -c= /usr/src/sys/cam/cam_iosched.c -o cam_iosched.o > /usr/src/sys/cam/cam_iosched.c:513:40: error: no member named 'quanta1'= in 'struct cam_iosched_softc'; did you mean 'quanta'? > callout_reset(&isc->ticker, hz / isc->quanta1, cam_iosched_tick= er, isc); > ^~~~~~~ > quanta Is this a CCACHE failure? I don't see this error on i386 builds kernel. sean --PGe0f8KXOrTrgOpZv6U90d9oBjvJAfRUm-- --qb4AtMAr8PJqu3vQXfMeR1nkYri0B2lwv Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iQGTBAEBCgB9FiEE6MTp+IA1BOHj9Lo0veT1/om1/LYFAlsK6QxfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEU4 QzRFOUY4ODAzNTA0RTFFM0Y0QkEzNEJERTRGNUZFODlCNUZDQjYACgkQveT1/om1 /LbS5QgAohxgDuitdB16B7G2EyuV4YKWtoagmeNSSPzQuPsGduB0bZQE09LL+x9p ssehCGitmT4Lo+ZJmX3T/oUTK24mPpB9bmyPeiYbDBlBztRh69RAW4eWlqD40QOX sAYspU06P77kP6BCVNOu+zyZ/82MH21UGvXhFnRuyaPdEzfVv0M8/MaHCi1Dt4gu cm8/W79Fj5Z96YX6PdkKLmqIJX/1fvx2PxifkAZQH98oRD0h+AptHuyRPnxBDaKn 8gouq6EfMoRYk+Na1Wejp23AXzdX+1ZoIojxSxQDzwG8viSBkXOOWLUJq5Qf7D1O gRXVDYiZtUpAbtJJPce5rGjbHNtYww== =6G8L -----END PGP SIGNATURE----- --qb4AtMAr8PJqu3vQXfMeR1nkYri0B2lwv-- From owner-svn-src-stable-11@freebsd.org Sun May 27 20:02:07 2018 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6AB4DF7E96F; Sun, 27 May 2018 20:02:07 +0000 (UTC) (envelope-from fidaj@ukr.net) Received: from frv73.fwdcdn.com (frv73.fwdcdn.com [212.42.77.73]) by mx1.freebsd.org (Postfix) with ESMTP id EC0106BA88; Sun, 27 May 2018 20:02:06 +0000 (UTC) (envelope-from fidaj@ukr.net) Received: from [10.10.17.75] (helo=frv155.fwdcdn.com) by frv73.fwdcdn.com QID:1fN1rg-000HfP-ML/RC:5; Sun, 27 May 2018 23:02:04 +0300 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=ukr.net; s=fsm; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References: In-Reply-To:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=u3kX4v/HB2wmOevW9aIPr/WCqnWPyFmlmQmfZuOM0PU=; b=ZyeGFl9SaghyEO2/y9s5DdBcv7 GEqvS6TltpK438fde1bCw9ZH9NutOAwEdAPd04ffdPq9+TwS1z4ae/Wju2QBIABS34hBp9STrbRTw Sl1rRchZg1oY5etTEYEFMq9zQwDTpwewnjCJR5ro7MIwhXCuzmBZjRc9Xd3dfpoCBLXc=; Received: from [109.122.29.247] (helo=nonamehost) by frv155.fwdcdn.com with esmtpsa ID 1fN1rY-000LZA-Gi ; Sun, 27 May 2018 23:01:56 +0300 Date: Sun, 27 May 2018 23:01:55 +0300 From: Ivan Klymenko To: Sean Bruno Cc: svn-src-stable@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, svn-src-stable-11@freebsd.org Subject: Re: svn commit: r334229 - stable/11/sys/cam Message-ID: <20180527230142.7bbddd6c@nonamehost> In-Reply-To: References: <201805252318.w4PNI6X5054481@repo.freebsd.org> <20180527111622.1242fdb0@nonamehost> X-Mailer: Claws Mail 3.16.0 (GTK+ 2.24.32; x86_64-pc-linux-gnu) Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAFVBMVEWpqak/Pz/i4uIfHx8GBwZwcHAQEBA6o92AAAACHElEQVQ4jWWUTY7bMAyF6QzUPSEoa8PFHEBgqwuM4bVVg7MvZOj+R+ijpMTpjIwgkT7z75EKrdfattpXERG6zqvUOtAr2LCRYfEKcB4l/Q+2cc6XjQH7hv+2YZYreIk5nevZEPvuzUzptizHLzgDMnC5Wpbl7ewJlOEqlQF+DlCjgVLki0WV6FMDMsBxjlJiQulIznwZ+DxHiQyDyIg0wN3Oo6o6ZQ5s5AIfar+W2Wlmz+kCcb8tg6j3voMEwNrBQk69dDBDqw/urpqJH+m+Q6u/4QnoAeYpnUXC/s1iup9rhCd6xMgAqdDyAyFegbKkVAHeLCcOulPLawaoUIDos4M88iLNrVkU7uu5ccTDO6naJzWLum51C6Yb7y4HKKbdArLWir0PBiS8glJRBZHeyHl7J9lENpAC6qT9NlNG4u5hsVYDyJP6mlJJtY3oVju4WSUzHal1sDU17NASoBWSk40J2eBLBJhYrVmzC5gVALGpNIAiQgN6eGstOp9Oa6zFbbLTISYi28BGZDRUJKWeroECkCEkzXjUtbmmaKMfAx2RfbT69/cO+tgHcmx6AfyZOmj3NDIah0F0GB66d4CrdIoplNFFGHSpSheRxbo0W4S8azNItEoMWbw3uXAeJgCrmX5joz7CGXqSg6PcryEhnFr/C1C2ntPxBOYbdwY+8dO3+wZJyFlbMX9s8zNnvp/tLwAv03NB4j3HVpn8Awwm+GrlP6MVAAAAAElFTkSuQmCC MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Authentication-Result: IP=109.122.29.247; mail.from=fidaj@ukr.net; dkim=pass; header.d=ukr.net X-Ukrnet-Yellow: 0 X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 May 2018 20:02:07 -0000 =D0=92 Sun, 27 May 2018 11:21:16 -0600 Sean Bruno =D0=BF=D0=B8=D1=88=D0=B5=D1=82: > On 05/27/18 02:16, Ivan Klymenko wrote: > > --- cam_iosched.o --- > > /usr/local/libexec/ccache/world/cc -target i386-unknown-freebsd11.2 > > --sysroot=3D/usr/obj/usr/src/tmp -B/usr/obj/usr/src/tmp/usr/bin -O2 > > -pipe -O3 -fvectorize -fslp-vectorize -fblocks -march=3Dnative > > -fno-strict-aliasing -Werror -D_KERNEL -DKLD_MODULE -nostdinc > > -DHAVE_KERNEL_OPTION_HEADERS > > -include /usr/obj/usr/src/sys/k11/opt_global.h -I. -I/usr/src/sys > > -fno-common -g -I/usr/obj/usr/src/sys/k11 -MD > > -MF.depend.cam_iosched.o -MTcam_iosched.o -mno-mmx -mno-sse > > -msoft-float -ffreestanding -fwrapv -fstack-protector -gdwarf-2 > > -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes > > -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef > > -Wno-pointer-sign -D__printf__=3D__freebsd_kprintf__ > > -Wmissing-include-dirs -fdiagnostics-show-option > > -Wno-unknown-pragmas -Wno-error-tautological-compare > > -Wno-error-empty-body -Wno-error-parentheses-equality > > -Wno-error-unused-function -Wno-error-pointer-sign > > -Wno-error-shift-negative-value > > -Wno-error-address-of-packed-member -Ofast -fvectorize > > -fslp-vectorize -fblocks -fcolor-diagnostics -mno-aes -mno-avx > > -std=3Diso9899:1999 -c /usr/src/sys/cam/cam_iosched.c -o > > cam_iosched.o /usr/src/sys/cam/cam_iosched.c:513:40: error: no > > member named 'quanta1' in 'struct cam_iosched_softc'; did you mean > > 'quanta'? callout_reset(&isc->ticker, hz / isc->quanta1, > > cam_iosched_ticker, isc); ^~~~~~~ quanta =20 >=20 >=20 > Is this a CCACHE failure? I don't see this error on i386 builds > kernel. >=20 > sean >=20 Yes you are right. But such a long time did not happen with ccache. Sorry. From owner-svn-src-stable-11@freebsd.org Sun May 27 20:05:26 2018 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D9424F7EA25; Sun, 27 May 2018 20:05:25 +0000 (UTC) (envelope-from sbruno@freebsd.org) Received: from mail.ignoranthack.me (ignoranthack.me [199.102.79.106]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 71A3E6BD31; Sun, 27 May 2018 20:05:25 +0000 (UTC) (envelope-from sbruno@freebsd.org) Received: from [192.168.0.6] (67-0-245-183.albq.qwest.net [67.0.245.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: sbruno@ignoranthack.me) by mail.ignoranthack.me (Postfix) with ESMTPSA id 5695B192889; Sun, 27 May 2018 12:15:09 +0000 (UTC) Subject: Re: svn commit: r334229 - stable/11/sys/cam To: Ivan Klymenko Cc: svn-src-stable@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, svn-src-stable-11@freebsd.org References: <201805252318.w4PNI6X5054481@repo.freebsd.org> <20180527111622.1242fdb0@nonamehost> <20180527230142.7bbddd6c@nonamehost> From: Sean Bruno Openpgp: preference=signencrypt Autocrypt: addr=sbruno@freebsd.org; prefer-encrypt=mutual; keydata= xsBNBFk+0UEBCADaf4bgxxKvMOhRV5NPoGWRCCGm49d6+1VFNlQ77WsY/+Zvf95TPULdRlnG w648KfxWt7+O3kdKhdRwnqlXWC7zA2Qt0dRE1yIqOGJ4jp4INvp/bcxWzgr0aoKOjrlnfxRV bh+s0rzdZt6TsNL3cVYxkC8oezjaUkHdW4mFJU249U1QJogkF8g0FeKNfEcjEkwJNX6lQJH+ EzCWT0NCk6J+Xyo+zOOljxPp1OUfdvZi3ulkU/qTZstGVWxFVsP8xQklV/y3AFcbIYx6iGJ4 5L7WuB0IWhO7Z4yHENr8wFaNYwpod9i4egX2BugbrM8pOfhN2/qqdeG1L5LMtXw3yyAhABEB AAHNN1NlYW4gQnJ1bm8gKEZyZWVCU0QgRGV2ZWxvcGVyIEtleSkgPHNicnVub0BmcmVlYnNk Lm9yZz7CwJQEEwEKAD4WIQToxOn4gDUE4eP0ujS95PX+ibX8tgUCWT7RQQIbAwUJBaOagAUL CQgHAwUVCgkICwUWAwIBAAIeAQIXgAAKCRC95PX+ibX8ttKTCACFKzRc56EBAlVotq02EjZP SfX+unlk6AuPBzShxqRxeK+bGYVCigrYd1M8nnskv0dEiZ5iYeND9HIxbpEyopqgpVTibA7w gBXaZ7SOEhNX1wXwg14JrralfSmPFMYni+sWegPMX/zwfAsn1z4mG1Nn44Xqo3o7CfpkMPy6 M5Bow2IDzIhEYISLR+urxs74/aHU35PLtBSDtu18914SEMDdva27MARN8mbeCDbuJVfGCPWy YHuy2t+9u2Zn5Dd+t3sBXLM9gpeaMm+4x6TNPpESygbVdh4tDdjVZ9DK/bWFg0kMgfZoaq6J l0jNsQXrZV3bzYNFbVw04pFcvA2GIJ7xzsBNBFk+0UEBCADIXBmQOaKMHGbc9vwjhV4Oj5aZ DdhNedn12FVeTdOXJvuTOusgxS29lla0RenHGDsgD08UiFpasBXWq/E+BhQ19d+iRbLLR17O KKc1ZGefoVbLARLXD68J5j4XAyK+6k2KqBLlqzAEpHTzsksM9naARkVXiEVcrt6ciw0FSm8n kuK3gDKKe93XfzfP+TQdbvvzJc7Fa+appLbXz61TM1aikaQlda8bWubDegwXbuoJdB34xU1m yjr/N4o+raL0x7QrzdH+wwgrTTo+H4S2c1972Skt5K5tbxLowfHicRl23V8itVQr3sBtlX4+ 66q+Apm7+R36bUS/k+G45Sp6iPpxABEBAAHCwHwEGAEKACYWIQToxOn4gDUE4eP0ujS95PX+ ibX8tgUCWT7RQQIbDAUJBaOagAAKCRC95PX+ibX8trrIB/9Pljqt/JGamD9tx4dOVmxSyFg9 z2xzgklTLuDgS73MM120mM7ao9AQUeWiSle/H0UCK7xPOzC/aeUC4oygDQKAfkkNbCNTo3+A qDjBRA8qx0e9a/QjDL+RFgD4L5kLT4tToY8T8HaBp8h03LBfk510IaI8oL/Jg7vpM3PDtJMW tUi2H+yNFmL3NfM2oBToWKLFsoP54f/eeeImrNnrlLjLHPzqS+/9apgYqX2Jwiv3tHBc4FTO GuY8VvF7BpixJs8Pc2RUuCfSyodrp1YG1kRGlXAH0cqwwr0Zmk4+7dZvtVQMCl6kS6q1+84q JwtItxS2eXSEA4NO0sQ3BXUywANh Message-ID: <54a68cc7-085a-e6f1-b5d1-cdb80dfadd9c@freebsd.org> Date: Sun, 27 May 2018 14:05:18 -0600 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 MIME-Version: 1.0 In-Reply-To: <20180527230142.7bbddd6c@nonamehost> Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="hHIrt3lcu8porR5VjAdQZWqwD77FcgssG" X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 May 2018 20:05:26 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --hHIrt3lcu8porR5VjAdQZWqwD77FcgssG Content-Type: multipart/mixed; boundary="VlsVbsBcY5dbnihHqpSi0e8ujGznlKlso"; protected-headers="v1" From: Sean Bruno To: Ivan Klymenko Cc: svn-src-stable@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, svn-src-stable-11@freebsd.org Message-ID: <54a68cc7-085a-e6f1-b5d1-cdb80dfadd9c@freebsd.org> Subject: Re: svn commit: r334229 - stable/11/sys/cam References: <201805252318.w4PNI6X5054481@repo.freebsd.org> <20180527111622.1242fdb0@nonamehost> <20180527230142.7bbddd6c@nonamehost> In-Reply-To: <20180527230142.7bbddd6c@nonamehost> --VlsVbsBcY5dbnihHqpSi0e8ujGznlKlso Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: quoted-printable On 05/27/18 14:01, Ivan Klymenko wrote: > =D0=92 Sun, 27 May 2018 11:21:16 -0600 > Sean Bruno =D0=BF=D0=B8=D1=88=D0=B5=D1=82: >=20 >> On 05/27/18 02:16, Ivan Klymenko wrote: >>> --- cam_iosched.o --- >>> /usr/local/libexec/ccache/world/cc -target i386-unknown-freebsd11.2 >>> --sysroot=3D/usr/obj/usr/src/tmp -B/usr/obj/usr/src/tmp/usr/bin -O2 >>> -pipe -O3 -fvectorize -fslp-vectorize -fblocks -march=3Dnative >>> -fno-strict-aliasing -Werror -D_KERNEL -DKLD_MODULE -nostdinc >>> -DHAVE_KERNEL_OPTION_HEADERS >>> -include /usr/obj/usr/src/sys/k11/opt_global.h -I. -I/usr/src/sys >>> -fno-common -g -I/usr/obj/usr/src/sys/k11 -MD >>> -MF.depend.cam_iosched.o -MTcam_iosched.o -mno-mmx -mno-sse >>> -msoft-float -ffreestanding -fwrapv -fstack-protector -gdwarf-2 >>> -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes >>> -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef >>> -Wno-pointer-sign -D__printf__=3D__freebsd_kprintf__ >>> -Wmissing-include-dirs -fdiagnostics-show-option >>> -Wno-unknown-pragmas -Wno-error-tautological-compare >>> -Wno-error-empty-body -Wno-error-parentheses-equality >>> -Wno-error-unused-function -Wno-error-pointer-sign >>> -Wno-error-shift-negative-value >>> -Wno-error-address-of-packed-member -Ofast -fvectorize >>> -fslp-vectorize -fblocks -fcolor-diagnostics -mno-aes -mno-avx >>> -std=3Diso9899:1999 -c /usr/src/sys/cam/cam_iosched.c -o >>> cam_iosched.o /usr/src/sys/cam/cam_iosched.c:513:40: error: no >>> member named 'quanta1' in 'struct cam_iosched_softc'; did you mean >>> 'quanta'? callout_reset(&isc->ticker, hz / isc->quanta1, >>> cam_iosched_ticker, isc); ^~~~~~~ quanta =20 >> >> >> Is this a CCACHE failure? I don't see this error on i386 builds >> kernel. >> >> sean >> >=20 > Yes you are right. But such a long time did not happen with ccache. >=20 > Sorry. >=20 >=20 No problem. Do you know why it failed? sean --VlsVbsBcY5dbnihHqpSi0e8ujGznlKlso-- --hHIrt3lcu8porR5VjAdQZWqwD77FcgssG Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iQGTBAEBCgB9FiEE6MTp+IA1BOHj9Lo0veT1/om1/LYFAlsLD35fFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEU4 QzRFOUY4ODAzNTA0RTFFM0Y0QkEzNEJERTRGNUZFODlCNUZDQjYACgkQveT1/om1 /LagCggAunri27QRhmqn8rfRLKh238A4CiwinBMuFaF8Jte/Wq3fZd+uD7z4Y7iF nH6zQmFxSXDVvc3/skiQp91H/Hzo4mBcMpwr84aQC/Pgbe6CO0I4tUQy1xEFiyxZ 3V7Ed4K1apHrYiTvFQWFvGn6XqpDiqTrNYeJ4upn8yQN4mBW6JxDxvie/PmC3SpD GMzUwl01pX4q2jebM1urs0JpBTpp8NwkhRqIDlCFj1PzAxfjZkrQU2ITEJcYdRhA eD3+gVHARKVnEXCfjKQggbcisDJLTk506fBh4EmytoJEJ9iOisHrRObUdU9Dmi9r pOvd/5cVKS55G5I08P2ZXkzp1dVxTQ== =WmMS -----END PGP SIGNATURE----- --hHIrt3lcu8porR5VjAdQZWqwD77FcgssG-- From owner-svn-src-stable-11@freebsd.org Sun May 27 20:40:44 2018 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 989FAF7FAA7; Sun, 27 May 2018 20:40:44 +0000 (UTC) (envelope-from fidaj@ukr.net) Received: from frv72.fwdcdn.com (frv72.fwdcdn.com [212.42.77.72]) by mx1.freebsd.org (Postfix) with ESMTP id 2C81B6DAEC; Sun, 27 May 2018 20:40:43 +0000 (UTC) (envelope-from fidaj@ukr.net) Received: from [10.10.17.73] (helo=frv158.fwdcdn.com) by frv72.fwdcdn.com QID:1fN2E6-0005n3-B1/RC:5; Sun, 27 May 2018 23:25:14 +0300 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=ukr.net; s=fsm; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References: In-Reply-To:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=V5BdEv1lD/Y7R/crYTRYyKvGny5mNotviMMriwFUt90=; b=rsXsdQaHPXRsHEqXlUN6FWLRxI aPxPUQZBpxDivmJg+dPgnw9Czxf2slRwvTCoZiAPpiDFGpAQHF30ioUT7FaVFNNgMO50hNvV/cble i2SPbasXX1EsZmOZk6u4+T5kVqMFK9ZCpDCZQW1yDEJKnZjVMdCbiIgrqL5pFbeQqD1k=; Received: from [109.122.32.130] (helo=nonamehost) by frv158.fwdcdn.com with esmtpsa ID 1fN2Dz-000GJM-89 ; Sun, 27 May 2018 23:25:07 +0300 Date: Sun, 27 May 2018 23:25:06 +0300 From: Ivan Klymenko To: Sean Bruno Cc: svn-src-stable@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, svn-src-stable-11@freebsd.org Subject: Re: svn commit: r334229 - stable/11/sys/cam Message-ID: <20180527232459.2512292c@nonamehost> In-Reply-To: <54a68cc7-085a-e6f1-b5d1-cdb80dfadd9c@freebsd.org> References: <201805252318.w4PNI6X5054481@repo.freebsd.org> <20180527111622.1242fdb0@nonamehost> <20180527230142.7bbddd6c@nonamehost> <54a68cc7-085a-e6f1-b5d1-cdb80dfadd9c@freebsd.org> X-Mailer: Claws Mail 3.16.0 (GTK+ 2.24.32; x86_64-pc-linux-gnu) Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAFVBMVEWpqak/Pz/i4uIfHx8GBwZwcHAQEBA6o92AAAACHElEQVQ4jWWUTY7bMAyF6QzUPSEoa8PFHEBgqwuM4bVVg7MvZOj+R+ijpMTpjIwgkT7z75EKrdfattpXERG6zqvUOtAr2LCRYfEKcB4l/Q+2cc6XjQH7hv+2YZYreIk5nevZEPvuzUzptizHLzgDMnC5Wpbl7ewJlOEqlQF+DlCjgVLki0WV6FMDMsBxjlJiQulIznwZ+DxHiQyDyIg0wN3Oo6o6ZQ5s5AIfar+W2Wlmz+kCcb8tg6j3voMEwNrBQk69dDBDqw/urpqJH+m+Q6u/4QnoAeYpnUXC/s1iup9rhCd6xMgAqdDyAyFegbKkVAHeLCcOulPLawaoUIDos4M88iLNrVkU7uu5ccTDO6naJzWLum51C6Yb7y4HKKbdArLWir0PBiS8glJRBZHeyHl7J9lENpAC6qT9NlNG4u5hsVYDyJP6mlJJtY3oVju4WSUzHal1sDU17NASoBWSk40J2eBLBJhYrVmzC5gVALGpNIAiQgN6eGstOp9Oa6zFbbLTISYi28BGZDRUJKWeroECkCEkzXjUtbmmaKMfAx2RfbT69/cO+tgHcmx6AfyZOmj3NDIah0F0GB66d4CrdIoplNFFGHSpSheRxbo0W4S8azNItEoMWbw3uXAeJgCrmX5joz7CGXqSg6PcryEhnFr/C1C2ntPxBOYbdwY+8dO3+wZJyFlbMX9s8zNnvp/tLwAv03NB4j3HVpn8Awwm+GrlP6MVAAAAAElFTkSuQmCC MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Authentication-Result: IP=109.122.32.130; mail.from=fidaj@ukr.net; dkim=pass; header.d=ukr.net X-Ukrnet-Yellow: 0 X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 May 2018 20:40:44 -0000 =D0=92 Sun, 27 May 2018 14:05:18 -0600 Sean Bruno =D0=BF=D0=B8=D1=88=D0=B5=D1=82: > On 05/27/18 14:01, Ivan Klymenko wrote: > > =D0=92 Sun, 27 May 2018 11:21:16 -0600 > > Sean Bruno =D0=BF=D0=B8=D1=88=D0=B5=D1=82: > > =20 > >> On 05/27/18 02:16, Ivan Klymenko wrote: =20 > >>> --- cam_iosched.o --- > >>> /usr/local/libexec/ccache/world/cc -target > >>> i386-unknown-freebsd11.2 --sysroot=3D/usr/obj/usr/src/tmp > >>> -B/usr/obj/usr/src/tmp/usr/bin -O2 -pipe -O3 -fvectorize > >>> -fslp-vectorize -fblocks -march=3Dnative -fno-strict-aliasing > >>> -Werror -D_KERNEL -DKLD_MODULE -nostdinc > >>> -DHAVE_KERNEL_OPTION_HEADERS > >>> -include /usr/obj/usr/src/sys/k11/opt_global.h -I. -I/usr/src/sys > >>> -fno-common -g -I/usr/obj/usr/src/sys/k11 -MD > >>> -MF.depend.cam_iosched.o -MTcam_iosched.o -mno-mmx -mno-sse > >>> -msoft-float -ffreestanding -fwrapv -fstack-protector -gdwarf-2 > >>> -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes > >>> -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef > >>> -Wno-pointer-sign -D__printf__=3D__freebsd_kprintf__ > >>> -Wmissing-include-dirs -fdiagnostics-show-option > >>> -Wno-unknown-pragmas -Wno-error-tautological-compare > >>> -Wno-error-empty-body -Wno-error-parentheses-equality > >>> -Wno-error-unused-function -Wno-error-pointer-sign > >>> -Wno-error-shift-negative-value > >>> -Wno-error-address-of-packed-member -Ofast -fvectorize > >>> -fslp-vectorize -fblocks -fcolor-diagnostics -mno-aes -mno-avx > >>> -std=3Diso9899:1999 -c /usr/src/sys/cam/cam_iosched.c -o > >>> cam_iosched.o /usr/src/sys/cam/cam_iosched.c:513:40: error: no > >>> member named 'quanta1' in 'struct cam_iosched_softc'; did you > >>> mean 'quanta'? callout_reset(&isc->ticker, hz / isc->quanta1, > >>> cam_iosched_ticker, isc); ^~~~~~~ quanta =20 > >> > >> > >> Is this a CCACHE failure? I don't see this error on i386 builds > >> kernel. > >> > >> sean > >> =20 > >=20 > > Yes you are right. But such a long time did not happen with ccache. > >=20 > > Sorry. > >=20 > > =20 >=20 >=20 > No problem. Do you know why it failed? >=20 > sean >=20 Ops. All the same, most likely because of this: - callout_reset(&isc->ticker, hz / isc->quanta - 1, cam_iosched_ticker, isc= ); + callout_reset(&isc->ticker, hz / isc->quanta1, cam_iosched_ticker, isc); to - callout_reset(&isc->ticker, hz / isc->quanta - 1, cam_iosched_ticker, isc= ); + callout_reset(&isc->ticker, hz / isc->quanta, cam_iosched_ticker, isc); ccache here not guilty. From owner-svn-src-stable-11@freebsd.org Sun May 27 23:52:42 2018 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 83188EF10BB; Sun, 27 May 2018 23:52:42 +0000 (UTC) (envelope-from sbruno@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id EE790739F6; Sun, 27 May 2018 23:52:41 +0000 (UTC) (envelope-from sbruno@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id CFCB02570D; Sun, 27 May 2018 23:52:41 +0000 (UTC) (envelope-from sbruno@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w4RNqfpg095330; Sun, 27 May 2018 23:52:41 GMT (envelope-from sbruno@FreeBSD.org) Received: (from sbruno@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w4RNqfSO095329; Sun, 27 May 2018 23:52:41 GMT (envelope-from sbruno@FreeBSD.org) Message-Id: <201805272352.w4RNqfSO095329@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sbruno set sender to sbruno@FreeBSD.org using -f From: Sean Bruno Date: Sun, 27 May 2018 23:52:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r334263 - stable/11/sys/cam X-SVN-Group: stable-11 X-SVN-Commit-Author: sbruno X-SVN-Commit-Paths: stable/11/sys/cam X-SVN-Commit-Revision: 334263 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 May 2018 23:52:42 -0000 Author: sbruno Date: Sun May 27 23:52:41 2018 New Revision: 334263 URL: https://svnweb.freebsd.org/changeset/base/334263 Log: r334229 mismerged and broke kernel options CAM_IOSCHED_DYNAMIC. Fix that on this holiday weekend. Approved by: re (implicit) Modified: stable/11/sys/cam/cam_iosched.c Modified: stable/11/sys/cam/cam_iosched.c ============================================================================== --- stable/11/sys/cam/cam_iosched.c Sun May 27 22:32:45 2018 (r334262) +++ stable/11/sys/cam/cam_iosched.c Sun May 27 23:52:41 2018 (r334263) @@ -510,7 +510,7 @@ cam_iosched_ticker(void *arg) struct cam_iosched_softc *isc = arg; sbintime_t now, delta; - callout_reset(&isc->ticker, hz / isc->quanta1, cam_iosched_ticker, isc); + callout_reset(&isc->ticker, hz / isc->quanta, cam_iosched_ticker, isc); now = sbinuptime(); delta = now - isc->last_time; From owner-svn-src-stable-11@freebsd.org Mon May 28 10:55:10 2018 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id ED12AF7DADE; Mon, 28 May 2018 10:55:09 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 9F56B69747; Mon, 28 May 2018 10:55:09 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 8205E478B; Mon, 28 May 2018 10:55:09 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w4SAt9Xm027639; Mon, 28 May 2018 10:55:09 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w4SAt9Zw027638; Mon, 28 May 2018 10:55:09 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201805281055.w4SAt9Zw027638@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Mon, 28 May 2018 10:55:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r334282 - stable/11/sys/amd64/amd64 X-SVN-Group: stable-11 X-SVN-Commit-Author: kib X-SVN-Commit-Paths: stable/11/sys/amd64/amd64 X-SVN-Commit-Revision: 334282 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 May 2018 10:55:10 -0000 Author: kib Date: Mon May 28 10:55:09 2018 New Revision: 334282 URL: https://svnweb.freebsd.org/changeset/base/334282 Log: MFC r333990, r333992: Add missed barrier for pm_gen/pm_active interaction. Approved by: re (marius) Modified: stable/11/sys/amd64/amd64/pmap.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/amd64/amd64/pmap.c ============================================================================== --- stable/11/sys/amd64/amd64/pmap.c Mon May 28 10:54:24 2018 (r334281) +++ stable/11/sys/amd64/amd64/pmap.c Mon May 28 10:55:09 2018 (r334282) @@ -1645,6 +1645,18 @@ pmap_invalidate_page(pmap_t pmap, vm_offset_t va) if (cpuid != i) pmap->pm_pcids[i].pm_gen = 0; } + + /* + * The fence is between stores to pm_gen and the read of + * the pm_active mask. We need to ensure that it is + * impossible for us to miss the bit update in pm_active + * and simultaneously observe a non-zero pm_gen in + * pmap_activate_sw(), otherwise TLB update is missed. + * Without the fence, IA32 allows such an outcome. + * Note that pm_active is updated by a locked operation, + * which provides the reciprocal fence. + */ + atomic_thread_fence_seq_cst(); } mask = &pmap->pm_active; } @@ -1716,6 +1728,8 @@ pmap_invalidate_range(pmap_t pmap, vm_offset_t sva, vm if (cpuid != i) pmap->pm_pcids[i].pm_gen = 0; } + /* See the comment in pmap_invalidate_page(). */ + atomic_thread_fence_seq_cst(); } mask = &pmap->pm_active; } @@ -1787,6 +1801,8 @@ pmap_invalidate_all(pmap_t pmap) if (cpuid != i) pmap->pm_pcids[i].pm_gen = 0; } + /* See the comment in pmap_invalidate_page(). */ + atomic_thread_fence_seq_cst(); } mask = &pmap->pm_active; } From owner-svn-src-stable-11@freebsd.org Tue May 29 07:51:25 2018 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id EFC11EF80A1; Tue, 29 May 2018 07:51:24 +0000 (UTC) (envelope-from royger@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id A40A67C102; Tue, 29 May 2018 07:51:24 +0000 (UTC) (envelope-from royger@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 8517D19317; Tue, 29 May 2018 07:51:24 +0000 (UTC) (envelope-from royger@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w4T7pOGE062887; Tue, 29 May 2018 07:51:24 GMT (envelope-from royger@FreeBSD.org) Received: (from royger@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w4T7pOGJ062886; Tue, 29 May 2018 07:51:24 GMT (envelope-from royger@FreeBSD.org) Message-Id: <201805290751.w4T7pOGJ062886@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: royger set sender to royger@FreeBSD.org using -f From: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= Date: Tue, 29 May 2018 07:51:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r334315 - stable/11/sys/dev/xen/blkback X-SVN-Group: stable-11 X-SVN-Commit-Author: royger X-SVN-Commit-Paths: stable/11/sys/dev/xen/blkback X-SVN-Commit-Revision: 334315 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 May 2018 07:51:25 -0000 Author: royger Date: Tue May 29 07:51:24 2018 New Revision: 334315 URL: https://svnweb.freebsd.org/changeset/base/334315 Log: MFC r334027: xen-blkback: do not use state 3 Linux will not connect to a backend that's in state 3 (XenbusStateInitialised), it needs to be in state 2 (XenbusStateInitWait) for Linux to attempt to connect to the backend. Approved by: re (kib) Modified: stable/11/sys/dev/xen/blkback/blkback.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/dev/xen/blkback/blkback.c ============================================================================== --- stable/11/sys/dev/xen/blkback/blkback.c Tue May 29 07:14:57 2018 (r334314) +++ stable/11/sys/dev/xen/blkback/blkback.c Tue May 29 07:51:24 2018 (r334315) @@ -804,6 +804,9 @@ struct xbb_softc { /** Watch to wait for hotplug script execution */ struct xs_watch hotplug_watch; + + /** Got the needed data from hotplug scripts? */ + bool hotplug_done; }; /*---------------------------- Request Processing ----------------------------*/ @@ -3308,12 +3311,11 @@ xbb_connect(struct xbb_softc *xbb) { int error; - if (xenbus_get_state(xbb->dev) != XenbusStateInitialised) + if (!xbb->hotplug_done || + (xenbus_get_state(xbb->dev) != XenbusStateInitWait) || + (xbb_collect_frontend_info(xbb) != 0)) return; - if (xbb_collect_frontend_info(xbb) != 0) - return; - xbb->flags &= ~XBBF_SHUTDOWN; /* @@ -3410,6 +3412,7 @@ xbb_shutdown(struct xbb_softc *xbb) free(xbb->hotplug_watch.node, M_XENBLOCKBACK); xbb->hotplug_watch.node = NULL; } + xbb->hotplug_done = false; if (xenbus_get_state(xbb->dev) < XenbusStateClosing) xenbus_set_state(xbb->dev, XenbusStateClosing); @@ -3690,8 +3693,11 @@ xbb_attach_disk(struct xs_watch *watch, const char **v return; } - /* Tell the front end that we are ready to connect. */ - xenbus_set_state(dev, XenbusStateInitialised); + xbb->hotplug_done = true; + + /* The front end might be waiting for the backend, attach if so. */ + if (xenbus_get_otherend_state(xbb->dev) == XenbusStateInitialised) + xbb_connect(xbb); } /** @@ -3755,6 +3761,7 @@ xbb_attach(device_t dev) * We need to wait for hotplug script execution before * moving forward. */ + KASSERT(!xbb->hotplug_done, ("Hotplug scripts already executed")); watch_path = xs_join(xenbus_get_node(xbb->dev), "physical-device-path"); xbb->hotplug_watch.callback_data = (uintptr_t)dev; xbb->hotplug_watch.callback = xbb_attach_disk; From owner-svn-src-stable-11@freebsd.org Tue May 29 13:24:43 2018 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 851AAF7C684; Tue, 29 May 2018 13:24:43 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 268176A3C2; Tue, 29 May 2018 13:24:43 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 0207F1C8B9; Tue, 29 May 2018 13:24:43 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w4TDOgJZ031159; Tue, 29 May 2018 13:24:42 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w4TDOgeN031158; Tue, 29 May 2018 13:24:42 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201805291324.w4TDOgeN031158@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Tue, 29 May 2018 13:24:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r334327 - stable/11/sys/amd64/include X-SVN-Group: stable-11 X-SVN-Commit-Author: kib X-SVN-Commit-Paths: stable/11/sys/amd64/include X-SVN-Commit-Revision: 334327 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 May 2018 13:24:43 -0000 Author: kib Date: Tue May 29 13:24:42 2018 New Revision: 334327 URL: https://svnweb.freebsd.org/changeset/base/334327 Log: MFC r334038: Enable IBRS when entering an interrupt handler from usermode. Approved by: re (marius) Modified: stable/11/sys/amd64/include/asmacros.h Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/amd64/include/asmacros.h ============================================================================== --- stable/11/sys/amd64/include/asmacros.h Tue May 29 13:07:36 2018 (r334326) +++ stable/11/sys/amd64/include/asmacros.h Tue May 29 13:24:42 2018 (r334327) @@ -255,6 +255,7 @@ X\vec_name: jz 1f /* yes, leave PCB_FULL_IRET alone */ movq PCPU(CURPCB),%r8 andl $~PCB_FULL_IRET,PCB_FLAGS(%r8) + call handle_ibrs_entry 1: .endm From owner-svn-src-stable-11@freebsd.org Tue May 29 13:54:35 2018 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5E4F3F7E6A9; Tue, 29 May 2018 13:54:35 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 0B2AA6BA9A; Tue, 29 May 2018 13:54:35 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id E0E6F1CD76; Tue, 29 May 2018 13:54:34 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w4TDsYId045984; Tue, 29 May 2018 13:54:34 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w4TDsYRB045983; Tue, 29 May 2018 13:54:34 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201805291354.w4TDsYRB045983@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Tue, 29 May 2018 13:54:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r334330 - stable/11/sys/amd64/include X-SVN-Group: stable-11 X-SVN-Commit-Author: jhb X-SVN-Commit-Paths: stable/11/sys/amd64/include X-SVN-Commit-Revision: 334330 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 May 2018 13:54:35 -0000 Author: jhb Date: Tue May 29 13:54:34 2018 New Revision: 334330 URL: https://svnweb.freebsd.org/changeset/base/334330 Log: MFC 333606: Make the common interrupt entry point labels local labels. Kernel debuggers depend on symbol names to find stack frames with a trapframe rather than a normal stack frame. The labels used for the shared interrupt entry point for the PTI and non-PTI cases did not match the existing patterns confusing debuggers. Add the '.L' prefix to mark these symbols as local so they are not visible in the symbol table. Approved by: re (kib) Modified: stable/11/sys/amd64/include/asmacros.h Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/amd64/include/asmacros.h ============================================================================== --- stable/11/sys/amd64/include/asmacros.h Tue May 29 13:52:25 2018 (r334329) +++ stable/11/sys/amd64/include/asmacros.h Tue May 29 13:54:34 2018 (r334330) @@ -218,9 +218,9 @@ X\name\()_pti: .type X\vec_name\()_pti,@function X\vec_name\()_pti: testb $SEL_RPL_MASK,PTI_CS-3*8(%rsp) /* err, %rax, %rdx not pushed */ - jz \vec_name\()_u + jz .L\vec_name\()_u PTI_UENTRY has_err=0 - jmp \vec_name\()_u + jmp .L\vec_name\()_u .endm .macro INTR_PUSH_FRAME vec_name @@ -229,9 +229,9 @@ X\vec_name\()_pti: .type X\vec_name,@function X\vec_name: testb $SEL_RPL_MASK,PTI_CS-3*8(%rsp) /* come from kernel? */ - jz \vec_name\()_u /* Yes, dont swapgs again */ + jz .L\vec_name\()_u /* Yes, dont swapgs again */ swapgs -\vec_name\()_u: +.L\vec_name\()_u: subq $TF_RIP,%rsp /* skip dummy tf_err and tf_trapno */ movq %rdi,TF_RDI(%rsp) movq %rsi,TF_RSI(%rsp) From owner-svn-src-stable-11@freebsd.org Wed May 30 18:27:49 2018 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 446CEFD1A01; Wed, 30 May 2018 18:27:49 +0000 (UTC) (envelope-from dteske@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id DDC7D71B22; Wed, 30 May 2018 18:27:48 +0000 (UTC) (envelope-from dteske@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id B9B9D6B63; Wed, 30 May 2018 18:27:48 +0000 (UTC) (envelope-from dteske@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w4UIRmaH010622; Wed, 30 May 2018 18:27:48 GMT (envelope-from dteske@FreeBSD.org) Received: (from dteske@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w4UIRmwM010620; Wed, 30 May 2018 18:27:48 GMT (envelope-from dteske@FreeBSD.org) Message-Id: <201805301827.w4UIRmwM010620@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dteske set sender to dteske@FreeBSD.org using -f From: Devin Teske Date: Wed, 30 May 2018 18:27:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r334392 - in stable/11: cddl/usr.sbin/dwatch sys/sys X-SVN-Group: stable-11 X-SVN-Commit-Author: dteske X-SVN-Commit-Paths: in stable/11: cddl/usr.sbin/dwatch sys/sys X-SVN-Commit-Revision: 334392 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 30 May 2018 18:27:49 -0000 Author: dteske Date: Wed May 30 18:27:48 2018 New Revision: 334392 URL: https://svnweb.freebsd.org/changeset/base/334392 Log: MFC SVN r334261-334262,334359: dwatch(1) touch-ups r334261: Guard against error when given -t "*..." r334262: Eliminate ANSI dimming in developer mode r334359: Fix "-t test" for post-processing profiles Bump FreeBSD_version directly in stable/11 for ports IGNORE (as in r334290) Reviewed by: gjb Approved by: re (gjb) Sponsored by: Smule, Inc. Modified: stable/11/cddl/usr.sbin/dwatch/dwatch stable/11/sys/sys/param.h Directory Properties: stable/11/ (props changed) Modified: stable/11/cddl/usr.sbin/dwatch/dwatch ============================================================================== --- stable/11/cddl/usr.sbin/dwatch/dwatch Wed May 30 18:04:25 2018 (r334391) +++ stable/11/cddl/usr.sbin/dwatch/dwatch Wed May 30 18:27:48 2018 (r334392) @@ -47,7 +47,7 @@ DTRACE_PRAGMA=" ############################################################ GLOBALS -VERSION='$Version: 1.2 $' # -V +VERSION='$Version: 1.4 $' # -V pgm="${0##*/}" # Program basename @@ -576,8 +576,8 @@ load_profile() ARGV="$ARGV -z '$( shell_escape "$EXECREGEX" )'" [ "$CUSTOM_DETAILS" ] && ARGV="$ARGV -E '$( shell_escape "$EVENT_DETAILS" )'" - [ "$EVENT_TEST" ] && - ARGV="$ARGV -t '$( shell_escape "$EVENT_TEST" )'" + [ "$CUSTOM_TEST" ] && + ARGV="$ARGV -t '$( shell_escape "$CUSTOM_TEST" )'" [ "$OUTPUT" ] && ARGV="$ARGV -o '$( shell_escape "$OUTPUT" )'" [ "$OUTPUT_CMD" ] && @@ -1057,10 +1057,6 @@ PSARGS_ACTION=$( cat <&9 ) slen = length(sprintf("%u", start)) elen = length(sprintf("%u", end)) N = elen > slen ? elen : slen - for (i = start; i <= end; i++) { - ti[i] = "\033[2m" - te[i] = "\033[22m" - } ti[line] = "\033[31m" te[line] = "\033[39m" fmt = "%s%*u %s%s\n" @@ -1353,7 +1349,7 @@ $ACTIONS } /*********************************************************/ -$PROBE${EVENT_TEST:+ /$EVENT_TEST/} /* probe ID $ID */ +$PROBE${EVENT_TEST:+ / $EVENT_TEST /} /* probe ID $ID */ {${TRACE:+ printf("<$ID>"); } Modified: stable/11/sys/sys/param.h ============================================================================== --- stable/11/sys/sys/param.h Wed May 30 18:04:25 2018 (r334391) +++ stable/11/sys/sys/param.h Wed May 30 18:27:48 2018 (r334392) @@ -58,7 +58,7 @@ * in the range 5 to 9. */ #undef __FreeBSD_version -#define __FreeBSD_version 1101515 /* Master, propagated to newvers */ +#define __FreeBSD_version 1101516 /* Master, propagated to newvers */ /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From owner-svn-src-stable-11@freebsd.org Thu May 31 15:58:30 2018 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BFF8FEFC531; Thu, 31 May 2018 15:58:29 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 59BFF6F2CD; Thu, 31 May 2018 15:58:29 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 3C3741C4C5; Thu, 31 May 2018 15:58:29 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w4VFwTRD065918; Thu, 31 May 2018 15:58:29 GMT (envelope-from mjg@FreeBSD.org) Received: (from mjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w4VFwSL6065914; Thu, 31 May 2018 15:58:28 GMT (envelope-from mjg@FreeBSD.org) Message-Id: <201805311558.w4VFwSL6065914@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mjg set sender to mjg@FreeBSD.org using -f From: Mateusz Guzik Date: Thu, 31 May 2018 15:58:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r334437 - in stable/11/sys: kern sys X-SVN-Group: stable-11 X-SVN-Commit-Author: mjg X-SVN-Commit-Paths: in stable/11/sys: kern sys X-SVN-Commit-Revision: 334437 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 31 May 2018 15:58:30 -0000 Author: mjg Date: Thu May 31 15:58:28 2018 New Revision: 334437 URL: https://svnweb.freebsd.org/changeset/base/334437 Log: MFC r329276,r329451,r330294,r330414,r330415,r330418,r331109,r332394,r332398, r333831: rwlock: diff-reduction of runlock compared to sx sunlock == Undo LOCK_PROFILING pessimisation after r313454 and r313455 With the option used to compile the kernel both sx and rw shared ops would always go to the slow path which added avoidable overhead even when the facility is disabled. Furthermore the increased time spent doing uncontested shared lock acquire would be bogusly added to total wait time, somewhat skewing the results. Restore old behaviour of going there only when profiling is enabled. This change is a no-op for kernels without LOCK_PROFILING (which is the default). == sx: fix adaptive spinning broken in r327397 The condition was flipped. In particular heavy multithreaded kernel builds on zfs started suffering due to nested sx locks. For instance make -s -j 128 buildkernel: before: 3326.67s user 1269.62s system 6981% cpu 1:05.84 total after: 3365.55s user 911.27s system 6871% cpu 1:02.24 total == locks: fix a corner case in r327399 If there were exactly rowner_retries/asx_retries (by default: 10) transitions between read and write state and the waiters still did not get the lock, the next owner -> reader transition would result in the code correctly falling back to turnstile/sleepq where it would incorrectly think it was waiting for a writer and decide to leave turnstile/sleepq to loop back. From this point it would take ts/sq trips until the lock gets released. The bug sometimes manifested itself in stalls during -j 128 package builds. Refactor the code to fix the bug, while here remove some of the gratituous differences between rw and sx locks. == sx: don't do an atomic op in upgrade if it cananot succeed The code already pays the cost of reading the lock to obtain the waiters flag. Checking whether there is more than one reader is not a problem and avoids dirtying the line. This also fixes a small corner case: if waiters were to show up between reading the flag and upgrading the lock, the operation would fail even though it should not. No correctness change here though. == mtx: tidy up recursion handling in thread lock Normally after grabbing the lock it has to be verified we got the right one to begin with. However, if we are recursing, it must not change thus the check can be avoided. In particular this avoids a lock read for non-recursing case which found out the lock was changed. While here avoid an irq trip of this happens. == locks: slightly depessimize lockstat The slow path is always taken when lockstat is enabled. This induces rdtsc (or other) calls to get the cycle count even when there was no contention. Still go to the slow path to not mess with the fast path, but avoid the heavy lifting unless necessary. This reduces sys and real time during -j 80 buildkernel: before: 3651.84s user 1105.59s system 5394% cpu 1:28.18 total after: 3685.99s user 975.74s system 5450% cpu 1:25.53 total disabled: 3697.96s user 411.13s system 5261% cpu 1:18.10 total So note this is still a significant hit. LOCK_PROFILING results are not affected. == rw: whack avoidable re-reads in try_upgrade == locks: extend speculative spin waiting for readers to drain Now that 10 years have passed since the original limit of 10000 was committed, bump it a little bit. Spinning waiting for writers is semi-informed in the sense that we always know if the owner is running and base the decision to spin on that. However, no such information is provided for read-locking. In particular this means that it is possible for a write-spinner to completely waste cpu time waiting for the lock to be released, while the reader holding it was preempted and is now waiting for the spinner to go off cpu. Nonetheless, in majority of cases it is an improvement to spin instead of instantly giving up and going to sleep. The current approach is pretty simple: snatch the number of current readers and performs that many pauses before checking again. The total number of pauses to execute is limited to 10k. If the lock is still not free by that time, go to sleep. Given the previously noted problem of not knowing whether spinning makes any sense to begin with the new limit has to remain rather conservative. But at the very least it should also be related to the machine. Waiting for writers uses parameters selected based on the number of activated hardware threads. The upper limit of pause instructions to be executed in-between re-reads of the lock is typically 16384 or 32678. It was selected as the limit of total spins. The lower bound is set to already present 10000 as to not change it for smaller machines. Bumping the limit reduces system time by few % during benchmarks like buildworld, buildkernel and others. Tested on 2 and 4 socket machines (Broadwell, Skylake). Figuring out how to make a more informed decision while not pessimizing the fast path is left as an exercise for the reader. == fix uninitialized variable warning in reader locks Approved by: re (marius) Modified: stable/11/sys/kern/kern_mutex.c stable/11/sys/kern/kern_rwlock.c stable/11/sys/kern/kern_sx.c stable/11/sys/sys/lockstat.h Modified: stable/11/sys/kern/kern_mutex.c ============================================================================== --- stable/11/sys/kern/kern_mutex.c Thu May 31 15:41:56 2018 (r334436) +++ stable/11/sys/kern/kern_mutex.c Thu May 31 15:58:28 2018 (r334437) @@ -486,8 +486,25 @@ __mtx_lock_sleep(volatile uintptr_t *c, uintptr_t v) #if defined(KDTRACE_HOOKS) || defined(LOCK_PROFILING) int doing_lockprof; #endif + td = curthread; tid = (uintptr_t)td; + m = mtxlock2mtx(c); + +#ifdef KDTRACE_HOOKS + if (LOCKSTAT_PROFILE_ENABLED(adaptive__acquire)) { + while (v == MTX_UNOWNED) { + if (_mtx_obtain_lock_fetch(m, &v, tid)) + goto out_lockstat; + } + doing_lockprof = 1; + all_time -= lockstat_nsecs(&m->lock_object); + } +#endif +#ifdef LOCK_PROFILING + doing_lockprof = 1; +#endif + if (SCHEDULER_STOPPED_TD(td)) return; @@ -496,7 +513,7 @@ __mtx_lock_sleep(volatile uintptr_t *c, uintptr_t v) #elif defined(KDTRACE_HOOKS) lock_delay_arg_init(&lda, NULL); #endif - m = mtxlock2mtx(c); + if (__predict_false(v == MTX_UNOWNED)) v = MTX_READ_VALUE(m); @@ -527,13 +544,6 @@ __mtx_lock_sleep(volatile uintptr_t *c, uintptr_t v) CTR4(KTR_LOCK, "_mtx_lock_sleep: %s contested (lock=%p) at %s:%d", m->lock_object.lo_name, (void *)m->mtx_lock, file, line); -#ifdef LOCK_PROFILING - doing_lockprof = 1; -#elif defined(KDTRACE_HOOKS) - doing_lockprof = lockstat_enabled; - if (__predict_false(doing_lockprof)) - all_time -= lockstat_nsecs(&m->lock_object); -#endif for (;;) { if (v == MTX_UNOWNED) { @@ -637,10 +647,6 @@ retry_turnstile: #endif #ifdef KDTRACE_HOOKS all_time += lockstat_nsecs(&m->lock_object); -#endif - LOCKSTAT_PROFILE_OBTAIN_LOCK_SUCCESS(adaptive__acquire, m, contested, - waittime, file, line); -#ifdef KDTRACE_HOOKS if (sleep_time) LOCKSTAT_RECORD1(adaptive__block, m, sleep_time); @@ -649,7 +655,10 @@ retry_turnstile: */ if (lda.spin_cnt > sleep_cnt) LOCKSTAT_RECORD1(adaptive__spin, m, all_time - sleep_time); +out_lockstat: #endif + LOCKSTAT_PROFILE_OBTAIN_LOCK_SUCCESS(adaptive__acquire, m, contested, + waittime, file, line); } #ifdef SMP @@ -685,6 +694,20 @@ _mtx_lock_spin_cookie(volatile uintptr_t *c, uintptr_t tid = (uintptr_t)curthread; m = mtxlock2mtx(c); +#ifdef KDTRACE_HOOKS + if (LOCKSTAT_PROFILE_ENABLED(adaptive__acquire)) { + while (v == MTX_UNOWNED) { + if (_mtx_obtain_lock_fetch(m, &v, tid)) + goto out_lockstat; + } + doing_lockprof = 1; + spin_time -= lockstat_nsecs(&m->lock_object); + } +#endif +#ifdef LOCK_PROFILING + doing_lockprof = 1; +#endif + if (__predict_false(v == MTX_UNOWNED)) v = MTX_READ_VALUE(m); @@ -707,13 +730,7 @@ _mtx_lock_spin_cookie(volatile uintptr_t *c, uintptr_t PMC_SOFT_CALL( , , lock, failed); #endif lock_profile_obtain_lock_failed(&m->lock_object, &contested, &waittime); -#ifdef LOCK_PROFILING - doing_lockprof = 1; -#elif defined(KDTRACE_HOOKS) - doing_lockprof = lockstat_enabled; - if (__predict_false(doing_lockprof)) - spin_time -= lockstat_nsecs(&m->lock_object); -#endif + for (;;) { if (v == MTX_UNOWNED) { if (_mtx_obtain_lock_fetch(m, &v, tid)) @@ -744,13 +761,12 @@ _mtx_lock_spin_cookie(volatile uintptr_t *c, uintptr_t #endif #ifdef KDTRACE_HOOKS spin_time += lockstat_nsecs(&m->lock_object); -#endif - LOCKSTAT_PROFILE_OBTAIN_LOCK_SUCCESS(spin__acquire, m, - contested, waittime, file, line); -#ifdef KDTRACE_HOOKS if (lda.spin_cnt != 0) LOCKSTAT_RECORD1(spin__spin, m, spin_time); +out_lockstat: #endif + LOCKSTAT_PROFILE_OBTAIN_LOCK_SUCCESS(spin__acquire, m, + contested, waittime, file, line); } #endif /* SMP */ @@ -806,10 +822,8 @@ _thread_lock(struct thread *td) WITNESS_LOCK(&m->lock_object, LOP_EXCLUSIVE, file, line); return; } - if (m->mtx_recurse != 0) - m->mtx_recurse--; - else - _mtx_release_lock_quick(m); + MPASS(m->mtx_recurse == 0); + _mtx_release_lock_quick(m); slowpath_unlocked: spinlock_exit(); slowpath_noirq: @@ -863,9 +877,10 @@ thread_lock_flags_(struct thread *td, int opts, const if (__predict_false(doing_lockprof)) spin_time -= lockstat_nsecs(&td->td_lock->lock_object); #endif + spinlock_enter(); + for (;;) { retry: - spinlock_enter(); m = td->td_lock; thread_lock_validate(m, opts, file, line); v = MTX_READ_VALUE(m); @@ -877,6 +892,7 @@ retry: } if (v == tid) { m->mtx_recurse++; + MPASS(m == td->td_lock); break; } lock_profile_obtain_lock_failed(&m->lock_object, @@ -889,15 +905,18 @@ retry: } else { _mtx_lock_indefinite_check(m, &lda); } - if (m != td->td_lock) + if (m != td->td_lock) { + spinlock_enter(); goto retry; + } v = MTX_READ_VALUE(m); } while (v != MTX_UNOWNED); spinlock_enter(); } if (m == td->td_lock) break; - __mtx_unlock_spin(m); /* does spinlock_exit() */ + MPASS(m->mtx_recurse == 0); + _mtx_release_lock_quick(m); } LOCK_LOG_LOCK("LOCK", &m->lock_object, opts, m->mtx_recurse, file, line); Modified: stable/11/sys/kern/kern_rwlock.c ============================================================================== --- stable/11/sys/kern/kern_rwlock.c Thu May 31 15:41:56 2018 (r334436) +++ stable/11/sys/kern/kern_rwlock.c Thu May 31 15:58:28 2018 (r334437) @@ -93,8 +93,8 @@ struct lock_class lock_class_rw = { }; #ifdef ADAPTIVE_RWLOCKS -static int __read_frequently rowner_retries = 10; -static int __read_frequently rowner_loops = 10000; +static int __read_frequently rowner_retries; +static int __read_frequently rowner_loops; static SYSCTL_NODE(_debug, OID_AUTO, rwlock, CTLFLAG_RD, NULL, "rwlock debugging"); SYSCTL_INT(_debug_rwlock, OID_AUTO, retry, CTLFLAG_RW, &rowner_retries, 0, ""); @@ -107,7 +107,15 @@ SYSCTL_INT(_debug_rwlock, OID_AUTO, delay_base, CTLFLA SYSCTL_INT(_debug_rwlock, OID_AUTO, delay_max, CTLFLAG_RW, &rw_delay.max, 0, ""); -LOCK_DELAY_SYSINIT_DEFAULT(rw_delay); +static void +rw_lock_delay_init(void *arg __unused) +{ + + lock_delay_default_init(&rw_delay); + rowner_retries = 10; + rowner_loops = max(10000, rw_delay.max); +} +LOCK_DELAY_SYSINIT(rw_lock_delay_init); #endif /* @@ -436,9 +444,23 @@ __rw_rlock_hard(struct rwlock *rw, struct thread *td, #endif #if defined(KDTRACE_HOOKS) || defined(LOCK_PROFILING) uintptr_t state; - int doing_lockprof; + int doing_lockprof = 0; #endif +#ifdef KDTRACE_HOOKS + if (LOCKSTAT_PROFILE_ENABLED(rw__acquire)) { + if (__rw_rlock_try(rw, td, &v, false LOCK_FILE_LINE_ARG)) + goto out_lockstat; + doing_lockprof = 1; + all_time -= lockstat_nsecs(&rw->lock_object); + state = v; + } +#endif +#ifdef LOCK_PROFILING + doing_lockprof = 1; + state = v; +#endif + if (SCHEDULER_STOPPED()) return; @@ -454,17 +476,6 @@ __rw_rlock_hard(struct rwlock *rw, struct thread *td, lock_profile_obtain_lock_failed(&rw->lock_object, &contested, &waittime); -#ifdef LOCK_PROFILING - doing_lockprof = 1; - state = v; -#elif defined(KDTRACE_HOOKS) - doing_lockprof = lockstat_enabled; - if (__predict_false(doing_lockprof)) { - all_time -= lockstat_nsecs(&rw->lock_object); - state = v; - } -#endif - for (;;) { if (__rw_rlock_try(rw, td, &v, false LOCK_FILE_LINE_ARG)) break; @@ -613,6 +624,7 @@ retry_ts: LOCKSTAT_RECORD4(rw__spin, rw, all_time - sleep_time, LOCKSTAT_READER, (state & RW_LOCK_READ) == 0, (state & RW_LOCK_READ) == 0 ? 0 : RW_READERS(state)); +out_lockstat: #endif /* * TODO: acquire "owner of record" here. Here be turnstile dragons @@ -643,9 +655,12 @@ __rw_rlock_int(struct rwlock *rw LOCK_FILE_LINE_ARG_DE WITNESS_CHECKORDER(&rw->lock_object, LOP_NEWORDER, file, line, NULL); v = RW_READ_VALUE(rw); - if (__predict_false(LOCKSTAT_OOL_PROFILE_ENABLED(rw__acquire) || + if (__predict_false(LOCKSTAT_PROFILE_ENABLED(rw__acquire) || !__rw_rlock_try(rw, td, &v, true LOCK_FILE_LINE_ARG))) __rw_rlock_hard(rw, td, v LOCK_FILE_LINE_ARG); + else + lock_profile_obtain_lock_success(&rw->lock_object, 0, 0, + file, line); LOCK_LOG_LOCK("RLOCK", &rw->lock_object, 0, 0, file, line); WITNESS_LOCK(&rw->lock_object, 0, file, line); @@ -758,22 +773,19 @@ __rw_runlock_hard(struct rwlock *rw, struct thread *td if (SCHEDULER_STOPPED()) return; + if (__rw_runlock_try(rw, td, &v)) + goto out_lockstat; + + /* + * Ok, we know we have waiters and we think we are the + * last reader, so grab the turnstile lock. + */ + turnstile_chain_lock(&rw->lock_object); + v = RW_READ_VALUE(rw); for (;;) { if (__rw_runlock_try(rw, td, &v)) break; - /* - * Ok, we know we have waiters and we think we are the - * last reader, so grab the turnstile lock. - */ - turnstile_chain_lock(&rw->lock_object); - v = RW_READ_VALUE(rw); -retry_ts: - if (__rw_runlock_try(rw, td, &v)) { - turnstile_chain_unlock(&rw->lock_object); - break; - } - v &= (RW_LOCK_WAITERS | RW_LOCK_WRITE_SPINNER); MPASS(v & RW_LOCK_WAITERS); @@ -801,7 +813,7 @@ retry_ts: } v |= RW_READERS_LOCK(1); if (!atomic_fcmpset_rel_ptr(&rw->rw_lock, &v, setv)) - goto retry_ts; + continue; if (LOCK_LOG_TEST(&rw->lock_object, 0)) CTR2(KTR_LOCK, "%s: %p last succeeded with waiters", __func__, rw); @@ -817,10 +829,11 @@ retry_ts: MPASS(ts != NULL); turnstile_broadcast(ts, queue); turnstile_unpend(ts, TS_SHARED_LOCK); - turnstile_chain_unlock(&rw->lock_object); td->td_rw_rlocks--; break; } + turnstile_chain_unlock(&rw->lock_object); +out_lockstat: LOCKSTAT_PROFILE_RELEASE_RWLOCK(rw__release, rw, LOCKSTAT_READER); } @@ -839,9 +852,11 @@ _rw_runlock_cookie_int(struct rwlock *rw LOCK_FILE_LIN td = curthread; v = RW_READ_VALUE(rw); - if (__predict_false(LOCKSTAT_OOL_PROFILE_ENABLED(rw__release) || + if (__predict_false(LOCKSTAT_PROFILE_ENABLED(rw__release) || !__rw_runlock_try(rw, td, &v))) __rw_runlock_hard(rw, td, v LOCK_FILE_LINE_ARG); + else + lock_profile_release_lock(&rw->lock_object); TD_LOCKS_DEC(curthread); } @@ -870,7 +885,7 @@ __rw_wlock_hard(volatile uintptr_t *c, uintptr_t v LOC #ifdef ADAPTIVE_RWLOCKS int spintries = 0; int i, n; - int sleep_reason = 0; + enum { READERS, WRITER } sleep_reason = READERS; #endif uintptr_t x; #ifdef LOCK_PROFILING @@ -887,10 +902,28 @@ __rw_wlock_hard(volatile uintptr_t *c, uintptr_t v LOC #endif #if defined(KDTRACE_HOOKS) || defined(LOCK_PROFILING) uintptr_t state; - int doing_lockprof; + int doing_lockprof = 0; #endif tid = (uintptr_t)curthread; + rw = rwlock2rw(c); + +#ifdef KDTRACE_HOOKS + if (LOCKSTAT_PROFILE_ENABLED(rw__acquire)) { + while (v == RW_UNLOCKED) { + if (_rw_write_lock_fetch(rw, &v, tid)) + goto out_lockstat; + } + doing_lockprof = 1; + all_time -= lockstat_nsecs(&rw->lock_object); + state = v; + } +#endif +#ifdef LOCK_PROFILING + doing_lockprof = 1; + state = v; +#endif + if (SCHEDULER_STOPPED()) return; @@ -899,7 +932,6 @@ __rw_wlock_hard(volatile uintptr_t *c, uintptr_t v LOC #elif defined(KDTRACE_HOOKS) lock_delay_arg_init(&lda, NULL); #endif - rw = rwlock2rw(c); if (__predict_false(v == RW_UNLOCKED)) v = RW_READ_VALUE(rw); @@ -924,17 +956,6 @@ __rw_wlock_hard(volatile uintptr_t *c, uintptr_t v LOC lock_profile_obtain_lock_failed(&rw->lock_object, &contested, &waittime); -#ifdef LOCK_PROFILING - doing_lockprof = 1; - state = v; -#elif defined(KDTRACE_HOOKS) - doing_lockprof = lockstat_enabled; - if (__predict_false(doing_lockprof)) { - all_time -= lockstat_nsecs(&rw->lock_object); - state = v; - } -#endif - for (;;) { if (v == RW_UNLOCKED) { if (_rw_write_lock_fetch(rw, &v, tid)) @@ -951,9 +972,11 @@ __rw_wlock_hard(volatile uintptr_t *c, uintptr_t v LOC * running on another CPU, spin until the owner stops * running or the state of the lock changes. */ - sleep_reason = 1; - owner = lv_rw_wowner(v); - if (!(v & RW_LOCK_READ) && TD_IS_RUNNING(owner)) { + if (!(v & RW_LOCK_READ)) { + sleep_reason = WRITER; + owner = lv_rw_wowner(v); + if (!TD_IS_RUNNING(owner)) + goto ts; if (LOCK_LOG_TEST(&rw->lock_object, 0)) CTR3(KTR_LOCK, "%s: spinning on %p held by %p", __func__, rw, owner); @@ -968,9 +991,10 @@ __rw_wlock_hard(volatile uintptr_t *c, uintptr_t v LOC KTR_STATE0(KTR_SCHED, "thread", sched_tdname(curthread), "running"); continue; - } - if ((v & RW_LOCK_READ) && RW_READERS(v) && - spintries < rowner_retries) { + } else if (RW_READERS(v) > 0) { + sleep_reason = READERS; + if (spintries == rowner_retries) + goto ts; if (!(v & RW_LOCK_WRITE_SPINNER)) { if (!atomic_fcmpset_ptr(&rw->rw_lock, &v, v | RW_LOCK_WRITE_SPINNER)) { @@ -988,15 +1012,15 @@ __rw_wlock_hard(volatile uintptr_t *c, uintptr_t v LOC if ((v & RW_LOCK_WRITE_SPINNER) == 0) break; } - KTR_STATE0(KTR_SCHED, "thread", sched_tdname(curthread), - "running"); #ifdef KDTRACE_HOOKS - lda.spin_cnt += rowner_loops - i; + lda.spin_cnt += i; #endif + KTR_STATE0(KTR_SCHED, "thread", sched_tdname(curthread), + "running"); if (i < rowner_loops) continue; - sleep_reason = 2; } +ts: #endif ts = turnstile_trywait(&rw->lock_object); v = RW_READ_VALUE(rw); @@ -1016,7 +1040,7 @@ retry_ts: turnstile_cancel(ts); continue; } - } else if (RW_READERS(v) > 0 && sleep_reason == 1) { + } else if (RW_READERS(v) > 0 && sleep_reason == WRITER) { turnstile_cancel(ts); continue; } @@ -1093,6 +1117,7 @@ retry_ts: LOCKSTAT_RECORD4(rw__spin, rw, all_time - sleep_time, LOCKSTAT_WRITER, (state & RW_LOCK_READ) == 0, (state & RW_LOCK_READ) == 0 ? 0 : RW_READERS(state)); +out_lockstat: #endif LOCKSTAT_PROFILE_OBTAIN_RWLOCK_SUCCESS(rw__acquire, rw, contested, waittime, file, line, LOCKSTAT_WRITER); @@ -1185,7 +1210,7 @@ __rw_wunlock_hard(volatile uintptr_t *c, uintptr_t v L int __rw_try_upgrade_int(struct rwlock *rw LOCK_FILE_LINE_ARG_DEF) { - uintptr_t v, x, tid; + uintptr_t v, setv, tid; struct turnstile *ts; int success; @@ -1205,12 +1230,12 @@ __rw_try_upgrade_int(struct rwlock *rw LOCK_FILE_LINE_ */ tid = (uintptr_t)curthread; success = 0; + v = RW_READ_VALUE(rw); for (;;) { - v = rw->rw_lock; if (RW_READERS(v) > 1) break; if (!(v & RW_LOCK_WAITERS)) { - success = atomic_cmpset_acq_ptr(&rw->rw_lock, v, tid); + success = atomic_fcmpset_acq_ptr(&rw->rw_lock, &v, tid); if (!success) continue; break; @@ -1220,7 +1245,8 @@ __rw_try_upgrade_int(struct rwlock *rw LOCK_FILE_LINE_ * Ok, we think we have waiters, so lock the turnstile. */ ts = turnstile_trywait(&rw->lock_object); - v = rw->rw_lock; + v = RW_READ_VALUE(rw); +retry_ts: if (RW_READERS(v) > 1) { turnstile_cancel(ts); break; @@ -1231,16 +1257,16 @@ __rw_try_upgrade_int(struct rwlock *rw LOCK_FILE_LINE_ * If we obtain the lock with the flags set, then claim * ownership of the turnstile. */ - x = rw->rw_lock & RW_LOCK_WAITERS; - success = atomic_cmpset_ptr(&rw->rw_lock, v, tid | x); + setv = tid | (v & RW_LOCK_WAITERS); + success = atomic_fcmpset_ptr(&rw->rw_lock, &v, setv); if (success) { - if (x) + if (v & RW_LOCK_WAITERS) turnstile_claim(ts); else turnstile_cancel(ts); break; } - turnstile_cancel(ts); + goto retry_ts; } LOCK_LOG_TRY("WUPGRADE", &rw->lock_object, 0, success, file, line); if (success) { Modified: stable/11/sys/kern/kern_sx.c ============================================================================== --- stable/11/sys/kern/kern_sx.c Thu May 31 15:41:56 2018 (r334436) +++ stable/11/sys/kern/kern_sx.c Thu May 31 15:58:28 2018 (r334437) @@ -143,8 +143,8 @@ struct lock_class lock_class_sx = { #endif #ifdef ADAPTIVE_SX -static __read_frequently u_int asx_retries = 10; -static __read_frequently u_int asx_loops = 10000; +static __read_frequently u_int asx_retries; +static __read_frequently u_int asx_loops; static SYSCTL_NODE(_debug, OID_AUTO, sx, CTLFLAG_RD, NULL, "sxlock debugging"); SYSCTL_UINT(_debug_sx, OID_AUTO, retries, CTLFLAG_RW, &asx_retries, 0, ""); SYSCTL_UINT(_debug_sx, OID_AUTO, loops, CTLFLAG_RW, &asx_loops, 0, ""); @@ -156,7 +156,15 @@ SYSCTL_INT(_debug_sx, OID_AUTO, delay_base, CTLFLAG_RW SYSCTL_INT(_debug_sx, OID_AUTO, delay_max, CTLFLAG_RW, &sx_delay.max, 0, ""); -LOCK_DELAY_SYSINIT_DEFAULT(sx_delay); +static void +sx_lock_delay_init(void *arg __unused) +{ + + lock_delay_default_init(&sx_delay); + asx_retries = 10; + asx_loops = max(10000, sx_delay.max); +} +LOCK_DELAY_SYSINIT(sx_lock_delay_init); #endif void @@ -411,6 +419,7 @@ int sx_try_upgrade_int(struct sx *sx LOCK_FILE_LINE_ARG_DEF) { uintptr_t x; + uintptr_t waiters; int success; if (SCHEDULER_STOPPED()) @@ -425,9 +434,18 @@ sx_try_upgrade_int(struct sx *sx LOCK_FILE_LINE_ARG_DE * to maintain the SX_LOCK_EXCLUSIVE_WAITERS flag if set so that * we will wake up the exclusive waiters when we drop the lock. */ - x = sx->sx_lock & SX_LOCK_EXCLUSIVE_WAITERS; - success = atomic_cmpset_acq_ptr(&sx->sx_lock, SX_SHARERS_LOCK(1) | x, - (uintptr_t)curthread | x); + success = 0; + x = SX_READ_VALUE(sx); + for (;;) { + if (SX_SHARERS(x) > 1) + break; + waiters = (x & SX_LOCK_EXCLUSIVE_WAITERS); + if (atomic_fcmpset_acq_ptr(&sx->sx_lock, &x, + (uintptr_t)curthread | waiters)) { + success = 1; + break; + } + } LOCK_LOG_TRY("XUPGRADE", &sx->lock_object, 0, success, file, line); if (success) { WITNESS_UPGRADE(&sx->lock_object, LOP_EXCLUSIVE | LOP_TRYLOCK, @@ -531,8 +549,8 @@ _sx_xlock_hard(struct sx *sx, uintptr_t x, int opts LO #ifdef ADAPTIVE_SX volatile struct thread *owner; u_int i, n, spintries = 0; + enum { READERS, WRITER } sleep_reason = READERS; bool adaptive; - int sleep_reason = 0; #endif #ifdef LOCK_PROFILING uint64_t waittime = 0; @@ -548,11 +566,28 @@ _sx_xlock_hard(struct sx *sx, uintptr_t x, int opts LO int64_t all_time = 0; #endif #if defined(KDTRACE_HOOKS) || defined(LOCK_PROFILING) - uintptr_t state; + uintptr_t state = 0; #endif int extra_work = 0; tid = (uintptr_t)curthread; + +#ifdef KDTRACE_HOOKS + if (LOCKSTAT_PROFILE_ENABLED(sx__acquire)) { + while (x == SX_LOCK_UNLOCKED) { + if (atomic_fcmpset_acq_ptr(&sx->sx_lock, &x, tid)) + goto out_lockstat; + } + extra_work = 1; + all_time -= lockstat_nsecs(&sx->lock_object); + state = x; + } +#endif +#ifdef LOCK_PROFILING + extra_work = 1; + state = x; +#endif + if (SCHEDULER_STOPPED()) return (0); @@ -582,7 +617,7 @@ _sx_xlock_hard(struct sx *sx, uintptr_t x, int opts LO sx->lock_object.lo_name, (void *)sx->sx_lock, file, line); #ifdef ADAPTIVE_SX - adaptive = ((sx->lock_object.lo_flags & SX_NOADAPTIVE) != 0); + adaptive = ((sx->lock_object.lo_flags & SX_NOADAPTIVE) == 0); #endif #ifdef HWPMC_HOOKS @@ -591,16 +626,6 @@ _sx_xlock_hard(struct sx *sx, uintptr_t x, int opts LO lock_profile_obtain_lock_failed(&sx->lock_object, &contested, &waittime); -#ifdef LOCK_PROFILING - extra_work = 1; - state = x; -#elif defined(KDTRACE_HOOKS) - extra_work = lockstat_enabled; - if (__predict_false(extra_work)) { - all_time -= lockstat_nsecs(&sx->lock_object); - state = x; - } -#endif #ifndef INVARIANTS GIANT_SAVE(extra_work); #endif @@ -626,37 +651,33 @@ _sx_xlock_hard(struct sx *sx, uintptr_t x, int opts LO * running or the state of the lock changes. */ if ((x & SX_LOCK_SHARED) == 0) { + sleep_reason = WRITER; owner = lv_sx_owner(x); - if (TD_IS_RUNNING(owner)) { - if (LOCK_LOG_TEST(&sx->lock_object, 0)) - CTR3(KTR_LOCK, - "%s: spinning on %p held by %p", - __func__, sx, owner); - KTR_STATE1(KTR_SCHED, "thread", - sched_tdname(curthread), "spinning", - "lockname:\"%s\"", - sx->lock_object.lo_name); - do { - lock_delay(&lda); - x = SX_READ_VALUE(sx); - owner = lv_sx_owner(x); - } while (owner != NULL && - TD_IS_RUNNING(owner)); - KTR_STATE0(KTR_SCHED, "thread", - sched_tdname(curthread), "running"); - continue; - } - sleep_reason = 1; - } else if (SX_SHARERS(x) && spintries < asx_retries) { - KTR_STATE1(KTR_SCHED, "thread", - sched_tdname(curthread), "spinning", - "lockname:\"%s\"", sx->lock_object.lo_name); + if (!TD_IS_RUNNING(owner)) + goto sleepq; + if (LOCK_LOG_TEST(&sx->lock_object, 0)) + CTR3(KTR_LOCK, "%s: spinning on %p held by %p", + __func__, sx, owner); + KTR_STATE1(KTR_SCHED, "thread", sched_tdname(curthread), + "spinning", "lockname:\"%s\"", + sx->lock_object.lo_name); + do { + lock_delay(&lda); + x = SX_READ_VALUE(sx); + owner = lv_sx_owner(x); + } while (owner != NULL && TD_IS_RUNNING(owner)); + KTR_STATE0(KTR_SCHED, "thread", sched_tdname(curthread), + "running"); + continue; + } else if (SX_SHARERS(x) > 0) { + sleep_reason = READERS; + if (spintries == asx_retries) + goto sleepq; spintries++; + KTR_STATE1(KTR_SCHED, "thread", sched_tdname(curthread), + "spinning", "lockname:\"%s\"", + sx->lock_object.lo_name); for (i = 0; i < asx_loops; i += n) { - if (LOCK_LOG_TEST(&sx->lock_object, 0)) - CTR4(KTR_LOCK, - "%s: shared spinning on %p with %u and %u", - __func__, sx, spintries, i); n = SX_SHARERS(x); lock_delay_spin(n); x = SX_READ_VALUE(sx); @@ -667,11 +688,10 @@ _sx_xlock_hard(struct sx *sx, uintptr_t x, int opts LO #ifdef KDTRACE_HOOKS lda.spin_cnt += i; #endif - KTR_STATE0(KTR_SCHED, "thread", - sched_tdname(curthread), "running"); + KTR_STATE0(KTR_SCHED, "thread", sched_tdname(curthread), + "running"); if (i < asx_loops) continue; - sleep_reason = 2; } sleepq: #endif @@ -703,7 +723,7 @@ retry_sleepq: sleepq_release(&sx->lock_object); continue; } - } else if (SX_SHARERS(x) > 0 && sleep_reason == 1) { + } else if (SX_SHARERS(x) > 0 && sleep_reason == WRITER) { sleepq_release(&sx->lock_object); continue; } @@ -793,6 +813,7 @@ retry_sleepq: LOCKSTAT_RECORD4(sx__spin, sx, all_time - sleep_time, LOCKSTAT_WRITER, (state & SX_LOCK_SHARED) == 0, (state & SX_LOCK_SHARED) == 0 ? 0 : SX_SHARERS(state)); +out_lockstat: #endif if (!error) LOCKSTAT_PROFILE_OBTAIN_RWLOCK_SUCCESS(sx__acquire, sx, @@ -921,10 +942,24 @@ _sx_slock_hard(struct sx *sx, int opts, uintptr_t x LO int64_t all_time = 0; #endif #if defined(KDTRACE_HOOKS) || defined(LOCK_PROFILING) - uintptr_t state; + uintptr_t state = 0; #endif int extra_work = 0; +#ifdef KDTRACE_HOOKS + if (LOCKSTAT_PROFILE_ENABLED(sx__acquire)) { + if (__sx_slock_try(sx, &x LOCK_FILE_LINE_ARG)) + goto out_lockstat; + extra_work = 1; + all_time -= lockstat_nsecs(&sx->lock_object); + state = x; + } +#endif +#ifdef LOCK_PROFILING + extra_work = 1; + state = x; +#endif + if (SCHEDULER_STOPPED()) return (0); @@ -935,7 +970,7 @@ _sx_slock_hard(struct sx *sx, int opts, uintptr_t x LO #endif #ifdef ADAPTIVE_SX - adaptive = ((sx->lock_object.lo_flags & SX_NOADAPTIVE) != 0); + adaptive = ((sx->lock_object.lo_flags & SX_NOADAPTIVE) == 0); #endif #ifdef HWPMC_HOOKS @@ -944,16 +979,6 @@ _sx_slock_hard(struct sx *sx, int opts, uintptr_t x LO lock_profile_obtain_lock_failed(&sx->lock_object, &contested, &waittime); -#ifdef LOCK_PROFILING - extra_work = 1; - state = x; -#elif defined(KDTRACE_HOOKS) - extra_work = lockstat_enabled; - if (__predict_false(extra_work)) { - all_time -= lockstat_nsecs(&sx->lock_object); - state = x; - } -#endif #ifndef INVARIANTS GIANT_SAVE(extra_work); #endif @@ -1095,6 +1120,7 @@ retry_sleepq: LOCKSTAT_RECORD4(sx__spin, sx, all_time - sleep_time, LOCKSTAT_READER, (state & SX_LOCK_SHARED) == 0, (state & SX_LOCK_SHARED) == 0 ? 0 : SX_SHARERS(state)); +out_lockstat: #endif if (error == 0) { LOCKSTAT_PROFILE_OBTAIN_RWLOCK_SUCCESS(sx__acquire, sx, @@ -1120,9 +1146,12 @@ _sx_slock_int(struct sx *sx, int opts LOCK_FILE_LINE_A error = 0; x = SX_READ_VALUE(sx); - if (__predict_false(LOCKSTAT_OOL_PROFILE_ENABLED(sx__acquire) || + if (__predict_false(LOCKSTAT_PROFILE_ENABLED(sx__acquire) || !__sx_slock_try(sx, &x LOCK_FILE_LINE_ARG))) error = _sx_slock_hard(sx, opts, x LOCK_FILE_LINE_ARG); + else + lock_profile_obtain_lock_success(&sx->lock_object, 0, 0, + file, line); if (error == 0) { LOCK_LOG_LOCK("SLOCK", &sx->lock_object, 0, 0, file, line); WITNESS_LOCK(&sx->lock_object, 0, file, line); @@ -1250,9 +1279,11 @@ _sx_sunlock_int(struct sx *sx LOCK_FILE_LINE_ARG_DEF) LOCK_LOG_LOCK("SUNLOCK", &sx->lock_object, 0, 0, file, line); x = SX_READ_VALUE(sx); - if (__predict_false(LOCKSTAT_OOL_PROFILE_ENABLED(sx__release) || + if (__predict_false(LOCKSTAT_PROFILE_ENABLED(sx__release) || !_sx_sunlock_try(sx, &x))) _sx_sunlock_hard(sx, x LOCK_FILE_LINE_ARG); + else + lock_profile_release_lock(&sx->lock_object); TD_LOCKS_DEC(curthread); } Modified: stable/11/sys/sys/lockstat.h ============================================================================== --- stable/11/sys/sys/lockstat.h Thu May 31 15:41:56 2018 (r334436) +++ stable/11/sys/sys/lockstat.h Thu May 31 15:58:28 2018 (r334437) @@ -107,12 +107,7 @@ extern volatile int lockstat_enabled; LOCKSTAT_RECORD1(probe, lp, a); \ } while (0) -#ifndef LOCK_PROFILING #define LOCKSTAT_PROFILE_ENABLED(probe) __predict_false(lockstat_enabled) -#define LOCKSTAT_OOL_PROFILE_ENABLED(probe) LOCKSTAT_PROFILE_ENABLED(probe) -#else -#define LOCKSTAT_OOL_PROFILE_ENABLED(probe) 1 -#endif struct lock_object; uint64_t lockstat_nsecs(struct lock_object *); @@ -137,10 +132,7 @@ uint64_t lockstat_nsecs(struct lock_object *); #define LOCKSTAT_PROFILE_RELEASE_RWLOCK(probe, lp, a) \ LOCKSTAT_PROFILE_RELEASE_LOCK(probe, lp) -#ifndef LOCK_PROFILING #define LOCKSTAT_PROFILE_ENABLED(probe) 0 -#endif -#define LOCKSTAT_OOL_PROFILE_ENABLED(probe) 1 #endif /* !KDTRACE_HOOKS */ From owner-svn-src-stable-11@freebsd.org Thu May 31 16:00:04 2018 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6D9F2EFC7D7; Thu, 31 May 2018 16:00:04 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 1D7C66F51F; Thu, 31 May 2018 16:00:04 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id F2E731C4C9; Thu, 31 May 2018 16:00:03 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w4VG0305066088; Thu, 31 May 2018 16:00:03 GMT (envelope-from tuexen@FreeBSD.org) Received: (from tuexen@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w4VG03xv066087; Thu, 31 May 2018 16:00:03 GMT (envelope-from tuexen@FreeBSD.org) Message-Id: <201805311600.w4VG03xv066087@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tuexen set sender to tuexen@FreeBSD.org using -f From: Michael Tuexen Date: Thu, 31 May 2018 16:00:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r334438 - stable/11/sys/netinet6 X-SVN-Group: stable-11 X-SVN-Commit-Author: tuexen X-SVN-Commit-Paths: stable/11/sys/netinet6 X-SVN-Commit-Revision: 334438 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 31 May 2018 16:00:04 -0000 Author: tuexen Date: Thu May 31 16:00:03 2018 New Revision: 334438 URL: https://svnweb.freebsd.org/changeset/base/334438 Log: MFC r333186: Send an ICMPv6 PacketTooBig message in case of forwading a packet which is too big for the outgoing interface and no firewall is involed. This problem was introduced in https://svnweb.freebsd.org/changeset/base/324996 Thanks to Irene Ruengeler for finding the bug and testing the fix. Approved by: re Modified: stable/11/sys/netinet6/ip6_fastfwd.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/netinet6/ip6_fastfwd.c ============================================================================== --- stable/11/sys/netinet6/ip6_fastfwd.c Thu May 31 15:58:28 2018 (r334437) +++ stable/11/sys/netinet6/ip6_fastfwd.c Thu May 31 16:00:03 2018 (r334438) @@ -195,12 +195,19 @@ passin: in6_ifstat_inc(rcvif, ifs6_in_noroute); goto dropin; } + if (!PFIL_HOOKED(&V_inet6_pfil_hook)) { + if (m->m_pkthdr.len > nh.nh_mtu) { + in6_ifstat_inc(nh.nh_ifp, ifs6_in_toobig); + icmp6_error(m, ICMP6_PACKET_TOO_BIG, 0, nh.nh_mtu); + m = NULL; + goto dropout; + } + goto passout; + } /* * Outgoing packet firewall processing. */ - if (!PFIL_HOOKED(&V_inet6_pfil_hook)) - goto passout; if (pfil_run_hooks(&V_inet6_pfil_hook, &m, nh.nh_ifp, PFIL_OUT, PFIL_FWD, NULL) != 0 || m == NULL) goto dropout; From owner-svn-src-stable-11@freebsd.org Thu May 31 16:01:11 2018 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0D4FDEFCA14; Thu, 31 May 2018 16:01:11 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id AE93D6F79A; Thu, 31 May 2018 16:01:10 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 9073A1C4F1; Thu, 31 May 2018 16:01:10 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w4VG1Alt067563; Thu, 31 May 2018 16:01:10 GMT (envelope-from brooks@FreeBSD.org) Received: (from brooks@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w4VG1Adw067562; Thu, 31 May 2018 16:01:10 GMT (envelope-from brooks@FreeBSD.org) Message-Id: <201805311601.w4VG1Adw067562@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brooks set sender to brooks@FreeBSD.org using -f From: Brooks Davis Date: Thu, 31 May 2018 16:01:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r334439 - stable/11/lib/libc/sys X-SVN-Group: stable-11 X-SVN-Commit-Author: brooks X-SVN-Commit-Paths: stable/11/lib/libc/sys X-SVN-Commit-Revision: 334439 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 31 May 2018 16:01:11 -0000 Author: brooks Date: Thu May 31 16:01:10 2018 New Revision: 334439 URL: https://svnweb.freebsd.org/changeset/base/334439 Log: MFC r334176: Indicate the brk/sbrk are deprecated and not portable. More firmly suggest mmap(2) instead. Include the history of arm64 and riscv shipping without brk/sbrk. Mention that sbrk(0) produces unreliable results. Approved by: re (kib) Reviewed by: emaste, Marcin Cieślak Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D15535 Modified: stable/11/lib/libc/sys/brk.2 Directory Properties: stable/11/ (props changed) Modified: stable/11/lib/libc/sys/brk.2 ============================================================================== --- stable/11/lib/libc/sys/brk.2 Thu May 31 16:00:03 2018 (r334438) +++ stable/11/lib/libc/sys/brk.2 Thu May 31 16:01:10 2018 (r334439) @@ -28,7 +28,7 @@ .\" @(#)brk.2 8.4 (Berkeley) 5/1/95 .\" $FreeBSD$ .\" -.Dd December 15, 2015 +.Dd May 24, 2018 .Dt BRK 2 .Os .Sh NAME @@ -51,6 +51,10 @@ and .Fn sbrk functions are legacy interfaces from before the advent of modern virtual memory management. +They are deprecated and not present on the arm64 or riscv architectures. +The +.Xr mmap 2 +interface should be used to allocate pages instead. .Ef .Pp The @@ -152,6 +156,11 @@ The .Fn brk function appeared in .At v7 . +.Fx 11.0 +introduced the arm64 and riscv architectures which do not support +.Fn brk +or +.Fn sbrk . .Sh BUGS Mixing .Fn brk @@ -168,3 +177,9 @@ It is not possible to distinguish this from a failure caused by exceeding the maximum size of the data segment without consulting .Xr getrlimit 2 . +.Pp +.Fn sbrk +is sometimes used to monitor heap use by calling with an argument of 0. +The result is unlikely to reflect actual utilization in combination with an +.Xr mmap 2 +based malloc. From owner-svn-src-stable-11@freebsd.org Thu May 31 16:14:46 2018 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E5030EFE56A; Thu, 31 May 2018 16:14:45 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 99E597090C; Thu, 31 May 2018 16:14:45 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 773161C7FB; Thu, 31 May 2018 16:14:45 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w4VGEjt7076014; Thu, 31 May 2018 16:14:45 GMT (envelope-from tuexen@FreeBSD.org) Received: (from tuexen@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w4VGEjTk076013; Thu, 31 May 2018 16:14:45 GMT (envelope-from tuexen@FreeBSD.org) Message-Id: <201805311614.w4VGEjTk076013@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tuexen set sender to tuexen@FreeBSD.org using -f From: Michael Tuexen Date: Thu, 31 May 2018 16:14:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r334441 - stable/11/sys/netinet X-SVN-Group: stable-11 X-SVN-Commit-Author: tuexen X-SVN-Commit-Paths: stable/11/sys/netinet X-SVN-Commit-Revision: 334441 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 31 May 2018 16:14:46 -0000 Author: tuexen Date: Thu May 31 16:14:45 2018 New Revision: 334441 URL: https://svnweb.freebsd.org/changeset/base/334441 Log: MFC r333382: When reporting ERROR or ABORT chunks, don't use more data that is guaranteed to be contigous. Thanks to Felix Weinrank for finding and reporting this bug by fuzzing the usrsctp stack. MFC r333386: Fix two typos reported by N. J. Mann, which were introduced in https://svnweb.freebsd.org/changeset/base/333382 by me. Approved by: re@ (marius) Modified: stable/11/sys/netinet/sctputil.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/netinet/sctputil.c ============================================================================== --- stable/11/sys/netinet/sctputil.c Thu May 31 16:10:44 2018 (r334440) +++ stable/11/sys/netinet/sctputil.c Thu May 31 16:14:45 2018 (r334441) @@ -2658,6 +2658,13 @@ sctp_notify_assoc_change(uint16_t state, struct sctp_t notif_len = (unsigned int)sizeof(struct sctp_assoc_change); if (abort != NULL) { abort_len = ntohs(abort->ch.chunk_length); + /* + * Only SCTP_CHUNK_BUFFER_SIZE are guaranteed to be + * contiguous. + */ + if (abort_len > SCTP_CHUNK_BUFFER_SIZE) { + abort_len = SCTP_CHUNK_BUFFER_SIZE; + } } else { abort_len = 0; } @@ -3562,6 +3569,13 @@ sctp_notify_remote_error(struct sctp_tcb *stcb, uint16 } if (chunk != NULL) { chunk_len = ntohs(chunk->ch.chunk_length); + /* + * Only SCTP_CHUNK_BUFFER_SIZE are guaranteed to be + * contiguous. + */ + if (chunk_len > SCTP_CHUNK_BUFFER_SIZE) { + chunk_len = SCTP_CHUNK_BUFFER_SIZE; + } } else { chunk_len = 0; } From owner-svn-src-stable-11@freebsd.org Thu May 31 16:48:09 2018 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id ABEC8F736D6; Thu, 31 May 2018 16:48:09 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 609FB7247F; Thu, 31 May 2018 16:48:09 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 41BA61CCBD; Thu, 31 May 2018 16:48:09 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w4VGm9eg091152; Thu, 31 May 2018 16:48:09 GMT (envelope-from tuexen@FreeBSD.org) Received: (from tuexen@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w4VGm9cv091151; Thu, 31 May 2018 16:48:09 GMT (envelope-from tuexen@FreeBSD.org) Message-Id: <201805311648.w4VGm9cv091151@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tuexen set sender to tuexen@FreeBSD.org using -f From: Michael Tuexen Date: Thu, 31 May 2018 16:48:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r334442 - stable/11/usr.sbin/traceroute6 X-SVN-Group: stable-11 X-SVN-Commit-Author: tuexen X-SVN-Commit-Paths: stable/11/usr.sbin/traceroute6 X-SVN-Commit-Revision: 334442 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 31 May 2018 16:48:09 -0000 Author: tuexen Date: Thu May 31 16:48:08 2018 New Revision: 334442 URL: https://svnweb.freebsd.org/changeset/base/334442 Log: MFC r333176: Fix in the documentation that the default hop limit is not 30, but the value of the sysctl variable net.inet6.ip6.hlim. This is true since https://svnweb.freebsd.org/base?view=revision&revision=122574 The default of 30 (which was correct up to r122574) was incorrectly documented in https://svnweb.freebsd.org/base?view=revision&revision=130268 Thanks to Timo Voelker for makeing me aware of the inconsistency between to code and the documentation. Approved by: re@ (marius) Modified: stable/11/usr.sbin/traceroute6/traceroute6.8 Directory Properties: stable/11/ (props changed) Modified: stable/11/usr.sbin/traceroute6/traceroute6.8 ============================================================================== --- stable/11/usr.sbin/traceroute6/traceroute6.8 Thu May 31 16:14:45 2018 (r334441) +++ stable/11/usr.sbin/traceroute6/traceroute6.8 Thu May 31 16:48:08 2018 (r334442) @@ -29,7 +29,7 @@ .\" .\" $FreeBSD$ .\" -.Dd January 27, 2018 +.Dd May 2, 2018 .Dt TRACEROUTE6 8 .Os .\" @@ -112,7 +112,10 @@ is not specified, and only numeric addresses if is specified. .It Fl m Ar hoplimit Specify maximum hoplimit, up to 255. -The default is 30 hops. +The default is the value of the +.Va net.inet6.ip6.hlim +.Xr sysctl 8 +(the same default used for TCP connections). .It Fl n Do not resolve numeric address to hostname. .It Fl N From owner-svn-src-stable-11@freebsd.org Thu May 31 20:01:59 2018 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B6661FD4E9A; Thu, 31 May 2018 20:01:59 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 646117BA9E; Thu, 31 May 2018 20:01:59 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 460E11ED8C; Thu, 31 May 2018 20:01:59 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w4VK1xgC093223; Thu, 31 May 2018 20:01:59 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w4VK1wgq093221; Thu, 31 May 2018 20:01:58 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <201805312001.w4VK1wgq093221@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Thu, 31 May 2018 20:01:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r334444 - in stable/11: release/amd64 stand/efi/boot1 X-SVN-Group: stable-11 X-SVN-Commit-Author: gjb X-SVN-Commit-Paths: in stable/11: release/amd64 stand/efi/boot1 X-SVN-Commit-Revision: 334444 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 31 May 2018 20:02:00 -0000 Author: gjb Date: Thu May 31 20:01:58 2018 New Revision: 334444 URL: https://svnweb.freebsd.org/changeset/base/334444 Log: MFC r334310, r334337: r334310 (imp): Teach ufs_module.c about bsd labels and probe 'a' partition. If the check for a UFS partition at offset 0 on the disk fails, check to see if there's a BSD disklabel at block 1 (standard) or at offset 512 (install images assume 512 sector size). If found, probe for UFS on the 'a' partition. This fixes UEFI booting images from a BSD labeled MBR slice when the 'a' partiton isn't at offset 0. This is a stop-gap fix since we plan on removing boot1.efi in FreeBSD 12. We can't easily do that for 11.2, however, hence the short MFC window. r334337 (emaste): switch amd64 memstick installer images to MBR A good number of BIOSes have trouble booting from GPT in non-UEFI mode. With this change amd64 memsticks remain dual-mode (booting from either UEFI or CSM); the partitioning type is just switched from GPT to MBR. PR: 227954 Note, there are two changes specific to stable/11 where there is code that had diverged from head and never merged back. The two changes are an include in stand/efi/boot1/ufs_module.c, replacing sys/disk/bsd.h with sys/disklabel.h and replacing BSD_MAGIC with DISKMAGIC in the same file. The latter two are direct commits to stable/11 in order to avoid unexpected regressions at this point of the 11.2 cycle. Thank you to imp@ for pointing out what changes needed to be made. Approved by: re (marius) Sponsored by: The FreeBSD Foundation Modified: stable/11/release/amd64/make-memstick.sh stable/11/stand/efi/boot1/boot_module.h stable/11/stand/efi/boot1/ufs_module.c Directory Properties: stable/11/ (props changed) Modified: stable/11/release/amd64/make-memstick.sh ============================================================================== --- stable/11/release/amd64/make-memstick.sh Thu May 31 19:36:24 2018 (r334443) +++ stable/11/release/amd64/make-memstick.sh Thu May 31 20:01:58 2018 (r334444) @@ -36,12 +36,11 @@ makefs -B little -o label=FreeBSD_Install -o version=2 rm ${1}/etc/fstab rm ${1}/etc/rc.conf.local -mkimg -s gpt \ - -b ${1}/boot/pmbr \ +mkimg -s mbr \ + -b ${1}/boot/mbr \ -p efi:=${1}/boot/boot1.efifat \ - -p freebsd-boot:=${1}/boot/gptboot \ - -p freebsd-ufs:=${2}.part \ - -p freebsd-swap::1M \ + -p freebsd:-"mkimg -s bsd -b ${1}/boot/boot -p freebsd-ufs:=${2}.part" \ + -a 2 \ -o ${2} rm ${2}.part Modified: stable/11/stand/efi/boot1/boot_module.h ============================================================================== --- stable/11/stand/efi/boot1/boot_module.h Thu May 31 19:36:24 2018 (r334443) +++ stable/11/stand/efi/boot1/boot_module.h Thu May 31 20:01:58 2018 (r334444) @@ -50,6 +50,7 @@ typedef struct dev_info EFI_DEVICE_PATH *devpath; EFI_HANDLE *devhandle; void *devdata; + uint64_t partoff; BOOLEAN preferred; struct dev_info *next; } dev_info_t; Modified: stable/11/stand/efi/boot1/ufs_module.c ============================================================================== --- stable/11/stand/efi/boot1/ufs_module.c Thu May 31 19:36:24 2018 (r334443) +++ stable/11/stand/efi/boot1/ufs_module.c Thu May 31 20:01:58 2018 (r334444) @@ -36,10 +36,14 @@ #include #include #include +#include #include #include "boot_module.h" +#define BSD_LABEL_BUFFER 8192 +#define BSD_LABEL_OFFSET DEV_BSIZE + static dev_info_t *devinfo; static dev_info_t *devices; @@ -49,6 +53,7 @@ dskread(void *buf, uint64_t lba, int nblk) int size; EFI_STATUS status; + lba += devinfo->partoff; lba = lba / (devinfo->dev->Media->BlockSize / DEV_BSIZE); size = nblk * DEV_BSIZE; @@ -73,11 +78,50 @@ static struct dmadat __dmadat; static int init_dev(dev_info_t* dev) { + char buffer[BSD_LABEL_BUFFER]; + struct disklabel *dl; + uint64_t bs; + int ok; devinfo = dev; dmadat = &__dmadat; - return fsread(0, NULL, 0); + /* + * First try offset 0. This is the typical GPT case where we have no + * further partitioning (as well as the degenerate MBR case where + * the bsdlabel has a 0 offset). + */ + devinfo->partoff = 0; + ok = fsread(0, NULL, 0); + if (ok >= 0) + return (ok); + + /* + * Next, we look for a bsdlabel. This is technically located in sector + * 1. For 4k sectors, this offset is 4096, for 512b sectors it's + * 512. However, we have to fall back to 512 here because we create + * images that assume 512 byte blocks, but these can be put on devices + * who have 4k (or other) block sizes. If there's a crazy block size, we + * skip the 'at one sector' and go stright to checking at 512 bytes. + * There are other offsets that are historic, but we don't probe those + * since they were never used for MBR disks on FreeBSD on systems that + * could boot UEFI. UEFI is little endian only, as are BSD labels. We + * will retry fsread(0) only if there's a label found with a non-zero + * offset. + */ + if (dskread(buffer, 0, BSD_LABEL_BUFFER / DEV_BSIZE) != 0) + return (-1); + dl = NULL; + bs = devinfo->dev->Media->BlockSize; + if (bs != 0 && bs <= BSD_LABEL_BUFFER / 2) + dl = (struct disklabel *)&buffer[bs]; + if (dl == NULL || dl->d_magic != DISKMAGIC || dl->d_magic2 != DISKMAGIC) + dl = (struct disklabel *)&buffer[BSD_LABEL_OFFSET]; + if (dl->d_magic != DISKMAGIC || dl->d_magic2 != DISKMAGIC || + dl->d_partitions[0].p_offset == 0) + return (-1); + devinfo->partoff = dl->d_partitions[0].p_offset; + return (fsread(0, NULL, 0)); } static EFI_STATUS From owner-svn-src-stable-11@freebsd.org Thu May 31 22:20:33 2018 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E4D4FF77904; Thu, 31 May 2018 22:20:32 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 919518386E; Thu, 31 May 2018 22:20:32 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 6ED1A202AD; Thu, 31 May 2018 22:20:32 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w4VMKWNa061023; Thu, 31 May 2018 22:20:32 GMT (envelope-from marius@FreeBSD.org) Received: (from marius@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w4VMKWrK061021; Thu, 31 May 2018 22:20:32 GMT (envelope-from marius@FreeBSD.org) Message-Id: <201805312220.w4VMKWrK061021@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: marius set sender to marius@FreeBSD.org using -f From: Marius Strobl Date: Thu, 31 May 2018 22:20:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r334453 - in stable/11/sys/dev: ahci usb/controller X-SVN-Group: stable-11 X-SVN-Commit-Author: marius X-SVN-Commit-Paths: in stable/11/sys/dev: ahci usb/controller X-SVN-Commit-Revision: 334453 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 31 May 2018 22:20:33 -0000 Author: marius Date: Thu May 31 22:20:31 2018 New Revision: 334453 URL: https://svnweb.freebsd.org/changeset/base/334453 Log: MFC: r327364, r334293 - Add AHCI/XHCI device IDs found on AMD 1950X+X399 system - Describe Fresco Logic FL1100 USB 3.0 controllers. Approved by: re (gjb) Modified: stable/11/sys/dev/ahci/ahci_pci.c stable/11/sys/dev/usb/controller/xhci_pci.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/dev/ahci/ahci_pci.c ============================================================================== --- stable/11/sys/dev/ahci/ahci_pci.c Thu May 31 21:56:57 2018 (r334452) +++ stable/11/sys/dev/ahci/ahci_pci.c Thu May 31 22:20:31 2018 (r334453) @@ -68,6 +68,7 @@ static const struct { AHCI_Q_ATI_PMP_BUG | AHCI_Q_1MSI}, /* Not sure SB8x0/SB9x0 needs this quirk. Be conservative though */ {0x43951002, 0x00, "AMD SB8x0/SB9x0", AHCI_Q_ATI_PMP_BUG}, + {0x43b61022, 0x00, "AMD X399", 0}, {0x43b71022, 0x00, "AMD 300 Series", 0}, {0x78001022, 0x00, "AMD Hudson-2", 0}, {0x78011022, 0x00, "AMD Hudson-2", 0}, Modified: stable/11/sys/dev/usb/controller/xhci_pci.c ============================================================================== --- stable/11/sys/dev/usb/controller/xhci_pci.c Thu May 31 21:56:57 2018 (r334452) +++ stable/11/sys/dev/usb/controller/xhci_pci.c Thu May 31 22:20:31 2018 (r334453) @@ -97,6 +97,8 @@ xhci_pci_match(device_t self) switch (device_id) { case 0x145c1022: return ("AMD KERNCZ USB 3.0 controller"); + case 0x43ba1022: + return ("AMD X399 USB 3.0 controller"); case 0x43bb1022: return ("AMD 300 Series USB 3.0 controller"); case 0x78141022: @@ -109,6 +111,8 @@ xhci_pci_match(device_t self) case 0x10001b73: return ("Fresco Logic FL1000G USB 3.0 controller"); + case 0x11001b73: + return ("Fresco Logic FL1100 USB 3.0 controller"); case 0x10421b21: return ("ASMedia ASM1042 USB 3.0 controller"); From owner-svn-src-stable-11@freebsd.org Thu May 31 23:48:28 2018 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F0F7FFD1BB7; Thu, 31 May 2018 23:48:27 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 9E6F187859; Thu, 31 May 2018 23:48:27 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 7B6CD2111A; Thu, 31 May 2018 23:48:27 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w4VNmRTu005834; Thu, 31 May 2018 23:48:27 GMT (envelope-from marius@FreeBSD.org) Received: (from marius@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w4VNmR50005833; Thu, 31 May 2018 23:48:27 GMT (envelope-from marius@FreeBSD.org) Message-Id: <201805312348.w4VNmR50005833@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: marius set sender to marius@FreeBSD.org using -f From: Marius Strobl Date: Thu, 31 May 2018 23:48:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r334457 - stable/11/release X-SVN-Group: stable-11 X-SVN-Commit-Author: marius X-SVN-Commit-Paths: stable/11/release X-SVN-Commit-Revision: 334457 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 31 May 2018 23:48:28 -0000 Author: marius Date: Thu May 31 23:48:27 2018 New Revision: 334457 URL: https://svnweb.freebsd.org/changeset/base/334457 Log: Akin r302691 in head, synchronize the build stripping for the disc1 image with that of the bootonly image (but similarly modulo games and groff(1)) as the amd64 disc1 image is overflowing. This also removes the redundant MK_LLDB. This is a direct commit to stable/11 rather than a MFC of r302691 as the the disc1 image stripping previously has been directly modified in stable/11 by r303027. Approved by: re (gjb) Modified: stable/11/release/Makefile Modified: stable/11/release/Makefile ============================================================================== --- stable/11/release/Makefile Thu May 31 22:41:07 2018 (r334456) +++ stable/11/release/Makefile Thu May 31 23:48:27 2018 (r334457) @@ -174,10 +174,11 @@ disc1: packagesystem # Install system mkdir -p ${.TARGET} cd ${WORLDDIR} && ${IMAKE} installkernel installworld distribution \ - DESTDIR=${.OBJDIR}/${.TARGET} MK_RESCUE=no MK_KERNEL_SYMBOLS=no \ - MK_PROFILE=no MK_MAIL=no MK_TESTS=no MK_LIB32=no \ - MK_DEBUG_FILES=no MK_LLDB=no \ - MK_TOOLCHAIN=no + DESTDIR=${.OBJDIR}/${.TARGET} MK_AMD=no MK_AT=no \ + MK_INSTALLLIB=no MK_LIB32=no MK_MAIL=no \ + MK_NCP=no MK_TOOLCHAIN=no MK_PROFILE=no \ + MK_RESCUE=no MK_DICT=no \ + MK_KERNEL_SYMBOLS=no MK_TESTS=no MK_DEBUG_FILES=no # Copy distfiles mkdir -p ${.TARGET}/usr/freebsd-dist for dist in MANIFEST $$(ls *.txz | grep -vE -- '(base|lib32|kernel)-dbg'); \ From owner-svn-src-stable-11@freebsd.org Thu May 31 23:56:01 2018 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4DB5DFD2DEC; Thu, 31 May 2018 23:56:01 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id EC66987E6A; Thu, 31 May 2018 23:56:00 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id B039E212AA; Thu, 31 May 2018 23:56:00 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w4VNu0Wi010877; Thu, 31 May 2018 23:56:00 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w4VNu01l010873; Thu, 31 May 2018 23:56:00 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <201805312356.w4VNu01l010873@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Thu, 31 May 2018 23:56:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r334458 - in stable/11: contrib/libxo contrib/libxo/doc contrib/libxo/doc/_static contrib/libxo/doc/_templates contrib/libxo/libxo contrib/libxo/tests/core contrib/libxo/tests/core/save... X-SVN-Group: stable-11 X-SVN-Commit-Author: gjb X-SVN-Commit-Paths: in stable/11: contrib/libxo contrib/libxo/doc contrib/libxo/doc/_static contrib/libxo/doc/_templates contrib/libxo/libxo contrib/libxo/tests/core contrib/libxo/tests/core/saved contrib/libxo/tests/get... X-SVN-Commit-Revision: 334458 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 31 May 2018 23:56:01 -0000 Author: gjb Date: Thu May 31 23:55:59 2018 New Revision: 334458 URL: https://svnweb.freebsd.org/changeset/base/334458 Log: MFC r334068 (phil): Import libxo-0.9.0: - Add xo_format_is_numeric() with improved logic to decide if format strings are numeric, so json output quotes them - Convert docs to sphinx/rst - update tests PR: 221676 Approved by: re (marius) Sponsored by: The FreeBSD Foundation Added: stable/11/contrib/libxo/doc/_static/ - copied from r334068, head/contrib/libxo/doc/_static/ stable/11/contrib/libxo/doc/_templates/ - copied from r334068, head/contrib/libxo/doc/_templates/ stable/11/contrib/libxo/doc/api.rst - copied unchanged from r334068, head/contrib/libxo/doc/api.rst stable/11/contrib/libxo/doc/conf.py - copied unchanged from r334068, head/contrib/libxo/doc/conf.py stable/11/contrib/libxo/doc/example.rst - copied unchanged from r334068, head/contrib/libxo/doc/example.rst stable/11/contrib/libxo/doc/faq.rst - copied unchanged from r334068, head/contrib/libxo/doc/faq.rst stable/11/contrib/libxo/doc/field-formatting.rst - copied unchanged from r334068, head/contrib/libxo/doc/field-formatting.rst stable/11/contrib/libxo/doc/field-modifiers.rst - copied unchanged from r334068, head/contrib/libxo/doc/field-modifiers.rst stable/11/contrib/libxo/doc/field-roles.rst - copied unchanged from r334068, head/contrib/libxo/doc/field-roles.rst stable/11/contrib/libxo/doc/format-strings.rst - copied unchanged from r334068, head/contrib/libxo/doc/format-strings.rst stable/11/contrib/libxo/doc/formatting.rst - copied unchanged from r334068, head/contrib/libxo/doc/formatting.rst stable/11/contrib/libxo/doc/getting.rst - copied unchanged from r334068, head/contrib/libxo/doc/getting.rst stable/11/contrib/libxo/doc/howto.rst - copied unchanged from r334068, head/contrib/libxo/doc/howto.rst stable/11/contrib/libxo/doc/index.rst - copied unchanged from r334068, head/contrib/libxo/doc/index.rst stable/11/contrib/libxo/doc/intro.rst - copied unchanged from r334068, head/contrib/libxo/doc/intro.rst stable/11/contrib/libxo/doc/options.rst - copied unchanged from r334068, head/contrib/libxo/doc/options.rst stable/11/contrib/libxo/doc/xo.rst - copied unchanged from r334068, head/contrib/libxo/doc/xo.rst stable/11/contrib/libxo/doc/xohtml.rst - copied unchanged from r334068, head/contrib/libxo/doc/xohtml.rst stable/11/contrib/libxo/doc/xolint.rst - copied unchanged from r334068, head/contrib/libxo/doc/xolint.rst stable/11/contrib/libxo/doc/xopo.rst - copied unchanged from r334068, head/contrib/libxo/doc/xopo.rst Modified: stable/11/contrib/libxo/configure.ac stable/11/contrib/libxo/doc/Makefile.am stable/11/contrib/libxo/doc/libxo-manual.html stable/11/contrib/libxo/libxo/libxo.c stable/11/contrib/libxo/tests/core/saved/test_01.E.out stable/11/contrib/libxo/tests/core/saved/test_01.H.out stable/11/contrib/libxo/tests/core/saved/test_01.HIPx.out stable/11/contrib/libxo/tests/core/saved/test_01.HP.out stable/11/contrib/libxo/tests/core/saved/test_01.J.out stable/11/contrib/libxo/tests/core/saved/test_01.JP.out stable/11/contrib/libxo/tests/core/saved/test_01.T.out stable/11/contrib/libxo/tests/core/saved/test_01.X.out stable/11/contrib/libxo/tests/core/saved/test_01.XP.out stable/11/contrib/libxo/tests/core/saved/test_12.J.out stable/11/contrib/libxo/tests/core/saved/test_12.JP.out stable/11/contrib/libxo/tests/core/test_01.c stable/11/contrib/libxo/tests/gettext/saved/gt_01.J.out stable/11/contrib/libxo/tests/gettext/saved/gt_01.JP.out stable/11/lib/libxo/add.man stable/11/lib/libxo/xo_config.h Directory Properties: stable/11/ (props changed) Modified: stable/11/contrib/libxo/configure.ac ============================================================================== --- stable/11/contrib/libxo/configure.ac Thu May 31 23:48:27 2018 (r334457) +++ stable/11/contrib/libxo/configure.ac Thu May 31 23:55:59 2018 (r334458) @@ -12,7 +12,7 @@ # AC_PREREQ(2.2) -AC_INIT([libxo], [0.8.4], [phil@juniper.net]) +AC_INIT([libxo], [0.9.0], [phil@juniper.net]) AM_INIT_AUTOMAKE([-Wall -Werror foreign -Wno-portability]) # Support silent build rules. Requires at least automake-1.11. Modified: stable/11/contrib/libxo/doc/Makefile.am ============================================================================== --- stable/11/contrib/libxo/doc/Makefile.am Thu May 31 23:48:27 2018 (r334457) +++ stable/11/contrib/libxo/doc/Makefile.am Thu May 31 23:55:59 2018 (r334458) @@ -68,3 +68,8 @@ else doc docs: @${ECHO} "The 'oxtradoc' tool is not installed; see libslax.org" endif + +SPHINX = python3.4 -msphinx + +html sphinx sphinx-html: + ${SPHINX} -M html ${srcdir} . Copied: stable/11/contrib/libxo/doc/api.rst (from r334068, head/contrib/libxo/doc/api.rst) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/11/contrib/libxo/doc/api.rst Thu May 31 23:55:59 2018 (r334458, copy of r334068, head/contrib/libxo/doc/api.rst) @@ -0,0 +1,1620 @@ +.. index: API + +The libxo API +============= + +This section gives details about the functions in libxo, how to call +them, and the actions they perform. + +.. index:: Handles +.. _handles: + +Handles +------- + +libxo uses "handles" to control its rendering functionality. The +handle contains state and buffered data, as well as callback functions +to process data. + +Handles give an abstraction for libxo that encapsulates the state of a +stream of output. Handles have the data type "`xo_handle_t`" and are +opaque to the caller. + +The library has a default handle that is automatically initialized. +By default, this handle will send text style output (`XO_STYLE_TEXT`) to +standard output. The xo_set_style and xo_set_flags functions can be +used to change this behavior. + +For the typical command that is generating output on standard output, +there is no need to create an explicit handle, but they are available +when needed, e.g., for daemons that generate multiple streams of +output. + +Many libxo functions take a handle as their first parameter; most that +do not use the default handle. Any function taking a handle can be +passed NULL to access the default handle. For the convenience of +callers, the libxo library includes handle-less functions that +implicitly use the default handle. + +For example, the following are equivalent:: + + xo_emit("test"); + xo_emit_h(NULL, "test"); + +Handles are created using `xo_create` and destroy using +`xo_destroy`. + +.. index:: xo_create + +xo_create +~~~~~~~~~ + +.. c:function:: xo_handle_t *xo_create (xo_style_t style, xo_xof_flags_t flags) + + The `xo_create` function allocates a new handle which can be passed + to further libxo function calls. The `xo_handle_t` structure is + opaque. + + :param xo_style_t style: Output style (XO_STYLE\_*) + :param xo_xof_flags_t flags: Flags for this handle (XOF\_*) + :return: New libxo handle + :rtype: xo_handle_t \* + + :: + + EXAMPLE: + xo_handle_t *xop = xo_create(XO_STYLE_JSON, XOF_WARN | XOF_PRETTY); + .... + xo_emit_h(xop, "testing\n"); + + See also :ref:`output-styles` and :ref:`flags`. + +.. index:: xo_create_to_file +.. index:: XOF_CLOSE_FP + +xo_create_to_file +~~~~~~~~~~~~~~~~~ + +.. c:function:: + xo_handle_t *xo_create_to_file (FILE *fp, unsigned style, unsigned flags) + + The `xo_create_to_file` function is aconvenience function is + provided for situations when output should be written to a different + file, rather than the default of standard output. + + The `XOF_CLOSE_FP` flag can be set on the returned handle to trigger a + call to fclose() for the FILE pointer when the handle is destroyed, + avoiding the need for the caller to perform this task. + + :param fp: FILE to use as base for this handle + :type fp: FILE * + :param xo_style_t style: Output style (XO_STYLE\_*) + :param xo_xof_flags_t flags: Flags for this handle (XOF\_*) + :return: New libxo handle + :rtype: xo_handle_t \* + +.. index:: xo_set_writer +.. index:: xo_write_func_t +.. index:: xo_close_func_t +.. index:: xo_flush_func_t + +xo_set_writer +~~~~~~~~~~~~~ + +.. c:function:: + void xo_set_writer (xo_handle_t *xop, void *opaque, \ + xo_write_func_t write_func, xo_close_func_t close_func, \ + xo_flush_func_t flush_func) + + The `xo_set_writer` function allows custom functions which can + tailor how libxo writes data. The `opaque` argument is recorded and + passed back to the functions, allowing the function to acquire + context information. The *write_func* function writes data to the + output stream. The *close_func* function can release this opaque + data and any other resources as needed. The *flush_func* function + is called to flush buffered data associated with the opaque object. + + :param xop: Handle to modify (or NULL for default handle) + :type xop: xo_handle_t * + :param opaque: Pointer to opaque data passed to the given functions + :type opaque: void * + :param xo_write_func_t write_func: New write function + :param xo_close_func_t close_func: New close function + :param xo_flush_func_t flush_func: New flush function + :returns: void + +.. index:: xo_get_style + +xo_get_style +~~~~~~~~~~~~ + +.. c:function:: xo_style_t xo_get_style(xo_handle_t *xop) + + Use the `xo_get_style` function to find the current output style for + a given handle. To use the default handle, pass a `NULL` handle. + + :param xop: Handle to interrogate (or NULL for default handle) + :type xop: xo_handle_t * + :returns: Output style (XO_STYLE\_*) + :rtype: xo_style_t + + :: + + EXAMPLE:: + style = xo_get_style(NULL); + +.. index:: XO_STYLE_TEXT +.. index:: XO_STYLE_XML +.. index:: XO_STYLE_JSON +.. index:: XO_STYLE_HTML + +.. _output-styles: + +Output Styles (XO_STYLE\_\*) +++++++++++++++++++++++++++++ + +The libxo functions accept a set of output styles: + +=============== ========================= + Flag Description +=============== ========================= + XO_STYLE_TEXT Traditional text output + XO_STYLE_XML XML encoded data + XO_STYLE_JSON JSON encoded data + XO_STYLE_HTML HTML encoded data +=============== ========================= + +The "XML", "JSON", and "HTML" output styles all use the UTF-8 +character encoding. "TEXT" using locale-based encoding. + +.. index:: xo_set_style + +xo_set_style +~~~~~~~~~~~~ + +.. c:function:: void xo_set_style(xo_handle_t *xop, xo_style_t style) + + The `xo_set_style` function is used to change the output style + setting for a handle. To use the default handle, pass a `NULL` + handle. + + :param xop: Handle to modify + :type xop: xo_handle_t * + :param xo_style_t style: Output style (XO_STYLE\_*) + :returns: void + + :: + + EXAMPLE: + xo_set_style(NULL, XO_STYLE_XML); + +.. index:: xo_set_style_name + +xo_set_style_name +~~~~~~~~~~~~~~~~~ + +.. c:function:: int xo_set_style_name (xo_handle_t *xop, const char *style) + + The `xo_set_style_name` function can be used to set the style based + on a name encoded as a string: The name can be any of the supported + styles: "text", "xml", "json", or "html". + + :param xop: Handle for modify (or NULL for default handle) + :type xop: xo_handle_t \* + :param style: Text name of the style + :type style: const char \* + :returns: zero for success, non-zero for error + :rtype: int + + :: + + EXAMPLE: + xo_set_style_name(NULL, "html"); + +.. index:: xo_set_flags + +xo_set_flags +~~~~~~~~~~~~ + +.. c:function:: void xo_set_flags(xo_handle_t *xop, xo_xof_flags_t flags) + + :param xop: Handle for modify (or NULL for default handle) + :type xop: xo_handle_t \* + :param xo_xof_flags_t flags: Flags to add for the handle + :returns: void + + Use the `xo_set_flags` function to turn on flags for a given libxo + handle. To use the default handle, pass a `NULL` handle. + + :: + + EXAMPLE: + xo_set_flags(NULL, XOF_PRETTY | XOF_WARN); + +.. index:: Flags; XOF_* +.. index:: XOF_CLOSE_FP +.. index:: XOF_COLOR +.. index:: XOF_COLOR_ALLOWED +.. index:: XOF_DTRT +.. index:: XOF_INFO +.. index:: XOF_KEYS +.. index:: XOF_NO_ENV +.. index:: XOF_NO_HUMANIZE +.. index:: XOF_PRETTY +.. index:: XOF_UNDERSCORES +.. index:: XOF_UNITS +.. index:: XOF_WARN +.. index:: XOF_WARN_XML +.. index:: XOF_XPATH +.. index:: XOF_COLUMNS +.. index:: XOF_FLUSH + +.. _flags: + +Flags (XOF\_\*) ++++++++++++++++ + +The set of valid flags include: + +=================== ========================================= + Flag Description +=================== ========================================= + XOF_CLOSE_FP Close file pointer on `xo_destroy` + XOF_COLOR Enable color and effects in output + XOF_COLOR_ALLOWED Allow color/effect for terminal output + XOF_DTRT Enable "do the right thing" mode + XOF_INFO Display info data attributes (HTML) + XOF_KEYS Emit the key attribute (XML) + XOF_NO_ENV Do not use the :ref:`libxo-options` env var + XOF_NO_HUMANIZE Display humanization (TEXT, HTML) + XOF_PRETTY Make "pretty printed" output + XOF_UNDERSCORES Replaces hyphens with underscores + XOF_UNITS Display units (XML, HMTL) + XOF_WARN Generate warnings for broken calls + XOF_WARN_XML Generate warnings in XML on stdout + XOF_XPATH Emit XPath expressions (HTML) + XOF_COLUMNS Force xo_emit to return columns used + XOF_FLUSH Flush output after each `xo_emit` call +=================== ========================================= + +The `XOF_CLOSE_FP` flag will trigger the call of the *close_func* +(provided via `xo_set_writer`) when the handle is destroyed. + +The `XOF_COLOR` flag enables color and effects in output regardless +of output device, while the `XOF_COLOR_ALLOWED` flag allows color +and effects only if the output device is a terminal. + +The `XOF_PRETTY` flag requests "pretty printing", which will trigger +the addition of indentation and newlines to enhance the readability of +XML, JSON, and HTML output. Text output is not affected. + +The `XOF_WARN` flag requests that warnings will trigger diagnostic +output (on standard error) when the library notices errors during +operations, or with arguments to functions. Without warnings enabled, +such conditions are ignored. + +Warnings allow developers to debug their interaction with libxo. +The function `xo_failure` can used as a breakpoint for a debugger, +regardless of whether warnings are enabled. + +If the style is `XO_STYLE_HTML`, the following additional flags can be +used: + +=============== ========================================= + Flag Description +=============== ========================================= + XOF_XPATH Emit "data-xpath" attributes + XOF_INFO Emit additional info fields +=============== ========================================= + +The `XOF_XPATH` flag enables the emission of XPath expressions detailing +the hierarchy of XML elements used to encode the data field, if the +XPATH style of output were requested. + +The `XOF_INFO` flag encodes additional informational fields for HTML +output. See :ref:`field-information` for details. + +If the style is `XO_STYLE_XML`, the following additional flags can be +used: + +=============== ========================================= + Flag Description +=============== ========================================= + XOF_KEYS Flag "key" fields for XML +=============== ========================================= + +The `XOF_KEYS` flag adds "key" attribute to the XML encoding for +field definitions that use the "k" modifier. The key attribute has +the value "key":: + + xo_emit("{k:name}", item); + + XML: + truck + +.. index:: xo_clear_flags + +xo_clear_flags +++++++++++++++ + +.. c:function:: void xo_clear_flags (xo_handle_t *xop, xo_xof_flags_t flags) + + :param xop: Handle for modify (or NULL for default handle) + :type xop: xo_handle_t \* + :param xo_xof_flags_t flags: Flags to clear for the handle + :returns: void + + Use the `xo_clear_flags` function to turn off the given flags in a + specific handle. To use the default handle, pass a `NULL` handle. + +.. index:: xo_set_options + +xo_set_options +++++++++++++++ + +.. c:function:: int xo_set_options (xo_handle_t *xop, const char *input) + + :param xop: Handle for modify (or NULL for default handle) + :type xop: xo_handle_t \* + :param input: string containing options to set + :type input: const char * + :returns: zero for success, non-zero for error + :rtype: int + + The `xo_set_options` function accepts a comma-separated list of + output styles and modifier flags and enables them for a specific + handle. The options are identical to those listed in + :ref:`options`. To use the default handle, pass a `NULL` handle. + +.. index:: xo_destroy + +xo_destroy +++++++++++ + +.. c:function:: void xo_destroy(xo_handle_t *xop) + + :param xop: Handle for modify (or NULL for default handle) + :type xop: xo_handle_t \* + :returns: void + + The `xo_destroy` function releases a handle and any resources it is + using. Calling `xo_destroy` with a `NULL` handle will release any + resources associated with the default handle. + +.. index:: xo_emit + +Emitting Content (xo_emit) +-------------------------- + +The functions in this section are used to emit output. + +The "fmt" argument is a string containing field descriptors as +specified in :ref:`format-strings`. The use of a handle is optional and +`NULL` can be passed to access the internal "default" handle. See +:ref:`handles`. + +The remaining arguments to `xo_emit` and `xo_emit_h` are a set of +arguments corresponding to the fields in the format string. Care must +be taken to ensure the argument types match the fields in the format +string, since an inappropriate cast can ruin your day. The vap +argument to `xo_emit_hv` points to a variable argument list that can +be used to retrieve arguments via `va_arg`. + +.. c:function:: int xo_emit (const char *fmt, ...) + + :param fmt: The format string, followed by zero or more arguments + :returns: If XOF_COLUMNS is set, the number of columns used; otherwise the number of bytes emitted + :rtype: int + +.. c:function:: int xo_emit_h (xo_handle_t *xop, const char *fmt, ...) + + :param xop: Handle for modify (or NULL for default handle) + :type xop: xo_handle_t \* + :param fmt: The format string, followed by zero or more arguments + :returns: If XOF_COLUMNS is set, the number of columns used; otherwise the number of bytes emitted + :rtype: int + +.. c:function:: int xo_emit_hv (xo_handle_t *xop, const char *fmt, va_list vap) + + :param xop: Handle for modify (or NULL for default handle) + :type xop: xo_handle_t \* + :param fmt: The format string + :param va_list vap: A set of variadic arguments + :returns: If XOF_COLUMNS is set, the number of columns used; otherwise the number of bytes emitted + :rtype: int + +.. index:: xo_emit_field + +Single Field Emitting Functions (xo_emit_field) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The functions in this section can also make output, but only make a +single field at a time. These functions are intended to avoid the +scenario where one would otherwise need to compose a format +descriptors using `snprintf`. The individual parts of the format +descriptor are passed in distinctly. + +.. c:function:: int xo_emit_field (const char *rolmod, const char *contents, const char *fmt, const char *efmt, ...) + + :param rolmod: A comma-separated list of field roles and field modifiers + :type rolmod: const char * + :param contents: The "contents" portion of the field description string + :type contents: const char * + :param fmt: Content format string + :type fmt: const char * + :param efmt: Encoding format string, followed by additional arguments + :type efmt: const char * + :returns: If XOF_COLUMNS is set, the number of columns used; otherwise the number of bytes emitted + :rtype: int + + :: + + EXAMPLE:: + xo_emit_field("T", "Host name is ", NULL, NULL); + xo_emit_field("V", "host-name", NULL, NULL, host-name); + +.. c:function:: int xo_emit_field_h (xo_handle_t *xop, const char *rolmod, const char *contents, const char *fmt, const char *efmt, ...) + + :param xop: Handle for modify (or NULL for default handle) + :type xop: xo_handle_t \* + :param rolmod: A comma-separated list of field roles and field modifiers + :type rolmod: const char * + :param contents: The "contents" portion of the field description string + :type contents: const char * + :param fmt: Content format string + :type fmt: const char * + :param efmt: Encoding format string, followed by additional arguments + :type efmt: const char * + :returns: If XOF_COLUMNS is set, the number of columns used; otherwise the number of bytes emitted + :rtype: int + +.. c:function:: int xo_emit_field_hv (xo_handle_t *xop, const char *rolmod, const char *contents, const char *fmt, const char *efmt, va_list vap) + + :param xop: Handle for modify (or NULL for default handle) + :type xop: xo_handle_t \* + :param rolmod: A comma-separated list of field roles and field modifiers + :type rolmod: const char * + :param contents: The "contents" portion of the field description string + :type contents: const char * + :param fmt: Content format string + :type fmt: const char * + :param efmt: Encoding format string + :type efmt: const char * + :param va_list vap: A set of variadic arguments + :returns: If XOF_COLUMNS is set, the number of columns used; otherwise the number of bytes emitted + :rtype: int + +.. index:: xo_attr +.. _xo_attr: + +Attributes (xo_attr) +~~~~~~~~~~~~~~~~~~~~ + +The functions in this section emit an XML attribute with the given name +and value. This only affects the XML output style. + +The `name` parameter give the name of the attribute to be encoded. The +`fmt` parameter gives a printf-style format string used to format the +value of the attribute using any remaining arguments, or the vap +parameter passed to `xo_attr_hv`. + +All attributes recorded via `xo_attr` are placed on the next +container, instance, leaf, or leaf list that is emitted. + +Since attributes are only emitted in XML, their use should be limited +to meta-data and additional or redundant representations of data +already emitted in other form. + +.. c:function:: int xo_attr (const char *name, const char *fmt, ...) + + :param name: Attribute name + :type name: const char * + :param fmt: Attribute value, as variadic arguments + :type fmt: const char * + :returns: -1 for error, or the number of bytes in the formatted attribute value + :rtype: int + + :: + + EXAMPLE: + xo_attr("seconds", "%ld", (unsigned long) login_time); + struct tm *tmp = localtime(login_time); + strftime(buf, sizeof(buf), "%R", tmp); + xo_emit("Logged in at {:login-time}\n", buf); + XML: + 00:14 + + +.. c:function:: int xo_attr_h (xo_handle_t *xop, const char *name, const char *fmt, ...) + + :param xop: Handle for modify (or NULL for default handle) + :type xop: xo_handle_t \* + + The `xo_attr_h` function follows the conventions of `xo_attr` but + adds an explicit libxo handle. + +.. c:function:: int xo_attr_hv (xo_handle_t *xop, const char *name, const char *fmt, va_list vap) + + The `xo_attr_h` function follows the conventions of `xo_attr_h` + but replaced the variadic list with a variadic pointer. + +.. index:: xo_flush + +Flushing Output (xo_flush) +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. c:function:: xo_ssize_t xo_flush (void) + + :returns: -1 for error, or the number of bytes generated + :rtype: xo_ssize_t + + libxo buffers data, both for performance and consistency, but also + to allow for the proper function of various advanced features. At + various times, the caller may wish to flush any data buffered within + the library. The `xo_flush` call is used for this. + + Calling `xo_flush` also triggers the flush function associated with + the handle. For the default handle, this is equivalent to + "fflush(stdio);". + +.. c:function:: xo_ssize_t xo_flush_h (xo_handle_t *xop) + + :param xop: Handle for flush (or NULL for default handle) + :type xop: xo_handle_t \* + :returns: -1 for error, or the number of bytes generated + :rtype: xo_ssize_t + + The `xo_flush_h` function follows the conventions of `xo_flush`, + but adds an explicit libxo handle. + +.. index:: xo_finish +.. index:: xo_finish_atexit +.. index:: atexit + +Finishing Output (xo_finish) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +When the program is ready to exit or close a handle, a call to +`xo_finish` or `xo_finish_h` is required. This flushes any buffered +data, closes open libxo constructs, and completes any pending +operations. + +Calling this function is vital to the proper operation of libxo, +especially for the non-TEXT output styles. + +.. c:function:: xo_ssize_t xo_finish (void) + + :returns: -1 on error, or the number of bytes flushed + :rtype: xo_ssize_t + +.. c:function:: xo_ssize_t xo_finish_h (xo_handle_t *xop) + + :param xop: Handle for finish (or NULL for default handle) + :type xop: xo_handle_t \* + :returns: -1 on error, or the number of bytes flushed + :rtype: xo_ssize_t + +.. c:function:: void xo_finish_atexit (void) + + The `xo_finish_atexit` function is suitable for use with + :manpage:`atexit(3)` to ensure that `xo_finish` is called + on the default handle when the application exits. + +.. index:: UTF-8 +.. index:: xo_open_container +.. index:: xo_close_container + +Emitting Hierarchy +------------------ + +libxo represents two types of hierarchy: containers and lists. A +container appears once under a given parent where a list consists of +instances that can appear multiple times. A container is used to hold +related fields and to give the data organization and scope. + +.. index:: YANG + +.. admonition:: YANG Terminology + + libxo uses terminology from YANG (:RFC:`7950`), the data modeling + language for NETCONF: container, list, leaf, and leaf-list. + +For XML and JSON, individual fields appear inside hierarchies which +provide context and meaning to the fields. Unfortunately, these +encoding have a basic disconnect between how lists is similar objects +are represented. + +XML encodes lists as set of sequential elements:: + + phil + pallavi + sjg + +JSON encodes lists using a single name and square brackets:: + + "user": [ "phil", "pallavi", "sjg" ] + +This means libxo needs three distinct indications of hierarchy: one +for containers of hierarchy appear only once for any specific parent, +one for lists, and one for each item in a list. + +.. index:: Containers + +Containers +~~~~~~~~~~ + +A "*container*" is an element of a hierarchy that appears only once +under any specific parent. The container has no value, but serves to +contain and organize other nodes. + +To open a container, call xo_open_container() or +xo_open_container_h(). The former uses the default handle and the +latter accepts a specific handle. To close a level, use the +xo_close_container() or xo_close_container_h() functions. + +Each open call must have a matching close call. If the XOF_WARN flag +is set and the name given does not match the name of the currently open +container, a warning will be generated. + +.. c:function:: xo_ssize_t xo_open_container (const char *name) + + :param name: Name of the container + :type name: const char * + :returns: -1 on error, or the number of bytes generated + :rtype: xo_ssize_t + + The `name` parameter gives the name of the container, encoded in + UTF-8. Since ASCII is a proper subset of UTF-8, traditional C + strings can be used directly. + +.. c:function:: xo_ssize_t xo_open_container_h (xo_handle_t *xop, const char *name) + + :param xop: Handle to use (or NULL for default handle) + :type xop: xo_handle_t * + + The `xo_open_container_h` function adds a `handle` parameter. + +.. c:function:: xo_ssize_t xo_close_container (const char *name) + + :param name: Name of the container + :type name: const char * + :returns: -1 on error, or the number of bytes generated + :rtype: xo_ssize_t + +.. c:function:: xo_ssize_t xo_close_container_h (xo_handle_t *xop, const char *name) + + :param xop: Handle to use (or NULL for default handle) + :type xop: xo_handle_t * + + The `xo_close_container_h` function adds a `handle` parameter. + +Use the :index:`XOF_WARN` flag to generate a warning if the name given +on the close does not match the current open container. + +For TEXT and HTML output, containers are not rendered into output +text, though for HTML they are used to record an XPath value when the +:index:`XOF_XPATH` flag is set. + +:: + + EXAMPLE: + xo_open_container("top"); + xo_open_container("system"); + xo_emit("{:host-name/%s%s%s}", hostname, + domainname ? "." : "", domainname ?: ""); + xo_close_container("system"); + xo_close_container("top"); + TEXT: + my-host.example.org + XML: + + + my-host.example.org + + + JSON: + "top" : { + "system" : { + "host-name": "my-host.example.org" + } + } + HTML: +
my-host.example.org
+ +.. index:: xo_open_instance +.. index:: xo_close_instance +.. index:: xo_open_list +.. index:: xo_close_list + +Lists and Instances +~~~~~~~~~~~~~~~~~~~ + +A "*list*" is set of one or more instances that appear under the same +parent. The instances contain details about a specific object. One +can think of instances as objects or records. A call is needed to +open and close the list, while a distinct call is needed to open and +close each instance of the list. + +The name given to all calls must be identical, and it is strongly +suggested that the name be singular, not plural, as a matter of +style and usage expectations:: + + EXAMPLE: + xo_open_list("item"); + + for (ip = list; ip->i_title; ip++) { + xo_open_instance("item"); + xo_emit("{L:Item} '{:name/%s}':\n", ip->i_title); + xo_close_instance("item"); + } + + xo_close_list("item"); + +Getting the list and instance calls correct is critical to the proper +generation of XML and JSON data. + +Opening Lists ++++++++++++++ + +.. c:function:: xo_ssize_t xo_open_list (const char *name) + + :param name: Name of the list + :type name: const char * + :returns: -1 on error, or the number of bytes generated + :rtype: xo_ssize_t + + The `xo_open_list` function open a list of instances. + +.. c:function:: xo_ssize_t xo_open_list_h (xo_handle_t *xop, const char *name) + + :param xop: Handle to use (or NULL for default handle) + :type xop: xo_handle_t * + +Closing Lists ++++++++++++++ + +.. c:function:: xo_ssize_t xo_close_list (const char *name) + + :param name: Name of the list + :type name: const char * + :returns: -1 on error, or the number of bytes generated + :rtype: xo_ssize_t + + The `xo_close_list` function closes a list of instances. + +.. c:function:: xo_ssize_t xo_close_list_h (xo_handle_t *xop, const char *name) + + :param xop: Handle to use (or NULL for default handle) + :type xop: xo_handle_t * + + The `xo_close_container_h` function adds a `handle` parameter. + +Opening Instances ++++++++++++++++++ + +.. c:function:: xo_ssize_t xo_open_instance (const char *name) + + :param name: Name of the instance (same as the list name) + :type name: const char * + :returns: -1 on error, or the number of bytes generated + :rtype: xo_ssize_t + + The `xo_open_instance` function open a single instance. + +.. c:function:: xo_ssize_t xo_open_instance_h (xo_handle_t *xop, const char *name) + + :param xop: Handle to use (or NULL for default handle) + :type xop: xo_handle_t * + + The `xo_open_instance_h` function adds a `handle` parameter. + +Closing Instances ++++++++++++++++++ + +.. c:function:: xo_ssize_t xo_close_instance (const char *name) + + :param name: Name of the instance + :type name: const char * + :returns: -1 on error, or the number of bytes generated + :rtype: xo_ssize_t + + The `xo_close_instance` function closes an open instance. + +.. c:function:: xo_ssize_t xo_close_instance_h (xo_handle_t *xop, const char *name) + + :param xop: Handle to use (or NULL for default handle) + :type xop: xo_handle_t * + + The `xo_close_instance_h` function adds a `handle` parameter. + + :: + + EXAMPLE: + xo_open_list("user"); + for (i = 0; i < num_users; i++) { + xo_open_instance("user"); + xo_emit("{k:name}:{:uid/%u}:{:gid/%u}:{:home}\n", + pw[i].pw_name, pw[i].pw_uid, + pw[i].pw_gid, pw[i].pw_dir); + xo_close_instance("user"); + } + xo_close_list("user"); + TEXT: + phil:1001:1001:/home/phil + pallavi:1002:1002:/home/pallavi + XML: + + phil + 1001 + 1001 + /home/phil + + + pallavi + 1002 + 1002 + /home/pallavi + + JSON: + user: [ + { + "name": "phil", + "uid": 1001, + "gid": 1001, + "home": "/home/phil", + }, + { + "name": "pallavi", + "uid": 1002, + "gid": 1002, + "home": "/home/pallavi", + } + ] + +Markers +~~~~~~~ + +Markers are used to protect and restore the state of open hierarchy +constructs (containers, lists, or instances). While a marker is open, +no other open constructs can be closed. When a marker is closed, all +constructs open since the marker was opened will be closed. + +Markers use names which are not user-visible, allowing the caller to +choose appropriate internal names. + +In this example, the code whiffles through a list of fish, calling a +function to emit details about each fish. The marker "fish-guts" is +used to ensure that any constructs opened by the function are closed +properly:: + + EXAMPLE: + for (i = 0; fish[i]; i++) { + xo_open_instance("fish"); + xo_open_marker("fish-guts"); + dump_fish_details(i); + xo_close_marker("fish-guts"); + } + +.. c:function:: xo_ssize_t xo_open_marker(const char *name) + + :param name: Name of the instance + :type name: const char * + :returns: -1 on error, or the number of bytes generated + :rtype: xo_ssize_t + + The `xo_open_marker` function records the current state of open tags + in order for `xo_close_marker` to close them at some later point. + +.. c:function:: xo_ssize_t xo_open_marker_h(const char *name) + + :param xop: Handle to use (or NULL for default handle) + :type xop: xo_handle_t * + + The `xo_open_marker_h` function adds a `handle` parameter. + +.. c:function:: xo_ssize_t xo_close_marker(const char *name) + + :param name: Name of the instance + :type name: const char * + :returns: -1 on error, or the number of bytes generated + :rtype: xo_ssize_t + + The `xo_close_marker` function closes any open containers, lists, or + instances as needed to return to the state recorded when + `xo_open_marker` was called with the matching name. + +.. c:function:: xo_ssize_t xo_close_marker(const char *name) + + :param xop: Handle to use (or NULL for default handle) + :type xop: xo_handle_t * + + The `xo_close_marker_h` function adds a `handle` parameter. + +DTRT Mode +~~~~~~~~~ + +Some users may find tracking the names of open containers, lists, and +instances inconvenient. libxo offers a "Do The Right Thing" mode, where +libxo will track the names of open containers, lists, and instances so +the close function can be called without a name. To enable DTRT mode, +turn on the XOF_DTRT flag prior to making any other libxo output:: + + xo_set_flags(NULL, XOF_DTRT); + +.. index:: XOF_DTRT + +Each open and close function has a version with the suffix "_d", which +will close the open container, list, or instance:: + + xo_open_container_d("top"); + ... + xo_close_container_d(); + +This also works for lists and instances:: + + xo_open_list_d("item"); + for (...) { + xo_open_instance_d("item"); + xo_emit(...); + xo_close_instance_d(); + } + xo_close_list_d(); + +.. index:: XOF_WARN + +Note that the XOF_WARN flag will also cause libxo to track open +containers, lists, and instances. A warning is generated when the +name given to the close function and the name recorded do not match. + +Support Functions +----------------- + +.. index:: xo_parse_args +.. _xo_parse_args: + *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-stable-11@freebsd.org Fri Jun 1 00:28:30 2018 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 32A00FDC49F; Fri, 1 Jun 2018 00:28:30 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id D6B3569461; Fri, 1 Jun 2018 00:28:29 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id B1EF12177D; Fri, 1 Jun 2018 00:28:29 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w510STdV025992; Fri, 1 Jun 2018 00:28:29 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w510STX7025989; Fri, 1 Jun 2018 00:28:29 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <201806010028.w510STX7025989@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Fri, 1 Jun 2018 00:28:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r334460 - in stable/11/sys: conf sys X-SVN-Group: stable-11 X-SVN-Commit-Author: gjb X-SVN-Commit-Paths: in stable/11/sys: conf sys X-SVN-Commit-Revision: 334460 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 01 Jun 2018 00:28:30 -0000 Author: gjb Date: Fri Jun 1 00:28:29 2018 New Revision: 334460 URL: https://svnweb.freebsd.org/changeset/base/334460 Log: Rename stable/11 back to -PRERELEASE for the duration of the 11.2-RELEASE cycle, now that releng/11.2 had branched. Bump __FreeBSD_version. Approved by: re (implicit) Sponsored by: The FreeBSD Foundation Modified: stable/11/sys/conf/newvers.sh stable/11/sys/sys/param.h Modified: stable/11/sys/conf/newvers.sh ============================================================================== --- stable/11/sys/conf/newvers.sh Fri Jun 1 00:22:49 2018 (r334459) +++ stable/11/sys/conf/newvers.sh Fri Jun 1 00:28:29 2018 (r334460) @@ -44,7 +44,7 @@ TYPE="FreeBSD" REVISION="11.2" -BRANCH="BETA3" +BRANCH="PRERELEASE" if [ -n "${BRANCH_OVERRIDE}" ]; then BRANCH=${BRANCH_OVERRIDE} fi Modified: stable/11/sys/sys/param.h ============================================================================== --- stable/11/sys/sys/param.h Fri Jun 1 00:22:49 2018 (r334459) +++ stable/11/sys/sys/param.h Fri Jun 1 00:28:29 2018 (r334460) @@ -58,7 +58,7 @@ * in the range 5 to 9. */ #undef __FreeBSD_version -#define __FreeBSD_version 1101516 /* Master, propagated to newvers */ +#define __FreeBSD_version 1102000 /* Master, propagated to newvers */ /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From owner-svn-src-stable-11@freebsd.org Fri Jun 1 00:30:59 2018 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9E70BFDCBAE; Fri, 1 Jun 2018 00:30:59 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4CC586981D; Fri, 1 Jun 2018 00:30:58 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 6FEF5217A3; Fri, 1 Jun 2018 00:30:56 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w510Uu1M028458; Fri, 1 Jun 2018 00:30:56 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w510Uubm028457; Fri, 1 Jun 2018 00:30:56 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <201806010030.w510Uubm028457@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Fri, 1 Jun 2018 00:30:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r334461 - stable/11/sys/sys X-SVN-Group: stable-11 X-SVN-Commit-Author: gjb X-SVN-Commit-Paths: stable/11/sys/sys X-SVN-Commit-Revision: 334461 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 01 Jun 2018 00:30:59 -0000 Author: gjb Date: Fri Jun 1 00:30:55 2018 New Revision: 334461 URL: https://svnweb.freebsd.org/changeset/base/334461 Log: Fix __FreeBSD_version on stable/11, following r334460. Pointyhat: gjb (myself) Approved by: re (implicit) Sponsored by: The FreeBSD Foundation Modified: stable/11/sys/sys/param.h Modified: stable/11/sys/sys/param.h ============================================================================== --- stable/11/sys/sys/param.h Fri Jun 1 00:28:29 2018 (r334460) +++ stable/11/sys/sys/param.h Fri Jun 1 00:30:55 2018 (r334461) @@ -58,7 +58,7 @@ * in the range 5 to 9. */ #undef __FreeBSD_version -#define __FreeBSD_version 1102000 /* Master, propagated to newvers */ +#define __FreeBSD_version 1102500 /* Master, propagated to newvers */ /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From owner-svn-src-stable-11@freebsd.org Sat Jun 2 01:14:52 2018 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 59924F7A9A0 for ; Sat, 2 Jun 2018 01:14:52 +0000 (UTC) (envelope-from junchoon@dec.sakura.ne.jp) Received: from dec.sakura.ne.jp (dec.sakura.ne.jp [210.188.226.8]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id AF22681691; Sat, 2 Jun 2018 01:14:51 +0000 (UTC) (envelope-from junchoon@dec.sakura.ne.jp) Received: from fortune.joker.local (124-18-70-98.dz.commufa.jp [124.18.70.98]) (authenticated bits=0) by dec.sakura.ne.jp (8.15.2/8.15.2/[SAKURA-WEB]/20080708) with ESMTPA id w521El0m029014; Sat, 2 Jun 2018 10:14:48 +0900 (JST) (envelope-from junchoon@dec.sakura.ne.jp) Date: Sat, 2 Jun 2018 10:14:46 +0900 From: Tomoaki AOKI To: svn-src-stable-11@freebsd.org Cc: gjb@FreeBSD.org Subject: Re: svn commit: r334461 - stable/11/sys/sys Message-Id: <20180602101446.972c5a0f26dc43bb7e334382@dec.sakura.ne.jp> Reply-To: junchoon@dec.sakura.ne.jp Organization: Junchoon corps X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.32; amd64-portbld-freebsd11.1) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 02 Jun 2018 01:14:52 -0000 Hi. Shouldn't /etc/pkg/FreeBSD.conf change by r333474 reverted? As releng/11.2 is already branched (and further BETAs and RCs would be built there) at r334459, there's no reason to stick to quarterly for stable/12. Or is it intentionally kept to ease ports-related problem until 11.2 is released? Or to reduce pkg building? Regards. > Author: gjb > Date: Fri Jun 1 00:30:55 2018 > New Revision: 334461 > URL: https://svnweb.freebsd.org/changeset/base/334461 > > Log: > Fix __FreeBSD_version on stable/11, following r334460. > > Pointyhat: gjb (myself) > Approved by: re (implicit) > Sponsored by: The FreeBSD Foundation > > Modified: > stable/11/sys/sys/param.h > > Modified: stable/11/sys/sys/param.h > ============================================================================== > --- stable/11/sys/sys/param.h Fri Jun 1 00:28:29 2018 (r334460) > +++ stable/11/sys/sys/param.h Fri Jun 1 00:30:55 2018 (r334461) > @@ -58,7 +58,7 @@ > * in the range 5 to 9. > */ > #undef __FreeBSD_version > -#define __FreeBSD_version 1102000 /* Master, propagated to newvers */ > +#define __FreeBSD_version 1102500 /* Master, propagated to newvers */ > > /* > * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, -- Tomoaki AOKI From owner-svn-src-stable-11@freebsd.org Sat Jun 2 01:23:25 2018 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D3678F7BA65 for ; Sat, 2 Jun 2018 01:23:25 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2610:1c1:1:6074::16:84]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "freefall.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 7996881D96; Sat, 2 Jun 2018 01:23:25 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from FreeBSD.org (freefall.freebsd.org [IPv6:2610:1c1:1:6074::16:84]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by freefall.freebsd.org (Postfix) with ESMTPS id 1B3031AFFA; Sat, 2 Jun 2018 01:23:25 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Date: Sat, 2 Jun 2018 01:23:22 +0000 From: Glen Barber To: Tomoaki AOKI Cc: svn-src-stable-11@freebsd.org Subject: Re: svn commit: r334461 - stable/11/sys/sys Message-ID: <20180602012322.GF1799@FreeBSD.org> References: <20180602101446.972c5a0f26dc43bb7e334382@dec.sakura.ne.jp> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="tMbDGjvJuJijemkf" Content-Disposition: inline In-Reply-To: <20180602101446.972c5a0f26dc43bb7e334382@dec.sakura.ne.jp> User-Agent: Mutt/1.9.1 (2017-09-22) X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 02 Jun 2018 01:23:26 -0000 --tMbDGjvJuJijemkf Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sat, Jun 02, 2018 at 10:14:46AM +0900, Tomoaki AOKI wrote: > Hi. >=20 > Shouldn't /etc/pkg/FreeBSD.conf change by r333474 reverted? >=20 > As releng/11.2 is already branched (and further BETAs and RCs > would be built there) at r334459, there's no reason to stick to > quarterly for stable/12. >=20 > Or is it intentionally kept to ease ports-related problem until 11.2 is > released? Or to reduce pkg building? >=20 Once stable/11 is thawed, it will be reverted back to 'latest'. Glen --tMbDGjvJuJijemkf Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEjRJAPC5sqwhs9k2jAxRYpUeP4pMFAlsR8YoACgkQAxRYpUeP 4pMh4g/9EAqVNTZGA/SFT9G4eYW1qmZc+/0dUeKU/hWUKexArj/xdaJUyVonVw8B 4ZSneGjEi8L4BxKyx3Eio3PL90eq59x3oU/NOuFcZeGzlftwXxHbu9HeNtpaz9Yp 441kPDFTcH8UfOV0axYQjVWgkxfiiAifVA9f88qDsis6R5r0H+mrFqicIsAiaaS5 i57/VbtwaebnfmJunBYX2XB1NtPD//j7BcXBWK2K9VoFrFX86M/dihoH014O58AH V8x+Zh91kJSwbEeiXtxCSbQwucyOZn91UtnJc8M/t13BX07Uvw4yTnQ64cwuG6Eb Mf9up41l+wd9WHztDQ2YRgbHJa7p4uKLUI3MBxsC+JC3XOfpHlgpIJkLcjJTDydO BTHpZYmGPsBj57R5hArdhuw4alaHmXM4p7F+XOOS0NhzgQe37Mo8VRDVvrAcjnOL gD3/O6tsNcqNXcpeKYDsoj3taZCUe62aNZviBX8ZXCICXWXaXrkoHfUl7fQ13mQa kiCKW+WSA/A/Kst6zbDjlw+shL/c0o9EOy6C5ukPqqJjQZXcG6a/vhBa6qoWO0SI GmOcuPDeUVrpTQqkpQs/HePYu88sU4APqFMr2YgCtMqXJ8SpbjNnvmgxJ9nqzdWb yeSPTCVzsoo8s+j7/c5Tau2YEMRdUpqn0RNdJrxMEiA2ephpgVk= =WeaN -----END PGP SIGNATURE----- --tMbDGjvJuJijemkf-- From owner-svn-src-stable-11@freebsd.org Sat Jun 2 01:57:43 2018 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9533AFC80D2 for ; Sat, 2 Jun 2018 01:57:43 +0000 (UTC) (envelope-from junchoon@dec.sakura.ne.jp) Received: from dec.sakura.ne.jp (dec.sakura.ne.jp [210.188.226.8]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id EA570838EA; Sat, 2 Jun 2018 01:57:42 +0000 (UTC) (envelope-from junchoon@dec.sakura.ne.jp) Received: from fortune.joker.local (124-18-70-98.dz.commufa.jp [124.18.70.98]) (authenticated bits=0) by dec.sakura.ne.jp (8.15.2/8.15.2/[SAKURA-WEB]/20080708) with ESMTPA id w521vd3g029689; Sat, 2 Jun 2018 10:57:40 +0900 (JST) (envelope-from junchoon@dec.sakura.ne.jp) Date: Sat, 2 Jun 2018 10:57:39 +0900 From: Tomoaki AOKI To: svn-src-stable-11@freebsd.org Cc: Glen Barber Subject: Re: svn commit: r334461 - stable/11/sys/sys Message-Id: <20180602105739.8427d91bf7a668c2a9d1562d@dec.sakura.ne.jp> In-Reply-To: <20180602012322.GF1799@FreeBSD.org> References: <20180602101446.972c5a0f26dc43bb7e334382@dec.sakura.ne.jp> <20180602012322.GF1799@FreeBSD.org> Reply-To: junchoon@dec.sakura.ne.jp Organization: Junchoon corps X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.32; amd64-portbld-freebsd11.1) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 02 Jun 2018 01:57:43 -0000 Thanks for reply! Understood. Jun.3 earliest, according to schedule. :-) On Sat, 2 Jun 2018 01:23:22 +0000 Glen Barber wrote: > On Sat, Jun 02, 2018 at 10:14:46AM +0900, Tomoaki AOKI wrote: > > Hi. > > > > Shouldn't /etc/pkg/FreeBSD.conf change by r333474 reverted? > > > > As releng/11.2 is already branched (and further BETAs and RCs > > would be built there) at r334459, there's no reason to stick to > > quarterly for stable/12. Oh... Typo. stable/11. :-( > > > > Or is it intentionally kept to ease ports-related problem until 11.2 is > > released? Or to reduce pkg building? > > > > Once stable/11 is thawed, it will be reverted back to 'latest'. > > Glen > -- Tomoaki AOKI From owner-svn-src-stable-11@freebsd.org Sat Jun 2 02:06:49 2018 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 15C7AFC9D1D; Sat, 2 Jun 2018 02:06:49 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id BBDE1842DB; Sat, 2 Jun 2018 02:06:48 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 9D06F1214; Sat, 2 Jun 2018 02:06:48 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w5226mHv008191; Sat, 2 Jun 2018 02:06:48 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w5226m2L008190; Sat, 2 Jun 2018 02:06:48 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <201806020206.w5226m2L008190@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Sat, 2 Jun 2018 02:06:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r334513 - stable/11/etc/pkg X-SVN-Group: stable-11 X-SVN-Commit-Author: gjb X-SVN-Commit-Paths: stable/11/etc/pkg X-SVN-Commit-Revision: 334513 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 02 Jun 2018 02:06:49 -0000 Author: gjb Date: Sat Jun 2 02:06:48 2018 New Revision: 334513 URL: https://svnweb.freebsd.org/changeset/base/334513 Log: Revert r333474 in stable/11, which switches the default pkg repository from latest to quarterly, now that releng/11.2 had branched. Approved by: re (implicit) Sponsored by: The FreeBSD Foundation Modified: stable/11/etc/pkg/FreeBSD.conf Modified: stable/11/etc/pkg/FreeBSD.conf ============================================================================== --- stable/11/etc/pkg/FreeBSD.conf Sat Jun 2 02:05:31 2018 (r334512) +++ stable/11/etc/pkg/FreeBSD.conf Sat Jun 2 02:06:48 2018 (r334513) @@ -8,7 +8,7 @@ # FreeBSD: { - url: "pkg+http://pkg.FreeBSD.org/${ABI}/quarterly", + url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest", mirror_type: "srv", signature_type: "fingerprints", fingerprints: "/usr/share/keys/pkg", From owner-svn-src-stable-11@freebsd.org Sat Jun 2 02:07:15 2018 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B8BDEFC9D86 for ; Sat, 2 Jun 2018 02:07:15 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2610:1c1:1:6074::16:84]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "freefall.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 5BD19843B9; Sat, 2 Jun 2018 02:07:15 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from FreeBSD.org (freefall.freebsd.org [IPv6:2610:1c1:1:6074::16:84]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by freefall.freebsd.org (Postfix) with ESMTPS id 1D7F21BFB1; Sat, 2 Jun 2018 02:07:15 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Date: Sat, 2 Jun 2018 02:07:13 +0000 From: Glen Barber To: Tomoaki AOKI Cc: svn-src-stable-11@freebsd.org Subject: Re: svn commit: r334461 - stable/11/sys/sys Message-ID: <20180602020713.GB24693@FreeBSD.org> References: <20180602101446.972c5a0f26dc43bb7e334382@dec.sakura.ne.jp> <20180602012322.GF1799@FreeBSD.org> <20180602105739.8427d91bf7a668c2a9d1562d@dec.sakura.ne.jp> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="vtzGhvizbBRQ85DL" Content-Disposition: inline In-Reply-To: <20180602105739.8427d91bf7a668c2a9d1562d@dec.sakura.ne.jp> User-Agent: Mutt/1.9.1 (2017-09-22) X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 02 Jun 2018 02:07:15 -0000 --vtzGhvizbBRQ85DL Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sat, Jun 02, 2018 at 10:57:39AM +0900, Tomoaki AOKI wrote: > Thanks for reply! > Understood. Jun.3 earliest, according to schedule. :-) >=20 Done in r334513. Glen > On Sat, 2 Jun 2018 01:23:22 +0000 > Glen Barber wrote: >=20 > > On Sat, Jun 02, 2018 at 10:14:46AM +0900, Tomoaki AOKI wrote: > > > Hi. > > >=20 > > > Shouldn't /etc/pkg/FreeBSD.conf change by r333474 reverted? > > >=20 > > > As releng/11.2 is already branched (and further BETAs and RCs > > > would be built there) at r334459, there's no reason to stick to > > > quarterly for stable/12. >=20 > Oh... Typo. stable/11. :-( >=20 > > >=20 > > > Or is it intentionally kept to ease ports-related problem until 11.2 = is > > > released? Or to reduce pkg building? > > >=20 > >=20 > > Once stable/11 is thawed, it will be reverted back to 'latest'. > >=20 > > Glen > >=20 >=20 >=20 > --=20 > Tomoaki AOKI >=20 --vtzGhvizbBRQ85DL Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEjRJAPC5sqwhs9k2jAxRYpUeP4pMFAlsR+9EACgkQAxRYpUeP 4pN9ZA//Tnd4M53u7+l0CGA/5sB3j+hLYbGtW0ijlIzYySjqBA5cQFYmf+4OaLd8 dPGqHHEzcDraNfbpa+b/wqFizlvguHqEYrALtm+6hnxSZKXSpYzPMUYRA33u1wNy G2NZquR49m08aqVmwHL8cgftq5Lxi6Gd/SdhKmwZ1n2cNd0KyHss+TUV3rMS2AeV hjZ2boR12YD4e8NAHbJlEifqnFybfaX9Cq8PoWSuaN9RRDfM3hEV8JPK/lIXKdGW npFHWZ6COQIZp8+ZzOmAzCfVkPdL5lJRZA0MfRZ9lBQS+d8aMpQkFkojtZXCAPz+ 55AkN6rLXTqeQF9F8+3fMDOTC3Cvxb2VNILoxi1qf4AuuvalPHLCummX4k+r70k+ 9JVZcyRP2q/UvdqYdN8kIJ+QPp7ZZdXL8G2fCRB6y35lVxJm/xR5CxvBayLS1G/8 3+l6wpV9hLAyiTPbKYqKCwp3B6gUYI7RqJAGFN6zc9f7UzqHTOy/wR5XbY4mI5Ih Q+xLSE7F6UlwSjG0F+YVXjPiFiPbIXiCAAfna6yVZ839+BpIS8q81U2EqlYree/f DpbcD/IOzkzz35nsk4Xf+X3Ax2IlLnI+vTD2USIFdYHsNFl7Gnjx3PVTdlHsza3C XtgJ3R/KN2E73/qsfSVNyV7HgVi6slIkFjQ584FRmC/iVCgU0/U= =HuCs -----END PGP SIGNATURE----- --vtzGhvizbBRQ85DL-- From owner-svn-src-stable-11@freebsd.org Sat Jun 2 04:05:35 2018 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B365CEF9047 for ; Sat, 2 Jun 2018 04:05:35 +0000 (UTC) (envelope-from junchoon@dec.sakura.ne.jp) Received: from dec.sakura.ne.jp (dec.sakura.ne.jp [210.188.226.8]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 186F66971A; Sat, 2 Jun 2018 04:05:34 +0000 (UTC) (envelope-from junchoon@dec.sakura.ne.jp) Received: from fortune.joker.local (124-18-70-98.dz.commufa.jp [124.18.70.98]) (authenticated bits=0) by dec.sakura.ne.jp (8.15.2/8.15.2/[SAKURA-WEB]/20080708) with ESMTPA id w5245UoZ031934; Sat, 2 Jun 2018 13:05:31 +0900 (JST) (envelope-from junchoon@dec.sakura.ne.jp) Date: Sat, 2 Jun 2018 13:05:30 +0900 From: Tomoaki AOKI To: svn-src-stable-11@freebsd.org Cc: Glen Barber Subject: Re: svn commit: r334461 - stable/11/sys/sys Message-Id: <20180602130530.e120392a63fc22e31fd41490@dec.sakura.ne.jp> In-Reply-To: <20180602020713.GB24693@FreeBSD.org> References: <20180602101446.972c5a0f26dc43bb7e334382@dec.sakura.ne.jp> <20180602012322.GF1799@FreeBSD.org> <20180602105739.8427d91bf7a668c2a9d1562d@dec.sakura.ne.jp> <20180602020713.GB24693@FreeBSD.org> Reply-To: junchoon@dec.sakura.ne.jp Organization: Junchoon corps X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.32; amd64-portbld-freebsd11.1) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 02 Jun 2018 04:05:35 -0000 Thanks! On Sat, 2 Jun 2018 02:07:13 +0000 Glen Barber wrote: > On Sat, Jun 02, 2018 at 10:57:39AM +0900, Tomoaki AOKI wrote: > > Thanks for reply! > > Understood. Jun.3 earliest, according to schedule. :-) > > > > Done in r334513. > > Glen > > > On Sat, 2 Jun 2018 01:23:22 +0000 > > Glen Barber wrote: > > > > > On Sat, Jun 02, 2018 at 10:14:46AM +0900, Tomoaki AOKI wrote: > > > > Hi. > > > > > > > > Shouldn't /etc/pkg/FreeBSD.conf change by r333474 reverted? > > > > > > > > As releng/11.2 is already branched (and further BETAs and RCs > > > > would be built there) at r334459, there's no reason to stick to > > > > quarterly for stable/12. > > > > Oh... Typo. stable/11. :-( > > > > > > > > > > Or is it intentionally kept to ease ports-related problem until 11.2 is > > > > released? Or to reduce pkg building? > > > > > > > > > > Once stable/11 is thawed, it will be reverted back to 'latest'. > > > > > > Glen > > > > > > > > > -- > > Tomoaki AOKI > > -- Tomoaki AOKI From owner-svn-src-stable-11@freebsd.org Sat Jun 2 21:46:49 2018 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 867AFFEBE35; Sat, 2 Jun 2018 21:46:49 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 381F77A388; Sat, 2 Jun 2018 21:46:49 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 1601A15798; Sat, 2 Jun 2018 21:46:49 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w52Lkmgw010781; Sat, 2 Jun 2018 21:46:48 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w52Lkmcn010780; Sat, 2 Jun 2018 21:46:48 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201806022146.w52Lkmcn010780@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Sat, 2 Jun 2018 21:46:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r334541 - stable/11/tests/sys/acl X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/tests/sys/acl X-SVN-Commit-Revision: 334541 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 02 Jun 2018 21:46:49 -0000 Author: eadler Date: Sat Jun 2 21:46:48 2018 New Revision: 334541 URL: https://svnweb.freebsd.org/changeset/base/334541 Log: MFC r332399: [tests] change tests/sys/acl/run to run on perl 5.26 Previously unescaped regex just resulted in a warning. Now it results in a failed test. Approved by: re (marius) PR: 228491 Modified: stable/11/tests/sys/acl/run Modified: stable/11/tests/sys/acl/run ============================================================================== --- stable/11/tests/sys/acl/run Sat Jun 2 21:40:45 2018 (r334540) +++ stable/11/tests/sys/acl/run Sat Jun 2 21:46:48 2018 (r334541) @@ -70,7 +70,7 @@ for (;;) { if (defined $line) { # Substitute %VAR and %{VAR} with environment variables. $line =~ s[%(\w+)][$ENV{$1}]eg; - $line =~ s[%{(\w+)}][$ENV{$1}]eg; + $line =~ s[%\{(\w+)\}][$ENV{$1}]eg; } if (defined $line) { if ($line =~ s/^\s*< ?//) { From owner-svn-src-stable-11@freebsd.org Sat Jun 2 21:50:01 2018 Return-Path: Delivered-To: svn-src-stable-11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E8BC0FEC352; Sat, 2 Jun 2018 21:50:00 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 9E0E07A5DD; Sat, 2 Jun 2018 21:50:00 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 809DE1579F; Sat, 2 Jun 2018 21:50:00 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w52Lo0tj010978; Sat, 2 Jun 2018 21:50:00 GMT (envelope-from eadler@FreeBSD.org) Received: (from eadler@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w52Lo0MR010977; Sat, 2 Jun 2018 21:50:00 GMT (envelope-from eadler@FreeBSD.org) Message-Id: <201806022150.w52Lo0MR010977@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eadler set sender to eadler@FreeBSD.org using -f From: Eitan Adler Date: Sat, 2 Jun 2018 21:50:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r334542 - stable/11/usr.bin/indent/tests X-SVN-Group: stable-11 X-SVN-Commit-Author: eadler X-SVN-Commit-Paths: stable/11/usr.bin/indent/tests X-SVN-Commit-Revision: 334542 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-11@freebsd.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: SVN commit messages for only the 11-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 02 Jun 2018 21:50:01 -0000 Author: eadler Date: Sat Jun 2 21:50:00 2018 New Revision: 334542 URL: https://svnweb.freebsd.org/changeset/base/334542 Log: indent(1) in stable/11 is known to be incomplete or incorrect in some ways. Since the code is not planned for MFC, just remove the failing tests. This is a direct commit to stable/11 as the issue does not affect -current. Discussed with; pstef PR: 228491 Deleted: stable/11/usr.bin/indent/tests/elsecomment.0 stable/11/usr.bin/indent/tests/elsecomment.0.pro stable/11/usr.bin/indent/tests/elsecomment.0.stdout stable/11/usr.bin/indent/tests/list_head.0 stable/11/usr.bin/indent/tests/list_head.0.stdout stable/11/usr.bin/indent/tests/sac.0 stable/11/usr.bin/indent/tests/sac.0.pro stable/11/usr.bin/indent/tests/sac.0.stdout stable/11/usr.bin/indent/tests/types_from_file.0 stable/11/usr.bin/indent/tests/types_from_file.0.list stable/11/usr.bin/indent/tests/types_from_file.0.pro stable/11/usr.bin/indent/tests/types_from_file.0.stdout Modified: stable/11/usr.bin/indent/tests/Makefile Directory Properties: stable/11/ (props changed) Modified: stable/11/usr.bin/indent/tests/Makefile ============================================================================== --- stable/11/usr.bin/indent/tests/Makefile Sat Jun 2 21:46:48 2018 (r334541) +++ stable/11/usr.bin/indent/tests/Makefile Sat Jun 2 21:50:00 2018 (r334542) @@ -8,33 +8,18 @@ ${PACKAGE}FILES+= comments.0 ${PACKAGE}FILES+= comments.0.stdout ${PACKAGE}FILES+= declarations.0 ${PACKAGE}FILES+= declarations.0.stdout -${PACKAGE}FILES+= elsecomment.0 -${PACKAGE}FILES+= elsecomment.0.stdout -${PACKAGE}FILES+= elsecomment.0.pro ${PACKAGE}FILES+= float.0 ${PACKAGE}FILES+= float.0.stdout -${PACKAGE}FILES+= label.0 -${PACKAGE}FILES+= label.0.stdout -${PACKAGE}FILES+= label.0.pro -${PACKAGE}FILES+= list_head.0 -${PACKAGE}FILES+= list_head.0.stdout ${PACKAGE}FILES+= nsac.0 ${PACKAGE}FILES+= nsac.0.stdout ${PACKAGE}FILES+= nsac.0.pro ${PACKAGE}FILES+= offsetof.0 ${PACKAGE}FILES+= offsetof.0.stdout -${PACKAGE}FILES+= sac.0 -${PACKAGE}FILES+= sac.0.stdout -${PACKAGE}FILES+= sac.0.pro ${PACKAGE}FILES+= struct.0 ${PACKAGE}FILES+= struct.0.stdout ${PACKAGE}FILES+= surplusbad.0 ${PACKAGE}FILES+= surplusbad.0.stdout ${PACKAGE}FILES+= surplusbad.0.pro -${PACKAGE}FILES+= types_from_file.0 -${PACKAGE}FILES+= types_from_file.0.stdout -${PACKAGE}FILES+= types_from_file.0.list -${PACKAGE}FILES+= types_from_file.0.pro ${PACKAGE}FILES+= wchar.0 ${PACKAGE}FILES+= wchar.0.stdout