hi all. Im trying to add a jumplabel implementation into dynamic-debug, and have run into an include-dependency problem. Ive managed to resolve 1 problem, and am now stuck on how to use cherry-pick -m 1st, the problem Ive handled (just for setup, story) I did a simple hotfix bisection, adding: --- a/include/linux/dynamic_debug.h +++ b/include/linux/dynamic_debug.h +#include <linux/jump_label.h> + This bisect run pointed to: commit b202952075f62603bea9bfb6ebc6b0420db11949 Author: Gleb Natapov <gleb@xxxxxxxxxx> Date: Sun Nov 27 17:59:09 2011 +0200 perf, core: Rate limit perf_sched_events jump_label patching jump_lable patching is very expensive operation that involves pausing al cpus. The patching of perf_sched_events jump_label is easily controllabl from userspace by unprivileged user. ... That commit adds #include <linux/workqueue.h> to dynamic_debug.h, so I split the workqueue and _deferred elements out to jump_label_deferred.h, and updated the _deferred users. The result builds cleanly and boots. However, once I try adding the above hotfix patch again, I get another handful of compile-errs (minus 1 that got fixed by above) And now Im running into bisection troubles. There are a 1/2 dozen patches to jump-label between Gleb's and -rc4, which make my patch against rc4 inapplicable. Ive tried to use the cherry-pick example from the help to pick them all up: but it craps out (tech term) git rev-list --reverse b2029520..dyndbg/jump-3a -- include/linux/jump_label.h | git cherry-pick -n --stdin error: could not apply c5905af... static keys: Introduce 'struct static_key', static_key_true()/false() and static_key_slow_[inc|dec]() hint: after resolving the conflicts, mark the corrected paths hint: with 'git add <paths>' or 'git rm <paths>' So I tried again, adding kernel/jump_label.c git rev-list --reverse b2029520..dyndbg/jump-3a -- include/linux/jump_label.h kernel/jump_label.c | git cherry-pick -n --stdin error: Commit 9e31905f293ae84e4f120ed9e414031eaefa0bdf is a merge but no -m option was given. fatal: cherry-pick failed Ive tried several variations on -m <arg>, trying 1, 2, parent-sha, (thats quite wrong) I keep getting this err: git rev-list --reverse b2029520..dyndbg/jump-3a -- include/linux/jump_label.h kernel/jump_label.c | git cherry-pick -n --stdin -m 1 error: Mainline was specified but commit 9cdbe1cbac4ec318037297175587a0080acc9d11 is not a merge. I find the -m help text completely unenlightening. what is a parent number ? where does it start from ? Im trying to cherry pick from master to hotfix-2, I presume thats a normal/natural usage. are parent numbers relative to the branch Im on, or the branch Im cherry-picking from ? or something else completely. Broader question: presuming I do manage to cherry-pick the right set commits, should I drop the -n ? Im thinking that having a hotfix branch, and merging --no-commit would work better, especially when bisection lands on a commit which already contains some of those in the hotfix branch. Am I thinking rightly ? Anything else to add ?? Since concrete, in-context advice would be so much more helpful than tips using foo, bar, etc, Ive pushed my branch to github, user jimc, branch dyndbg/jump-3a git://github.com/jimc/linux-2.6.git https://github.com/jimc/linux-2.6.git https://github.com/jimc/linux-2.6/tree/dyndbg/jump-3a thanks in advance. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html