)]}'
{
  "log": [
    {
      "commit": "58135f574f1b791c926622387780ed3d090116d6",
      "tree": "dc6c361777cd0f1bf051dbbddeccb7942400951d",
      "parents": [
        "99c8b1ea0972be82ce1842d830e0173e70907065"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Nov 06 14:45:57 2013 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Dec 02 20:43:14 2013 +0100"
      },
      "message": "context_tracking: Wrap static key check into more intuitive function name\n\nUse a function with a meaningful name to check the global context\ntracking state. static_key_false() is a bit confusing for reviewers.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "37bf06375c90a42fe07b9bebdb07bc316ae5a0ce",
      "tree": "de572dd6d3955b0725001776a7b03796f99e1e8e",
      "parents": [
        "6bfa687c19b7ab8adee03f0d43c197c2945dd869",
        "d0e639c9e06d44e713170031fe05fb60ebe680af"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Oct 09 12:36:13 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Oct 09 12:36:13 2013 +0200"
      },
      "message": "Merge tag \u0027v3.12-rc4\u0027 into sched/core\n\nMerge Linux v3.12-rc4 to fix a conflict and also to refresh the tree\nbefore applying more scheduler patches.\n\nConflicts:\n\tarch/avr32/include/asm/Kbuild\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "0c06a5d4b13cd66c833805a0d1db76b977944aac",
      "tree": "e4c4e8ede9124f414dcaf72b4ba3a90453025849",
      "parents": [
        "4a10c2ac2f368583138b774ca41fac4207911983"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Sep 10 00:54:17 2013 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Sep 27 17:59:47 2013 +0200"
      },
      "message": "arm: Fix build error with context tracking calls\n\nad65782fba50 (context_tracking: Optimize main APIs off case\nwith static key) converted context tracking main APIs to inline\nfunction and left ARM asm callers behind.\n\nThis can be easily fixed by making ARM calling the post static\nkeys context tracking function. We just need to replicate the\nstatic key checks there. We\u0027ll remove these later when ARM will\nsupport the context tracking static keys.\n\nReported-by: Guenter Roeck \u003clinux@roeck-us.net\u003e\nReported-by: Russell King \u003clinux@arm.linux.org.uk\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nTested-by: Kevin Hilman \u003ckhilman@linaro.org\u003e\nCc: Nicolas Pitre \u003cnicolas.pitre@linaro.org\u003e\nCc: Anil Kumar \u003canilk4.v@gmail.com\u003e\nCc: Tony Lindgren \u003ctony@atomide.com\u003e\nCc: Benoit Cousson \u003cb-cousson@ti.com\u003e\nCc: Guenter Roeck \u003clinux@roeck-us.net\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\n"
    },
    {
      "commit": "bdb43806589096ac4272fe1307e789846ac08d7c",
      "tree": "c854e7e508193766d5cbdd82e8709cfab5ea3be5",
      "parents": [
        "01028747559ac6c6f642a7bbd2875cc4f66b2feb"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Tue Sep 10 12:15:23 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Sep 25 14:07:54 2013 +0200"
      },
      "message": "sched: Extract the basic add/sub preempt_count modifiers\n\nRewrite the preempt_count macros in order to extract the 3 basic\npreempt_count value modifiers:\n\n  __preempt_count_add()\n  __preempt_count_sub()\n\nand the new:\n\n  __preempt_count_dec_and_test()\n\nAnd since we\u0027re at it anyway, replace the unconventional\n$op_preempt_count names with the more conventional preempt_count_$op.\n\nSince these basic operators are equivalent to the previous _notrace()\nvariants, do away with the _notrace() versions.\n\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/n/tip-ewbpdbupy9xpsjhg960zwbv8@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "1b6a259aa5ab16d8b215bfc19ff7c9ffa8858f10",
      "tree": "13aad3cfda4ff9c11e8e528685be39292c20c91d",
      "parents": [
        "73d424f9af7b571276e6284617cb59726d47bf12"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Jul 11 20:27:43 2013 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Aug 14 17:14:48 2013 +0200"
      },
      "message": "context_tracking: User/kernel broundary cross trace events\n\nThis can be useful to track all kernel/user round trips.\nAnd it\u0027s also helpful to debug the context tracking subsystem.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Borislav Petkov \u003cbp@alien8.de\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\n"
    },
    {
      "commit": "73d424f9af7b571276e6284617cb59726d47bf12",
      "tree": "6ee47dd0327e67c8514ebfefc12728b030e79ae5",
      "parents": [
        "48d6a816a8bf36e2a197c322697323003bdc1cfe"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Jul 11 19:42:13 2013 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Aug 14 17:14:47 2013 +0200"
      },
      "message": "context_tracking: Optimize context switch off case with static keys\n\nNo need for syscall slowpath if no CPU is full dynticks,\nrather nop this in this case.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Borislav Petkov \u003cbp@alien8.de\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\n"
    },
    {
      "commit": "48d6a816a8bf36e2a197c322697323003bdc1cfe",
      "tree": "6a51b602ec4451b8443b2b58337e9a55c84ceb48",
      "parents": [
        "ad65782fba507d91a0a98f519b59e79cac1b474c"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Jul 10 02:44:35 2013 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Aug 14 17:14:46 2013 +0200"
      },
      "message": "context_tracking: Optimize guest APIs off case with static key\n\nOptimize guest entry/exit APIs with static keys. This minimize\nthe overhead for those who enable CONFIG_NO_HZ_FULL without\nalways using it. Having no range passed to nohz_full\u003d should\nresult in the probes overhead to be minimized.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Borislav Petkov \u003cbp@alien8.de\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\n"
    },
    {
      "commit": "ad65782fba507d91a0a98f519b59e79cac1b474c",
      "tree": "72e075f00818a0e29bc0874a0ce9ae48c5784614",
      "parents": [
        "65f382fd0c8fa483713c0971de9f1dfb4cf1ad9c"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Jul 10 02:44:35 2013 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Aug 14 17:14:45 2013 +0200"
      },
      "message": "context_tracking: Optimize main APIs off case with static key\n\nOptimize user and exception entry/exit APIs with static\nkeys. This minimize the overhead for those who enable\nCONFIG_NO_HZ_FULL without always using it. Having no range\npassed to nohz_full\u003d should result in the probes to be nopped\n(at least we hope so...).\n\nIf this proves not be enough in the long term, we\u0027ll need\nto bring an exception slow path by re-routing the exception\nhandlers.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Borislav Petkov \u003cbp@alien8.de\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\n"
    },
    {
      "commit": "65f382fd0c8fa483713c0971de9f1dfb4cf1ad9c",
      "tree": "dec89c43fcfb4934611bae4855293428382856b9",
      "parents": [
        "d84d27a491880b9902b45c09be8d9e9464fb9b74"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Jul 11 19:12:32 2013 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Aug 14 17:12:46 2013 +0200"
      },
      "message": "context_tracking: Ground setup for static key use\n\nPrepare for using a static key in the context tracking subsystem.\nThis will help optimizing the off case on its many users:\n\n* user_enter, user_exit, exception_enter, exception_exit, guest_enter,\n  guest_exit, vtime_*()\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Borislav Petkov \u003cbp@alien8.de\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\n"
    },
    {
      "commit": "2e70933866ace52091a3c11a5c104c063ab0c445",
      "tree": "f931632cac249a8ca504eb4b0fa9373441d9cc89",
      "parents": [
        "d65ec12127a5b6c6d7f5331c78157dab98a20ff0"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Jul 10 00:55:25 2013 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Aug 13 00:54:07 2013 +0200"
      },
      "message": "nohz: Only enable context tracking on full dynticks CPUs\n\nThe context tracking subsystem has the ability to selectively\nenable the tracking on any defined subset of CPU. This means that\nwe can define a CPU range that doesn\u0027t run the context tracking\nand another range that does.\n\nNow what we want in practice is to enable the tracking on full\ndynticks CPUs only. In order to perform this, we just need to pass\nour full dynticks CPU range selection from the full dynticks\nsubsystem to the context tracking.\n\nThis way we can spare the overhead of RCU user extended quiescent\nstate and vtime maintainance on the CPUs that are outside the\nfull dynticks range. Just keep in mind the raw context tracking\nitself is still necessary everywhere.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Borislav Petkov \u003cbp@alien8.de\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\n"
    },
    {
      "commit": "d65ec12127a5b6c6d7f5331c78157dab98a20ff0",
      "tree": "5a37039fe137571d0ddc8fd5cf3bc040f0fbb809",
      "parents": [
        "5b206d48e58204e84d249c4eb18651a1ff7a1274"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Jul 11 23:59:33 2013 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Aug 13 00:40:44 2013 +0200"
      },
      "message": "context_tracking: Fix runtime CPU off-case\n\nAs long as the context tracking is enabled on any CPU, even\na single one, all other CPUs need to keep track of their\nuser \u003c-\u003e kernel boundaries cross as well.\n\nThis is because a task can sleep while servicing an exception\nthat happened in the kernel or in userspace. Then when the task\neventually wakes up and return from the exception, the CPU needs\nto know if we resume in userspace or in the kernel. exception_exit()\nget this information from exception_enter() that saved the previous\nstate.\n\nIf the CPU where the exception happened didn\u0027t keep track of\nthese informations, exception_exit() doesn\u0027t know which state\ntracking to restore on the CPU where the task got migrated\nand we may return to userspace with the context tracking\nsubsystem thinking that we are in kernel mode.\n\nThis can be fixed in the long term if we move our context tracking\nprobes on very low level arch fast path user \u003c-\u003e kernel boundary,\nalthough even that is worrisome as an exception can still happen\nin the few instructions between the probe and the actual iret.\n\nAlso we are not yet ready to set these probes in the fast path given\nthe potential overhead problem it induces.\n\nSo let\u0027s fix this by always enable context tracking even on CPUs\nthat are not in the full dynticks range. OTOH we can spare the\nrcu_user_*() and vtime_user_*() calls there because the tick runs\non these CPUs and we can handle RCU state machine and cputime\naccounting through it.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Borislav Petkov \u003cbp@alien8.de\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\n"
    },
    {
      "commit": "2d854e5738cded368a0759f85b1197f5c044513d",
      "tree": "14d2353e1dd594e9b695c250e3955c1da1eaf102",
      "parents": [
        "fbb00b568bc93073452d2a0f9f06e7c33d16eece"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Jul 12 19:02:30 2013 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Aug 13 00:40:44 2013 +0200"
      },
      "message": "context_tracing: Fix guest accounting with native vtime\n\n1) If context tracking is enabled with native vtime accounting (which\ncombo is useless except for dev testing), we call vtime_guest_enter()\nand vtime_guest_exit() on host \u003c-\u003e guest switches. But those are stubs\nin this configurations. As a result, cputime is not correctly flushed\non kvm context switches.\n\n2) If context tracking runs but is disabled on some CPUs, those\nCPUs end up calling __guest_enter/__guest_exit which in turn\ncall vtime_account_system(). We don\u0027t want to call this because we\nrun in tick based accounting for these CPUs.\n\nRefactor the guest_enter/guest_exit code such that all combinations\nfinally work.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Borislav Petkov \u003cbp@alien8.de\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\n"
    },
    {
      "commit": "fbb00b568bc93073452d2a0f9f06e7c33d16eece",
      "tree": "1e0d6f980341e3f7848717ba6e3ea9816e44baa4",
      "parents": [
        "ae920eb24277e4a174a3ca575ce42b98b18a6748"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Jun 19 23:56:22 2013 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Aug 13 00:40:43 2013 +0200"
      },
      "message": "sched: Consolidate open coded preemptible() checks\n\npreempt_schedule() and preempt_schedule_context() open\ncode their preemptability checks.\n\nUse the standard API instead for consolidation.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Borislav Petkov \u003cbp@alien8.de\u003e\nCc: Alex Shi \u003calex.shi@intel.com\u003e\nCc: Paul Turner \u003cpjt@google.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Vincent Guittot \u003cvincent.guittot@linaro.org\u003e\n"
    },
    {
      "commit": "a3d5c3460a86f52ea435b3fb98be112bd18faabc",
      "tree": "48a32968b569af0e0f0af1def3effa0770710fea",
      "parents": [
        "86c76676cfdbf283f6131d5a2783bed3f3d490ea",
        "29bb9e5a75684106a37593ad75ec75ff8312731b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 20 08:18:35 2013 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 20 08:18:35 2013 -1000"
      },
      "message": "Merge branch \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull scheduler fixes from Ingo Molnar:\n \"Two smaller fixes - plus a context tracking tracing fix that is a bit\n  bigger\"\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  tracing/context-tracking: Add preempt_schedule_context() for tracing\n  sched: Fix clear NOHZ_BALANCE_KICK\n  sched/x86: Construct all sibling maps if smt\n"
    },
    {
      "commit": "29bb9e5a75684106a37593ad75ec75ff8312731b",
      "tree": "db2e11c064e8648c874b1a73c226000661c86f33",
      "parents": [
        "873b4c65b519fd769940eb281f77848227d4e5c1"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri May 24 15:23:40 2013 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jun 19 12:55:10 2013 +0200"
      },
      "message": "tracing/context-tracking: Add preempt_schedule_context() for tracing\n\nDave Jones hit the following bug report:\n\n \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n [ INFO: suspicious RCU usage. ]\n 3.10.0-rc2+ #1 Not tainted\n -------------------------------\n include/linux/rcupdate.h:771 rcu_read_lock() used illegally while idle!\n other info that might help us debug this:\n RCU used illegally from idle CPU! rcu_scheduler_active \u003d 1, debug_locks \u003d 0\n RCU used illegally from extended quiescent state!\n 2 locks held by cc1/63645:\n  #0:  (\u0026rq-\u003elock){-.-.-.}, at: [\u003cffffffff816b39fd\u003e] __schedule+0xed/0x9b0\n  #1:  (rcu_read_lock){.+.+..}, at: [\u003cffffffff8109d645\u003e] cpuacct_charge+0x5/0x1f0\n\n CPU: 1 PID: 63645 Comm: cc1 Not tainted 3.10.0-rc2+ #1 [loadavg: 40.57 27.55 13.39 25/277 64369]\n Hardware name: Gigabyte Technology Co., Ltd. GA-MA78GM-S2H/GA-MA78GM-S2H, BIOS F12a 04/23/2010\n  0000000000000000 ffff88010f78fcf8 ffffffff816ae383 ffff88010f78fd28\n  ffffffff810b698d ffff88011c092548 000000000023d073 ffff88011c092500\n  0000000000000001 ffff88010f78fd60 ffffffff8109d7c5 ffffffff8109d645\n Call Trace:\n  [\u003cffffffff816ae383\u003e] dump_stack+0x19/0x1b\n  [\u003cffffffff810b698d\u003e] lockdep_rcu_suspicious+0xfd/0x130\n  [\u003cffffffff8109d7c5\u003e] cpuacct_charge+0x185/0x1f0\n  [\u003cffffffff8109d645\u003e] ? cpuacct_charge+0x5/0x1f0\n  [\u003cffffffff8108dffc\u003e] update_curr+0xec/0x240\n  [\u003cffffffff8108f528\u003e] put_prev_task_fair+0x228/0x480\n  [\u003cffffffff816b3a71\u003e] __schedule+0x161/0x9b0\n  [\u003cffffffff816b4721\u003e] preempt_schedule+0x51/0x80\n  [\u003cffffffff816b4800\u003e] ? __cond_resched_softirq+0x60/0x60\n  [\u003cffffffff816b6824\u003e] ? retint_careful+0x12/0x2e\n  [\u003cffffffff810ff3cc\u003e] ftrace_ops_control_func+0x1dc/0x210\n  [\u003cffffffff816be280\u003e] ftrace_call+0x5/0x2f\n  [\u003cffffffff816b681d\u003e] ? retint_careful+0xb/0x2e\n  [\u003cffffffff816b4805\u003e] ? schedule_user+0x5/0x70\n  [\u003cffffffff816b4805\u003e] ? schedule_user+0x5/0x70\n  [\u003cffffffff816b6824\u003e] ? retint_careful+0x12/0x2e\n ------------[ cut here ]------------\n\nWhat happened was that the function tracer traced the schedule_user() code\nthat tells RCU that the system is coming back from userspace, and to\nadd the CPU back to the RCU monitoring.\n\nBecause the function tracer does a preempt_disable/enable_notrace() calls\nthe preempt_enable_notrace() checks the NEED_RESCHED flag. If it is set,\nthen preempt_schedule() is called. But this is called before the user_exit()\nfunction can inform the kernel that the CPU is no longer in user mode and\nneeds to be accounted for by RCU.\n\nThe fix is to create a new preempt_schedule_context() that checks if\nthe kernel is still in user mode and if so to switch it to kernel mode\nbefore calling schedule. It also switches back to user mode coming back\nfrom schedule in need be.\n\nThe only user of this currently is the preempt_enable_notrace(), which is\nonly used by the tracing subsystem.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1369423420.6828.226.camel@gandalf.local.home\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "521921bad1192fb1b8f9b6a5aa673635848b8b5f",
      "tree": "e7aa88d4d03fa9b495173469f85a64a9eb530d98",
      "parents": [
        "45eacc692771bd2b1ea3d384e6345cab3da10861"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu May 16 01:21:38 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri May 31 11:32:30 2013 +0200"
      },
      "message": "kvm: Move guest entry/exit APIs to context_tracking\n\nThe kvm_host.h header file doesn\u0027t handle well\ninclusion when archs don\u0027t support KVM.\n\nThis results in build crashes for such archs when they\nwant to implement context tracking because this subsystem\nincludes kvm_host.h in order to implement the\nguest_enter/exit APIs but it doesn\u0027t handle KVM off case.\n\nTo fix this, move the guest_enter()/guest_exit()\ndeclarations and generic implementation to the context\ntracking headers. These generic APIs actually belong to\nthis subsystem, besides other domains boundary tracking\nlike user_enter() et al.\n\nKVM now properly becomes a user of this library, not the\nother buggy way around.\n\nReported-by: Kevin Hilman \u003ckhilman@linaro.org\u003e\nReviewed-by: Kevin Hilman \u003ckhilman@linaro.org\u003e\nTested-by: Kevin Hilman \u003ckhilman@linaro.org\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "d652e1eb8e7b739fccbfb503a3da3e9f640fbf3d",
      "tree": "55ab77bad0cbb045eac0b84b80d63f88f1ae09e6",
      "parents": [
        "8f55cea410dbc56114bb71a3742032070c8108d0",
        "77852fea6e2442a0e654a9292060489895de18c7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 19 18:19:48 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 19 18:19:48 2013 -0800"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull scheduler changes from Ingo Molnar:\n \"Main changes:\n\n   - scheduler side full-dynticks (user-space execution is undisturbed\n     and receives no timer IRQs) preparation changes that convert the\n     cputime accounting code to be full-dynticks ready, from Frederic\n     Weisbecker.\n\n   - Initial sched.h split-up changes, by Clark Williams\n\n   - select_idle_sibling() performance improvement by Mike Galbraith:\n\n        \" 1 tbench pair (worst case) in a 10 core + SMT package:\n\n          pre   15.22 MB/sec 1 procs\n          post 252.01 MB/sec 1 procs \"\n\n  - sched_rr_get_interval() ABI fix/change.  We think this detail is not\n    used by apps (so it\u0027s not an ABI in practice), but lets keep it\n    under observation.\n\n  - misc RT scheduling cleanups, optimizations\"\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (24 commits)\n  sched/rt: Add \u003clinux/sched/rt.h\u003e header to \u003clinux/init_task.h\u003e\n  cputime: Remove irqsave from seqlock readers\n  sched, powerpc: Fix sched.h split-up build failure\n  cputime: Restore CPU_ACCOUNTING config defaults for PPC64\n  sched/rt: Move rt specific bits into new header file\n  sched/rt: Add a tuning knob to allow changing SCHED_RR timeslice\n  sched: Move sched.h sysctl bits into separate header\n  sched: Fix signedness bug in yield_to()\n  sched: Fix select_idle_sibling() bouncing cow syndrome\n  sched/rt: Further simplify pick_rt_task()\n  sched/rt: Do not account zero delta_exec in update_curr_rt()\n  cputime: Safely read cputime of full dynticks CPUs\n  kvm: Prepare to add generic guest entry/exit callbacks\n  cputime: Use accessors to read task cputime stats\n  cputime: Allow dynamic switch between tick/virtual based cputime accounting\n  cputime: Generic on-demand virtual cputime accounting\n  cputime: Move default nsecs_to_cputime() to jiffies based cputime file\n  cputime: Librarize per nsecs resolution cputime definitions\n  cputime: Avoid multiplication overflow on utime scaling\n  context_tracking: Export context state for generic vtime\n  ...\n\nFix up conflict in kernel/context_tracking.c due to comment additions.\n"
    },
    {
      "commit": "6a61671bb2f3a1bd12cd17b8fca811a624782632",
      "tree": "0afc2915fb7e517472710a49a524510322dd5baa",
      "parents": [
        "c11f11fcbdb5be790c565aed46411486a7586afc"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Dec 16 20:00:34 2012 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Jan 27 20:35:47 2013 +0100"
      },
      "message": "cputime: Safely read cputime of full dynticks CPUs\n\nWhile remotely reading the cputime of a task running in a\nfull dynticks CPU, the values stored in utime/stime fields\nof struct task_struct may be stale. Its values may be those\nof the last kernel \u003c-\u003e user transition time snapshot and\nwe need to add the tickless time spent since this snapshot.\n\nTo fix this, flush the cputime of the dynticks CPUs on\nkernel \u003c-\u003e user transition and record the time / context\nwhere we did this. Then on top of this snapshot and the current\ntime, perform the fixup on the reader side from task_times()\naccessors.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Namhyung Kim \u003cnamhyung.kim@lge.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n[fixed kvm module related build errors]\nSigned-off-by: Sedat Dilek \u003csedat.dilek@gmail.com\u003e\n"
    },
    {
      "commit": "abf917cd91cbb73952758f9741e2fa65002a48ee",
      "tree": "5f975b87615dcaed9c98bc74b4548d568b92dcbc",
      "parents": [
        "ae8dda5c473bf1a85913942adcaac449e5754bf3"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Jul 25 07:56:04 2012 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Jan 27 19:23:27 2013 +0100"
      },
      "message": "cputime: Generic on-demand virtual cputime accounting\n\nIf we want to stop the tick further idle, we need to be\nable to account the cputime without using the tick.\n\nVirtual based cputime accounting solves that problem by\nhooking into kernel/user boundaries.\n\nHowever implementing CONFIG_VIRT_CPU_ACCOUNTING require\nlow level hooks and involves more overhead. But we already\nhave a generic context tracking subsystem that is required\nfor RCU needs by archs which plan to shut down the tick\noutside idle.\n\nThis patch implements a generic virtual based cputime\naccounting that relies on these generic kernel/user hooks.\n\nThere are some upsides of doing this:\n\n- This requires no arch code to implement CONFIG_VIRT_CPU_ACCOUNTING\nif context tracking is already built (already necessary for RCU in full\ntickless mode).\n\n- We can rely on the generic context tracking subsystem to dynamically\n(de)activate the hooks, so that we can switch anytime between virtual\nand tick based accounting. This way we don\u0027t have the overhead\nof the virtual accounting when the tick is running periodically.\n\nAnd one downside:\n\n- There is probably more overhead than a native virtual based cputime\naccounting. But this relies on hooks that are already set anyway.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Namhyung Kim \u003cnamhyung.kim@lge.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4eacdf18374e5d7d21a728b46dfec269ac8ef55c",
      "tree": "63409d8835ffd4f73513f6986de1fe741d7f5fed",
      "parents": [
        "90f45e4e729a7ffaa3ed2423834aad612870b427"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Jan 16 17:16:37 2013 +0100"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sat Jan 26 16:34:50 2013 -0800"
      },
      "message": "context_tracking: Add comments on interface and internals\n\nThis subsystem lacks many explanations on its purpose and\ndesign. Add these missing comments.\n\nv4: Document function parameter to be more kernel-doc\nfriendly, as per Namhyung suggestion.\n\nReported-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Alessio Igor Bogani \u003cabogani@kernel.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Geoff Levand \u003cgeoff@infradead.org\u003e\nCc: Gilad Ben Yossef \u003cgilad@benyossef.com\u003e\nCc: Hakan Akkan \u003chakanakkan@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Namhyung Kim \u003cnamhyung.kim@lge.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "95a79fd458b85132c25e351d45037ec9643312b2",
      "tree": "7672a00be174e93e9a6ce85e610ba54d8450c3fb",
      "parents": [
        "7d1f9aeff1ee4a20b1aeb377dd0f579fe9647619"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Jan 07 18:12:14 2013 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Jan 26 17:37:17 2013 +0100"
      },
      "message": "context_tracking: Export context state for generic vtime\n\nExport the context state: whether we run in user / kernel\nfrom the context tracking subsystem point of view.\n\nThis is going to be used by the generic virtual cputime\naccounting subsystem that is needed to implement the full\ndynticks.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Namhyung Kim \u003cnamhyung.kim@lge.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "91d1aa43d30505b0b825db8898ffc80a8eca96c7",
      "tree": "911636f846d800c8a44efd540842dc726ec7c191",
      "parents": [
        "4e79752c25ec221ac1e28f8875b539ed7631a0db"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Nov 27 19:33:25 2012 +0100"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Nov 30 11:40:07 2012 -0800"
      },
      "message": "context_tracking: New context tracking susbsystem\n\nCreate a new subsystem that probes on kernel boundaries\nto keep track of the transitions between level contexts\nwith two basic initial contexts: user or kernel.\n\nThis is an abstraction of some RCU code that use such tracking\nto implement its userspace extended quiescent state.\n\nWe need to pull this up from RCU into this new level of indirection\nbecause this tracking is also going to be used to implement an \"on\ndemand\" generic virtual cputime accounting. A necessary step to\nshutdown the tick while still accounting the cputime.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Gilad Ben-Yossef \u003cgilad@benyossef.com\u003e\nReviewed-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n[ paulmck: fix whitespace error and email address. ]\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    }
  ]
}
