From owner-freebsd-stable@FreeBSD.ORG Wed Jul 18 17:04:58 2012 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5B9C5106566B for ; Wed, 18 Jul 2012 17:04:58 +0000 (UTC) (envelope-from trent@snakebite.org) Received: from exchange.liveoffice.com (exchla3.liveoffice.com [64.70.67.188]) by mx1.freebsd.org (Postfix) with ESMTP id 341278FC18 for ; Wed, 18 Jul 2012 17:04:58 +0000 (UTC) Received: from exhub13.exchhosting.com (192.168.11.122) by exhub06.exchhosting.com (192.168.11.102) with Microsoft SMTP Server (TLS) id 8.3.213.0; Wed, 18 Jul 2012 10:04:57 -0700 Received: from EXMBX10.exchhosting.com ([fe80::9c37:32f6:a508:a44f]) by exhub13.exchhosting.com ([::1]) with mapi; Wed, 18 Jul 2012 10:04:56 -0700 From: Trent Nelson To: Trent Nelson , Warren Block , Eitan Adler Date: Wed, 18 Jul 2012 10:04:54 -0700 Thread-Topic: The MFC process... Thread-Index: Ac1lB3RyyB06Gor/R1G0m7b7NMy8QA== Message-ID: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Microsoft-MacOutlook/14.2.3.120616 acceptlanguage: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Cc: Matthew Jacob , "freebsd-stable@freebsd.org" , David Magda Subject: Re: The MFC process... X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Jul 2012 17:04:58 -0000 On 7/18/12 9:38 AM, "Trent Nelson" wrote: >On 7/17/12 2:40 PM, "Warren Block" wrote: > >>On Tue, 17 Jul 2012, Eitan Adler wrote: >> >>> On 17 July 2012 10:10, Warren Block wrote: >> >>>> Unless there was no PR. Which brings up the question of how can we >>>>query >>>> for MFCs now? For example, how many MFCs are past due? What is the >>>>oldest >>>> one? >>> >>> svn mergeinfo --show-revs eligible >> >>But those are just commits that svn sees as eligible for a merge, not >>ones with an actual "MFC after" message. > >Those two concepts should be considered synonymous :-) > >>From a fitting-svn-best-practices-to-freebsd-development-style >perspective, this is what developers should be doing: > >1. If a change is eligible for MFC, obviously indicate that in the log >message as usual. So, no change from how development is done now. > >2. If a change is not eligible for MFC, or should never be merged back to >stable for whatever reason, it should be blocked in such a way that svn >will know never to suggest merging it. > >This would be done as follows: > >% cd /src/head >[make change] >% svn ci -m "..." >Committed revision r890101 >% cd /src/stable/9 >% svn st >[ should return nothing -- I.e. no local mods ] >% svn merge --record-only -c890101 https://svn.freebsd.org/base/head . >... >% svn ci -m "Blocking r890101." . > >If this approach is adopted by all developers -- `svn mergeinfo >--show-revs eligible` will always do exactly what you want: show revisions >eligible for MFC that have not yet been merged. > >You can run this command at any level, too. I did it at sys/dev/isp, >because that's all I cared about, but you can go as deep or as shallow >within the tree as you like. > >It would also be trivial to whip up a script that runs it at the top >level, then for each rev, filter it based on committer. That would >achieve Eitan's desired goal of "tell me all my outstanding head/ commits >I need to MFC". show_outstanding_mfcs() { # usage: show_outstanding_mfcs # e.g. show_outstanding_mfcs mm / # show_outstanding_mfcs mjacob /sys/dev/isp # note: specifying '/' for path is super expensive (on the server) # and slow (for you) -- try and refine it to a finer granularity. # Prints a '.' for each revision it finds if you're not the author, # just to let you know it's still chugging along. local _user _path _user=3D$1 _path=3D$2 local _repo _rev _head _stable _tmpfile _author _repo=3Dsvn://svn.freebsd.org/base _head=3D$_repo/head/$_path _stable=3D$_repo/stable/9/$_path _tmpfile=3D$(mktemp /tmp/$0.XXXXX || exit 1) for _rev in $(svn mergeinfo --show-revs eligible $_head $_stable); do svn log "-$_rev" "$_repo" > $_tmpfile _author=3D$(head -2 $_tmpfile | tail -1 | cut -f 2 -d '|' | sed 's/ //g') if [ "$_author" =3D "$_user" ]; then echo "" cat $_tmpfile else echo -n "." fi done echo "" rm -f $_tmpfile } Sample usage: % show_outstanding_mfcs mjacob /sys/dev/isp ------------------------------------------------------------------------ r227126 | mjacob | 2011-11-06 00:44:40 +0000 (Sun, 06 Nov 2011) | 4 lines Implement the sysctl's for fibre channel that are listed in the man page. MFC after: 3 days ------------------------------------------------------------------------ ------------------------------------------------------------------------ r227548 | mjacob | 2011-11-16 02:52:24 +0000 (Wed, 16 Nov 2011) | 5 lines Was chasing down a failure to load f/w on a 2400. It turns out that the card is actually broken, or needs a BIOS upgrade for 64 bit loads, but this uncovered a couple of misplaced opcode definitions and some missing continual mbox command cases, so might as well update them here. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r228914 | mjacob | 2011-12-27 14:59:24 +0000 (Tue, 27 Dec 2011) | 5 lines Fix target mode compilation issues that arose after a change in the sense data structures. MFC after: 1 week ------------------------------------------------------------------------ ------------------------------------------------------------------------ r237210 | mjacob | 2012-06-17 21:39:40 +0000 (Sun, 17 Jun 2012) | 19 lines Prepare for FC-Tape support. This involved doing a lot of little cleanups and crosschecks against firmware documentation. We now check and report FC firmware attributes and at least are now prepared for the upper 48 bits of f/w attributes (which are probably for the 8100 or later cards). This involed changing how inbits and outbits are calculated for varios commands, hopefully clearer and cleaner. This also caused me to clean up the actual mailbox register usage. Finally, we are now unconditionally using a CRN for initiator mode. A longstanding issue with the 2400/2500 is that they do *not* support a "Prefer PTP followed by loop", which explains why enabling that caused the f/w to crash. A slightly more invasive change is to let the firmware load entirely drive whether multi_id support is enabled or not. Sponsored by: Spectralogic MFC after: 1 week ------------------------------------------------------------------------ ------------------------------------------------------------------------ r237537 | mjacob | 2012-06-24 17:30:54 +0000 (Sun, 24 Jun 2012) | 11 lines Clean up multi-id mode so it's driven by the f/w loaded, not by some hint setting. Do more preparations for FC-Tape. Clean up resource counting for 24XX or later chipsets so we find out after EXEC_FIRMWARE what is actually supported. Set target mode exchange count based upon whether or not we are supporting simultaneous target/initiator mode. Clean up some old (pre-24XX) xfwoption and zfwoption issues. Sponsored by: Spectralogic MFC after: 3 days ------------------------------------------------------------------------ ------------------------------------------------------------------------ r237544 | mjacob | 2012-06-25 03:06:29 +0000 (Mon, 25 Jun 2012) | 4 lines Unbreak register tests for parallel SCSI. You can't overwrite registers 7 and 8. MFC after: 3 days ------------------------------------------------------------------------ Enjoy! (And sorry to pick on Matt, heh.) Trent.