From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: Ingo Molnar <mingo@elte.hu>
Cc: Mikael Magnusson <mikachu@gmail.com>,
git@vger.kernel.org, Thomas Gleixner <tglx@linutronix.de>
Subject: Re: linux-x86-tip: pilot error?
Date: Mon, 23 Jun 2008 04:11:44 -0700 [thread overview]
Message-ID: <20080623111144.GP22569@linux.vnet.ibm.com> (raw)
In-Reply-To: <20080623102424.GA28192@elte.hu>
On Mon, Jun 23, 2008 at 12:24:24PM +0200, Ingo Molnar wrote:
>
> * Paul E. McKenney <paulmck@linux.vnet.ibm.com> wrote:
>
> > On Mon, Jun 23, 2008 at 09:14:41AM +0200, Ingo Molnar wrote:
> > >
> > > * Paul E. McKenney <paulmck@linux.vnet.ibm.com> wrote:
> > >
> > > > Trying "git-checkout -b tip-core-rcu
> > > > tip-core-rcu-2008-06-16_09.23_Mon" acts like it is doing something
> > > > useful, but doesn't find the recent updates, which I believe happened
> > > > -before- June 16 2008.
> > >
> > > finding the rcu topic branch in -tip can be done the following way:
> > >
> > > $ git-branch -a | grep rcu
> > > tip/core/rcu
> >
> > Ah!!! Good, that does show me this branch. I created a new branch
> > "paulmck-rcu-2008-06-23" just out of paranoia.
>
> that's OK - having more branches never hurts.
>
> if, while juggling branches, you lose some commit somewhere it makes
> sense to check .git/logs/. [ Up until the point Git does a
> garbage-collection run and zaps any orphaned commits ;-) ]
Thank you -- I have had some things disappear on me in the past. ;-)
> > > if you check out that branch for your own use, you should also do:
> > >
> > > $ git-merge linus/master
> > >
> > > To bring it up to latest upstream.
> >
> > OK, that did pull in a number of changes. The gitk tool then shows my
> > "Merge commit 'linus/master' into paulmck-rcu-2008-06-23" at the head
> > of the display, with parents as follows:
> >
> > Parent: 31a72bce0bd6f3e0114009288bccbc96376eeeca (rcu: make rcutorture more vicious: reinstate boot-time testing)
> > Parent: bec95aab8c056ab490fe7fa54da822938562443d (Merge branch 'release' of git://lm-sensors.org/kernel/mhoffman/hwmon-2.6)
> >
> > This means that the RCU-related changes show up discontinuously in the
> > gitk display, but clicking on the left-most connector and selecting
> > "parent" gets me to the rest of the tip/core/rcu branch, so should be
> > OK, I guess. ;-)
>
> i have just talked to Thomas about it and we'll change our scripting so
> that the tip/core/rcu branch will always be very recent and merged up to
> latest -git.
>
> As one of the goals of the tip/* structure is to distribute topics to
> others (or as Linus has put it, Thomas and me needs to become more
> managerial about maintenance ;), there's real value in having the topics
> appear up-to-date when people try them out.
;-)
> ( it's possible to do this without criss-cross merge commits - it just
> needs some more creative scripting in -tip. )
I am keeping the hints in a README file on my machine -- thank you!!!
> > I then applied my two patches from yesterday (EDT timezone), just for
> > practice.
> >
> > These show up after the merge.
> >
> > But now when I do "git-log tip/core/rcu..linus/master", I get one very
> > large pile of patches. It apparently includes the stuff I merged from
> > linus/master. This is expected behavior, correct?
>
> That would be expected behavior, yes. You can try a "test-pull" into
> core/rcu:
>
> git-checkout -b test-rcu tip/core/rcu
> git-merge paulmck-rcu-2008-06-23 # replace with git-pull and an URI
>
> ... and then look at how "git-log test-rcu..linus/master" looks like. It
> should show all the changes of the RCU topic, your two new commits
> included.
The git-merge seemed to run normally, but the git-log command showed
no output. Hmmm...
> > So, if I want to identify the RCU patches since some specific Linus
> > release (for example, 2.6.26-rc7), I follow the RCU parents down until
> > I find the desired release tag, then generate diffs from the ranges I
> > find, right?
> >
> > Hmmm, actually, no, this bypasses the v2.6.26-rcN tags.
> >
> > One approach is apparently to use gitk to create a view that includes
> > the patches touching the RCU-related files. The git-log command also
> > takes pathname arguments, so that allows me to get an approximation as
> > well.
> >
> > I will have to look more at git-log and gitk -- probably I should be
> > paying more attention to patches adding or deleting the strings "RCU"
> > or "rcu" to the kernel. ;-)
>
> You can use the filenames as a commit filter, for example:
>
> git-shortlog v2.6.25.. kernel/rcu* include/linux/rcu*
OK, this does seem to give a good list.
> Will give you a rather good view about what things changed in RCU land
> in v2.6.26 so far.
>
> To see what is queued up in -tip for v2.6.27 that affect RCU, you can
> do:
>
> git-shortlog linus/master..tip/master kernel/rcu* include/linux/rcu*
This also looks good at first glance.
> This will show tip/core/rcu changes. Not unsurprisingly this will show
> something quite similar to:
>
> git-shortlog linus/master..tip/core/rcu
>
> ... as all RCU patches are supposed to be in that topic branch. [ But it
> does not hurt to double check me on that :-) ]
This looks good at first glance.
> The widest search that doesnt involve the checking of around 100,000
> commits is the tip-log-line utility you can find in the tip/tip branch.
> Via that utility you can filter out all interesting RCU commits:
>
> tip-log-line kernel/rcu* include/linux/rcu*
>
> it will output a tidy list of branches, sha1's and subject lines.
I will dig up the tip-log-line utility.
> (you'll probably first need to run tip-create-local-branches.sh to
> create local branches out of all the tip topics.)
>
> for example, to see RCU affecting changes not queued up in tip/core/rcu,
> you can do:
>
> ~/tip> tip-log-line kernel/rcu* include/linux/rcu* | grep -v ' core/rcu:'
> # core/softirq: 962cf36: Remove argument from open_softirq which is always NULL
> # core/softirq: a60b33c: Merge branch 'linus' into core/softirq
> # cpus4096: 363ab6f: core: use performance variant for_each_cpu_mask_nr
>
> > Is there some way to determine whether a give patch has a tagged patch
> > (e.g., v2.6.26-rc7) as a child? It would be very cool to be able to
> > dump only those patches that are not part of v2.6.26-rc7, as this
> > would allow me to automatically generate the list of RCU-related
> > patches from linux-2.6-tip to test against this RC.
>
> if i understood you correctly, git-describe will do that for you
> normally. If you have an sha1 you can do:
>
> $ git-describe 481c5346d0981940ee63037eb53e4e37b0735c10
> v2.6.26-rc7-25-g481c534
So this shows the last linus/master commit -not- containing the patch,
correct? Ah, the most recent -tag-. So I have to be a bit careful
about creating tags if I want this to work for me. Fair enough!
Thanx, Paul
next prev parent reply other threads:[~2008-06-23 11:12 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-22 12:36 linux-x86-tip: pilot error? Paul E. McKenney
2008-06-22 12:48 ` Mikael Magnusson
2008-06-22 13:21 ` Paul E. McKenney
2008-06-22 21:11 ` Mikael Magnusson
2008-06-22 21:42 ` Björn Steinbrink
2008-06-22 22:21 ` Paul E. McKenney
2008-06-23 7:14 ` Ingo Molnar
2008-06-23 9:57 ` Paul E. McKenney
2008-06-23 10:24 ` Ingo Molnar
2008-06-23 11:11 ` Paul E. McKenney [this message]
2008-06-23 11:22 ` Ingo Molnar
2008-06-23 16:14 ` Daniel Barkalow
2008-06-23 15:12 ` Jeff King
2008-06-23 15:31 ` Ingo Molnar
2008-06-23 16:05 ` Ingo Molnar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080623111144.GP22569@linux.vnet.ibm.com \
--to=paulmck@linux.vnet.ibm.com \
--cc=git@vger.kernel.org \
--cc=mikachu@gmail.com \
--cc=mingo@elte.hu \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.