)]}'
{
  "log": [
    {
      "commit": "bc3adfc6703edfd2484902b5391092c717076f87",
      "tree": "9df3b216990f6b321095bcc6c35444f5e0d8165c",
      "parents": [
        "3c18d4de86e4a7f93815c081e50e0543fa27200f",
        "3233cdbd9fa347a6d6897a94cc6ed0302ae83c4f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 18 12:36:06 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 18 12:36:06 2011 -0800"
      },
      "message": "Merge branch \u0027fixes-2.6.38\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\n* \u0027fixes-2.6.38\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:\n  workqueue: make sure MAYDAY_INITIAL_TIMEOUT is at least 2 jiffies long\n  workqueue, freezer: unify spelling of \u0027freeze\u0027 + \u0027able\u0027 to \u0027freezable\u0027\n  workqueue: wake up a worker when a rescuer is leaving a gcwq\n"
    },
    {
      "commit": "2e725a065b0153f0c449318da1923a120477633d",
      "tree": "df20fb290a597d076db86b78cc1931838aba3d0b",
      "parents": [
        "a2640111d5edb3f4e6dd6089c0dbddc7590110b4"
      ],
      "author": {
        "name": "Stanislaw Gruszka",
        "email": "stf_xl@pop3.wp.pl",
        "time": "Sat Feb 12 21:06:51 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Feb 16 21:53:52 2011 +0100"
      },
      "message": "PM / Hibernate: Return error code when alloc_image_page() fails\n\nCurrently we return 0 in swsusp_alloc() when alloc_image_page() fails.\nFix that.  Also remove unneeded \"error\" variable since the only\nuseful value of error is -ENOMEM.\n\n[rjw: Fixed up the changelog and changed subject.]\n\nSigned-off-by: Stanislaw Gruszka \u003cstf_xl@wp.pl\u003e\nCc: stable@kernel.org\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "3233cdbd9fa347a6d6897a94cc6ed0302ae83c4f",
      "tree": "053948a81cb40a37d3afbd0f6ca8f3a106523c73",
      "parents": [
        "58a69cb47ec6991bf006a3e5d202e8571b0327a4"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Feb 16 18:10:19 2011 +0100"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Feb 16 18:10:19 2011 +0100"
      },
      "message": "workqueue: make sure MAYDAY_INITIAL_TIMEOUT is at least 2 jiffies long\n\nMAYDAY_INITIAL_TIMEOUT is defined as HZ / 100 and depending on\nconfiguration may end up 0 or 1.  Even when it\u0027s 1, depending on when\nthe mayday timer is added in the current jiffy interval, it may expire\nway before a jiffy has passed.\n\nMake sure MAYDAY_INITIAL_TIMEOUT is at least two to guarantee that at\nleast a full jiffy has passed before calling rescuers.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-by: Ray Jui \u003crjui@broadcom.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "58a69cb47ec6991bf006a3e5d202e8571b0327a4",
      "tree": "56abdf817649c352f70bff3263f9351ed6c42062",
      "parents": [
        "7576958a9d5a4a677ad7dd40901cdbb6c1110c98"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Feb 16 09:25:31 2011 +0100"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Feb 16 17:48:59 2011 +0100"
      },
      "message": "workqueue, freezer: unify spelling of \u0027freeze\u0027 + \u0027able\u0027 to \u0027freezable\u0027\n\nThere are two spellings in use for \u0027freeze\u0027 + \u0027able\u0027 - \u0027freezable\u0027 and\n\u0027freezeable\u0027.  The former is the more prominent one.  The latter is\nmostly used by workqueue and in a few other odd places.  Unify the\nspelling to \u0027freezable\u0027.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nAcked-by: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nAcked-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Alex Dubov \u003coakad@yahoo.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "a1213b091cd50c3038b3ae480c2f1fae2713f010",
      "tree": "a353228f47995e49fb450f5ff1a7bf5bd8020004",
      "parents": [
        "1cecd791f2708b621e619cf4df4636c97c9497e5",
        "7ff207928eb0761fa6b6c39eda82ac07a5241acf",
        "f590308536db432e4747f562b29e5858123938e9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 15 10:19:18 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 15 10:19:18 2011 -0800"
      },
      "message": "Merge branches \u0027core-fixes-for-linus\u0027 and \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  Revert \"lockdep, timer: Fix del_timer_sync() annotation\"\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  timer debug: Hide kernel addresses via %pK in /proc/timer_list\n"
    },
    {
      "commit": "1cecd791f2708b621e619cf4df4636c97c9497e5",
      "tree": "7d1cae2e3e0c02a5c187408fac36f0bae20fadf0",
      "parents": [
        "fef86db8feb2618430ac9e3c9b6197a7eacaf27a",
        "a252852afaea8270fcb91628b298253b112fc92e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 15 10:18:48 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 15 10:18:48 2011 -0800"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86: Fix text_poke_smp_batch() deadlock\n  perf tools: Fix thread_map event synthesizing in top and record\n  watchdog, nmi: Lower the severity of error messages\n  ARM: oprofile: Fix backtraces in timer mode\n  oprofile: Fix usage of CONFIG_HW_PERF_EVENTS for oprofile_perf_init and friends\n"
    },
    {
      "commit": "7576958a9d5a4a677ad7dd40901cdbb6c1110c98",
      "tree": "db0b180feebf3a4ca6cd3155764cfc61a6d7f3cf",
      "parents": [
        "795abaf1e4e188c4171e3cd3dbb11a9fcacaf505"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Feb 14 14:04:46 2011 +0100"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Feb 14 14:04:46 2011 +0100"
      },
      "message": "workqueue: wake up a worker when a rescuer is leaving a gcwq\n\nAfter executing the matching works, a rescuer leaves the gcwq whether\nthere are more pending works or not.  This may decrease the\nconcurrency level to zero and stall execution until a new work item is\nqueued on the gcwq.\n\nMake rescuer wake up a regular worker when it leaves a gcwq if there\nare more works to execute, so that execution isn\u0027t stalled.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-by: Ray Jui \u003crjui@broadcom.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "f590308536db432e4747f562b29e5858123938e9",
      "tree": "ece1e37bcd1f62b22801f43e72cd097b2fc1eee9",
      "parents": [
        "d2478521afc20227658a10a8c5c2bf1a2aa615b3"
      ],
      "author": {
        "name": "Kees Cook",
        "email": "kees.cook@canonical.com",
        "time": "Fri Feb 11 19:21:25 2011 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Feb 12 14:11:56 2011 +0100"
      },
      "message": "timer debug: Hide kernel addresses via %pK in /proc/timer_list\n\nIn the continuing effort to avoid kernel addresses leaking to\nunprivileged users, this patch switches to %pK for\n/proc/timer_list reporting.\n\nSigned-off-by: Kees Cook \u003ckees.cook@canonical.com\u003e\nCc: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Dan Rosenberg \u003cdrosenberg@vsecurity.com\u003e\nCc: Eugene Teo \u003ceugeneteo@kernel.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLKML-Reference: \u003c20110212032125.GA23571@outflux.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f7909fb83550573300e72d120a7d97c9f6b53a65",
      "tree": "20810edd4c137ce011b1ef7b751440a15d4088b7",
      "parents": [
        "c41d40b53306434628b577715487810816fca885",
        "47970b1b2aa64464bc0a9543e86361a622ae7c03"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 11 16:16:03 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 11 16:16:03 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6:\n  pci: use security_capable() when checking capablities during config space read\n  security: add cred argument to security_capable()\n  tpm_tis: Use timeouts returned from TPM\n"
    },
    {
      "commit": "01e05e9a90b8f4c3997ae0537e87720eb475e532",
      "tree": "e5bace65224c8b026cfd06a28cd00c3f3a69a0c8",
      "parents": [
        "d863b50ab01333659314c2034890cb76d9fdc3c7"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Feb 10 15:01:22 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 11 16:12:19 2011 -0800"
      },
      "message": "ptrace: use safer wake up on ptrace_detach()\n\nThe wake_up_process() call in ptrace_detach() is spurious and not\ninterlocked with the tracee state.  IOW, the tracee could be running or\nsleeping in any place in the kernel by the time wake_up_process() is\ncalled.  This can lead to the tracee waking up unexpectedly which can be\ndangerous.\n\nThe wake_up is spurious and should be removed but for now reduce its\ntoxicity by only waking up if the tracee is in TRACED or STOPPED state.\n\nThis bug can possibly be used as an attack vector.  I don\u0027t think it\nwill take too much effort to come up with an attack which triggers oops\nsomewhere.  Most sleeps are wrapped in condition test loops and should\nbe safe but we have quite a number of places where sleep and wakeup\nconditions are expected to be interlocked.  Although the window of\nopportunity is tiny, ptrace can be used by non-privileged users and with\nsome loading the window can definitely be extended and exploited.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nAcked-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6037b715d6fab139742c3df8851db4c823081561",
      "tree": "aba9e9427debd4fa5b904daefa8e71a6320f4b93",
      "parents": [
        "deabb19ba4bd8c06ae69bc262e3594b515e3a459"
      ],
      "author": {
        "name": "Chris Wright",
        "email": "chrisw@sous-sol.org",
        "time": "Wed Feb 09 22:11:51 2011 -0800"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Feb 11 17:41:58 2011 +1100"
      },
      "message": "security: add cred argument to security_capable()\n\nExpand security_capable() to include cred, so that it can be usable in a\nwider range of call sites.\n\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "ee24aebffb75a7f940cf52c8cf6910947b3130c0",
      "tree": "ed1eafa8b1a30b078c9fa680aafbb49632921a0d",
      "parents": [
        "67d019528e5c2693145217cf18a507689980d2a4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 10 17:53:55 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 10 17:53:55 2011 -0800"
      },
      "message": "cap_syslog: accept CAP_SYS_ADMIN for now\n\nIn commit ce6ada35bdf7 (\"security: Define CAP_SYSLOG\") Serge Hallyn\nintroduced CAP_SYSLOG, but broke backwards compatibility by no longer\naccepting CAP_SYS_ADMIN as an override (it would cause a warning and\nthen reject the operation).\n\nRe-instate CAP_SYS_ADMIN - but keeping the warning - as an acceptable\ncapability until any legacy applications have been updated.  There are\napparently applications out there that drop all capabilities except for\nCAP_SYS_ADMIN in order to access the syslog.\n\n(This is a re-implementation of a patch by Serge, cleaning the logic up\nand making the code more readable)\n\nAcked-by: Serge Hallyn \u003cserge@hallyn.com\u003e\nReviewed-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5651f7f47dbb1cf2b95a60582546db4ff508e2b4",
      "tree": "9dbf5728f3fe1a73f48de290ae732b06574d646c",
      "parents": [
        "100b33c8bd8a3235fd0b7948338d6cbb3db3c63d"
      ],
      "author": {
        "name": "Don Zickus",
        "email": "dzickus@redhat.com",
        "time": "Wed Feb 09 14:02:33 2011 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 10 13:21:59 2011 +0100"
      },
      "message": "watchdog, nmi: Lower the severity of error messages\n\nDuring boot if the hardlockup detector fails to initialize, it\ncomplains very loudly.  Some failures should be expected under\ncertain situations, ie no lapics, or resource in-use.  Tone\nthose error messages down a bit.  Keep the rest at a high level.\n\nReported-by: Paul Bolle \u003cpebolle@tiscali.nl\u003e\nTested-by: Paul Bolle \u003cpebolle@tiscali.nl\u003e\nSigned-off-by: Don Zickus \u003cdzickus@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c1297278153-21111-1-git-send-email-dzickus@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "aceb91cd351bc3a19a783c901fe8a8070d5f6fa9",
      "tree": "a0863e940a77ae10d3c8b391488e29a8245b31be",
      "parents": [
        "ae8eed2d0906bf0d8eb0c2a4651676a41d361297",
        "b8cf0e0e552ca48e9a00f518aeb4f5e03984022b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 09 11:45:21 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 09 11:45:21 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  cdrom: support devices that have check_events but not media_changed\n  cfq-iosched: Don\u0027t wait if queue already has requests.\n  blkio-throttle: Avoid calling blkiocg_lookup_group() for root group\n  cfq: rename a function to give it more appropriate name\n  cciss: make cciss_revalidate not loop through CISS_MAX_LUNS volumes unnecessarily.\n  drivers/block/aoe/Makefile: replace the use of \u003cmodule\u003e-objs with \u003cmodule\u003e-y\n  loop: queue_lock NULL pointer derefence in blk_throtl_exit\n  drivers/block/Makefile: replace the use of \u003cmodule\u003e-objs with \u003cmodule\u003e-y\n  blktrace: Don\u0027t output messages if NOTIFY isn\u0027t set.\n"
    },
    {
      "commit": "7ff207928eb0761fa6b6c39eda82ac07a5241acf",
      "tree": "10549042e6180c481f78dd0ea6f172a2f3de7e72",
      "parents": [
        "100b33c8bd8a3235fd0b7948338d6cbb3db3c63d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Tue Feb 08 15:18:00 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 08 16:18:39 2011 +0100"
      },
      "message": "Revert \"lockdep, timer: Fix del_timer_sync() annotation\"\n\nBoth attempts at trying to allow softirq usage for\ndel_timer_sync() failed (produced bogus warnings),\nso revert the commit for this release:\n\n  f266a5110d45: lockdep, timer: Fix del_timer_sync() annotation\n\nand try again later.\n\nReported-by: Borislav Petkov \u003cbp@alien8.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLKML-Reference: \u003c1297174680.13327.107.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fb2b2a1d37f80cc818fd4487b510f4e11816e5e1",
      "tree": "00a16a9440fb1d522160a404c97ed327f77a92a1",
      "parents": [
        "2edeaa34a6e3f2c43b667f6c4f7b27944b811695"
      ],
      "author": {
        "name": "Tetsuo Handa",
        "email": "penguin-kernel@I-love.SAKURA.ne.jp",
        "time": "Mon Feb 07 13:36:16 2011 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 07 14:04:00 2011 -0800"
      },
      "message": "CRED: Fix memory and refcount leaks upon security_prepare_creds() failure\n\nIn prepare_kernel_cred() since 2.6.29, put_cred(new) is called without\nassigning new-\u003eusage when security_prepare_creds() returned an error.  As a\nresult, memory for new and refcount for new-\u003e{user,group_info,tgcred} are\nleaked because put_cred(new) won\u0027t call __put_cred() unless old-\u003eusage \u003d\u003d 1.\n\nFix these leaks by assigning new-\u003eusage (and new-\u003esubscribers which was added\nin 2.6.32) before calling security_prepare_creds().\n\nSigned-off-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2edeaa34a6e3f2c43b667f6c4f7b27944b811695",
      "tree": "37dd9156645491a86844ba9198fe05e4e6fe44c5",
      "parents": [
        "257a65d79581880032e0bf0c452f4041b693664c"
      ],
      "author": {
        "name": "Tetsuo Handa",
        "email": "penguin-kernel@I-love.SAKURA.ne.jp",
        "time": "Mon Feb 07 13:36:10 2011 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 07 14:04:00 2011 -0800"
      },
      "message": "CRED: Fix BUG() upon security_cred_alloc_blank() failure\n\nIn cred_alloc_blank() since 2.6.32, abort_creds(new) is called with\nnew-\u003esecurity \u003d\u003d NULL and new-\u003emagic \u003d\u003d 0 when security_cred_alloc_blank()\nreturns an error.  As a result, BUG() will be triggered if SELinux is enabled\nor CONFIG_DEBUG_CREDENTIALS\u003dy.\n\nIf CONFIG_DEBUG_CREDENTIALS\u003dy, BUG() is called from __invalid_creds() because\ncred-\u003emagic \u003d\u003d 0.  Failing that, BUG() is called from selinux_cred_free()\nbecause selinux_cred_free() is not expecting cred-\u003esecurity \u003d\u003d NULL.  This does\nnot affect smack_cred_free(), tomoyo_cred_free() or apparmor_cred_free().\n\nFix these bugs by\n\n(1) Set new-\u003emagic before calling security_cred_alloc_blank().\n\n(2) Handle null cred-\u003esecurity in creds_are_invalid() and selinux_cred_free().\n\nSigned-off-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f0adc82064a5c28b34bdbc18e2d178c32094770b",
      "tree": "42c051d53c978c722687a2dc341f2b54db271417",
      "parents": [
        "43a723286f3cae795418c62bc41c3cce73791a81",
        "55835eb62fad1253c9e657a667549945e4be9759"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Feb 06 12:05:15 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Feb 06 12:05:15 2011 -0800"
      },
      "message": "Merge branch \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  lockdep, timer: Fix del_timer_sync() annotation\n  RTC: Prevents a division by zero in kernel code.\n"
    },
    {
      "commit": "862b6f62bf0cd768910b087f6d051f420206c4d6",
      "tree": "f646e5246679ca851baf54e888c0d59b66ecf324",
      "parents": [
        "1ebdfa803dc5ced604ebadd26fcb8cdca8e09b85",
        "3d56e331b6537671c66f1b510bed0f1e0331dfc8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 04 19:02:53 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 04 19:02:53 2011 +0100"
      },
      "message": "Merge branch \u0027tip/perf/urgent-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/urgent\n"
    },
    {
      "commit": "f266a5110d453b7987194460ac7edd31f1a5426c",
      "tree": "c616ed6d9f59c94e6c16116c8d656dd9862f353f",
      "parents": [
        "831d52bc153971b70e64eccfbed2b232394f22f8"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Feb 03 15:09:41 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 04 10:31:22 2011 +0100"
      },
      "message": "lockdep, timer: Fix del_timer_sync() annotation\n\nCalling local_bh_enable() will want to actually start processing\nsoftirqs, which isn\u0027t a good idea since this can get called with IRQs\ndisabled.\n\nCure this by using _local_bh_enable() which doesn\u0027t start processing\nsoftirqs, and use raw_local_irq_save() to avoid any softirqs from\nhappening without letting lockdep think IRQs are in fact disabled.\n\nReported-by: Nick Bowler \u003cnbowler@elliptictech.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nReviewed-by: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nLKML-Reference: \u003c20110203141548.039540914@chello.nl\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "aba99437f5af7a419a82438f7fab16bb3ddd9b44",
      "tree": "b3b36b2d1c4b462519292f8c56dd2098ede637a1",
      "parents": [
        "49abda98929a100cd6309da8dca29db84c72c721",
        "f1a06390d013244e721372b3f9b66e39b6429c71"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 03 09:17:41 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 03 09:17:41 2011 -0800"
      },
      "message": "Merge branch \u0027irq-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027irq-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  genirq: Prevent irq storm on migration\n"
    },
    {
      "commit": "49abda98929a100cd6309da8dca29db84c72c721",
      "tree": "603e2628d33187467d14c053f7d17d9460e5a7cb",
      "parents": [
        "eb487ab4d5af0caee81bfaaa5d87b55844f60145",
        "06c3bc655697b19521901f9254eb0bbb2c67e7e8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 03 08:55:07 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 03 08:55:07 2011 -0800"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: Fix update_curr_rt()\n  sched, docs: Update schedstats documentation to version 15\n"
    },
    {
      "commit": "eb487ab4d5af0caee81bfaaa5d87b55844f60145",
      "tree": "5dc5470b73aeb1f4bfff9e77d52ff3387c18e7df",
      "parents": [
        "0b0abeaf3d30cec03ac6497fe978b8f7edecc5ae",
        "542e72fc90f5ed9eecb574f80f70868c7f296093"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 03 08:52:05 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 03 08:52:05 2011 -0800"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf: Fix reading in perf_event_read()\n  watchdog: Don\u0027t change watchdog state on read of sysctl\n  watchdog: Fix sysctl consistency\n  watchdog: Fix broken nowatchdog logic\n  perf: Fix Pentium4 raw event validation\n  perf: Fix alloc_callchain_buffers()\n"
    },
    {
      "commit": "3d56e331b6537671c66f1b510bed0f1e0331dfc8",
      "tree": "80145576e1b9e701b7a2270c6a09798ed6b783c3",
      "parents": [
        "654986462939cd7ec18f276c6379a334dac106a7"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Feb 02 17:06:09 2011 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Feb 03 09:29:06 2011 -0500"
      },
      "message": "tracing: Replace syscall_meta_data struct array with pointer array\n\nCurrently the syscall_meta structures for the syscall tracepoints are\nplaced in the __syscall_metadata section, and at link time, the linker\nmakes one large array of all these syscall metadata structures. On boot\nup, this array is read (much like the initcall sections) and the syscall\ndata is processed.\n\nThe problem is that there is no guarantee that gcc will place complex\nstructures nicely together in an array format. Two structures in the\nsame file may be placed awkwardly, because gcc has no clue that they\nare suppose to be in an array.\n\nA hack was used previous to force the alignment to 4, to pack the\nstructures together. But this caused alignment issues with other\narchitectures (sparc).\n\nInstead of packing the structures into an array, the structures\u0027 addresses\nare now put into the __syscall_metadata section. As pointers are always the\nnatural alignment, gcc should always pack them tightly together\n(otherwise initcall, extable, etc would also fail).\n\nBy having the pointers to the structures in the section, we can still\niterate the trace_events without causing unnecessary alignment problems\nwith other architectures, or depending on the current behaviour of\ngcc that will likely change in the future just to tick us kernel developers\noff a little more.\n\nThe __syscall_metadata section is also moved into the .init.data section\nas it is now only needed at boot up.\n\nSuggested-by: David Miller \u003cdavem@davemloft.net\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "654986462939cd7ec18f276c6379a334dac106a7",
      "tree": "b9c70944012c24fa6d7cc973fa9b4b6e875ca842",
      "parents": [
        "e4a9ea5ee7c8812a7bf0c3fb725ceeaa3d4c2fcc"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@efficios.com",
        "time": "Wed Jan 26 17:26:22 2011 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Feb 03 09:28:46 2011 -0500"
      },
      "message": "tracepoints: Fix section alignment using pointer array\n\nMake the tracepoints more robust, making them solid enough to handle compiler\nchanges by not relying on anything based on compiler-specific behavior with\nrespect to structure alignment. Implement an approach proposed by David Miller:\nuse an array of const pointers to refer to the individual structures, and export\nthis pointer array through the linker script rather than the structures per se.\nIt will consume 32 extra bytes per tracepoint (24 for structure padding and 8\nfor the pointers), but are less likely to break due to compiler changes.\n\nHistory:\n\ncommit 7e066fb8 tracepoints: add DECLARE_TRACE() and DEFINE_TRACE()\nadded the aligned(32) type and variable attribute to the tracepoint structures\nto deal with gcc happily aligning statically defined structures on 32-byte\nmultiples.\n\nOne attempt was to use a 8-byte alignment for tracepoint structures by applying\nboth the variable and type attribute to tracepoint structures definitions and\ndeclarations. It worked fine with gcc 4.5.1, but broke with gcc 4.4.4 and 4.4.5.\n\nThe reason is that the \"aligned\" attribute only specify the _minimum_ alignment\nfor a structure, leaving both the compiler and the linker free to align on\nlarger multiples. Because tracepoint.c expects the structures to be placed as an\narray within each section, up-alignment cause NULL-pointer exceptions due to the\nextra unexpected padding.\n\n(this patch applies on top of -tip)\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nLKML-Reference: \u003c20110126222622.GA10794@Krystal\u003e\nCC: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCC: Ingo Molnar \u003cmingo@elte.hu\u003e\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCC: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCC: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "06c3bc655697b19521901f9254eb0bbb2c67e7e8",
      "tree": "f712a3359f9a3a73652bb3316e0281f26f48c1ab",
      "parents": [
        "1e1dbb259c79b38a542c1c4c00fd8dfe936b183b"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Feb 02 13:19:48 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 03 12:21:33 2011 +0100"
      },
      "message": "sched: Fix update_curr_rt()\n\ncpu_stopper_thread()\n  migration_cpu_stop()\n    __migrate_task()\n      deactivate_task()\n        dequeue_task()\n          dequeue_task_rq()\n            update_curr_rt()\n\nWill call update_curr_rt() on rq-\u003ecurr, which at that time is\nrq-\u003estop. The problem is that rq-\u003estop.prio matches an RT prio and\nthus falsely assumes its a rt_sched_class task.\n\nReported-Debuged-Tested-Acked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cnew-submission\u003e\nCc: stable@kernel.org # .37\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "542e72fc90f5ed9eecb574f80f70868c7f296093",
      "tree": "b42abb2d44ed771759eee63ce00378df02d689ca",
      "parents": [
        "9ffdc6c37df131f89d52001e0ef03091b158826f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jan 26 15:38:35 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 03 12:15:46 2011 +0100"
      },
      "message": "perf: Fix reading in perf_event_read()\n\nIt is quite possible for the event to have been disabled between\nperf_event_read() sending the IPI and the CPU servicing the IPI and\ncalling __perf_event_read(), hence revalidate the state.\n\nReported-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e4a9ea5ee7c8812a7bf0c3fb725ceeaa3d4c2fcc",
      "tree": "1b25668508fa302a6ada053c895cd55727f798f1",
      "parents": [
        "9ffdc6c37df131f89d52001e0ef03091b158826f"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Jan 27 09:15:30 2011 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Feb 02 21:37:13 2011 -0500"
      },
      "message": "tracing: Replace trace_event struct array with pointer array\n\nCurrently the trace_event structures are placed in the _ftrace_events\nsection, and at link time, the linker makes one large array of all\nthe trace_event structures. On boot up, this array is read (much like\nthe initcall sections) and the events are processed.\n\nThe problem is that there is no guarantee that gcc will place complex\nstructures nicely together in an array format. Two structures in the\nsame file may be placed awkwardly, because gcc has no clue that they\nare suppose to be in an array.\n\nA hack was used previous to force the alignment to 4, to pack the\nstructures together. But this caused alignment issues with other\narchitectures (sparc).\n\nInstead of packing the structures into an array, the structures\u0027 addresses\nare now put into the _ftrace_event section. As pointers are always the\nnatural alignment, gcc should always pack them tightly together\n(otherwise initcall, extable, etc would also fail).\n\nBy having the pointers to the structures in the section, we can still\niterate the trace_events without causing unnecessary alignment problems\nwith other architectures, or depending on the current behaviour of\ngcc that will likely change in the future just to tick us kernel developers\noff a little more.\n\nThe _ftrace_event section is also moved into the .init.data section\nas it is now only needed at boot up.\n\nSuggested-by: David Miller \u003cdavem@davemloft.net\u003e\nCc: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "f1a06390d013244e721372b3f9b66e39b6429c71",
      "tree": "8ffce4d07e61d3533d17a2b2f947aefcebde211c",
      "parents": [
        "afe8a887550f7cc24eb16449670b93f6b43c32d8"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Jan 28 08:47:15 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Feb 02 22:15:08 2011 +0100"
      },
      "message": "genirq: Prevent irq storm on migration\n\nmove_native_irq() masks and unmasks the interrupt line\nunconditionally, but the interrupt line might be masked due to a\nthreaded oneshot handler in progress. Unmasking the line in that case\ncan lead to interrupt storms. Observed on PREEMPT_RT.\n\nOriginally-from: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "9ffdc6c37df131f89d52001e0ef03091b158826f",
      "tree": "3686727a7d9df74aa605c5c5ac4f64a0054fac0b",
      "parents": [
        "397357666de6b5b6adb5fa99f9758ec8cf30ac34"
      ],
      "author": {
        "name": "Marcin Slusarz",
        "email": "marcin.slusarz@gmail.com",
        "time": "Fri Jan 28 11:00:33 2011 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jan 31 13:22:43 2011 +0100"
      },
      "message": "watchdog: Don\u0027t change watchdog state on read of sysctl\n\nSigned-off-by: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\n[ add {}\u0027s to fix a warning ]\nSigned-off-by: Don Zickus \u003cdzickus@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: \u003cstable@kernel.org\u003e\nLKML-Reference: \u003c1296230433-6261-3-git-send-email-dzickus@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "397357666de6b5b6adb5fa99f9758ec8cf30ac34",
      "tree": "ce7e63588928ae0fc3b72e12e5d4298b09916ddf",
      "parents": [
        "4135038a582c20ffdadfcf6564852e0b72a20968"
      ],
      "author": {
        "name": "Marcin Slusarz",
        "email": "marcin.slusarz@gmail.com",
        "time": "Fri Jan 28 11:00:32 2011 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jan 31 13:22:43 2011 +0100"
      },
      "message": "watchdog: Fix sysctl consistency\n\nIf it was not possible to enable watchdog for any cpu, switch\nwatchdog_enabled back to 0, because it\u0027s visible via\nkernel.watchdog sysctl.\n\nSigned-off-by: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\nSigned-off-by: Don Zickus \u003cdzickus@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: \u003cstable@kernel.org\u003e\nLKML-Reference: \u003c1296230433-6261-2-git-send-email-dzickus@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4135038a582c20ffdadfcf6564852e0b72a20968",
      "tree": "2b67aec9d8057ae394fd1b4e0989674b47a9d45c",
      "parents": [
        "d038b12c6d773a4b9f69ca5243773bf6314f7ee9"
      ],
      "author": {
        "name": "Marcin Slusarz",
        "email": "marcin.slusarz@gmail.com",
        "time": "Fri Jan 28 11:00:31 2011 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jan 31 13:22:42 2011 +0100"
      },
      "message": "watchdog: Fix broken nowatchdog logic\n\nPassing nowatchdog to kernel disables 2 things: creation of\nwatchdog threads AND initialization of percpu watchdog_hrtimer.\nAs hrtimers are initialized only at boot it\u0027s not possible to\nenable watchdog later - for me all watchdog threads started to\neat 100% of CPU time, but they could just crash.\n\nAdditionally, even if these threads would start properly,\nwatchdog_disable_all_cpus was guarded by no_watchdog check, so\nyou couldn\u0027t disable watchdog.\n\nTo fix this, remove no_watchdog variable and use already\nexisting watchdog_enabled variable.\n\nSigned-off-by: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\n[ removed another no_watchdog instance ]\nSigned-off-by: Don Zickus \u003cdzickus@redhat.com\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: \u003cstable@kernel.org\u003e\nLKML-Reference: \u003c1296230433-6261-1-git-send-email-dzickus@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "aa5bd67dcfdf9af34c7fa36ebc87d4e1f7e91873",
      "tree": "95196496421cd8e7ad4c655becf2fa3309c88052",
      "parents": [
        "2f215a7d6d1d8ed0bbdda4fc4f7d64e3a1d46acc"
      ],
      "author": {
        "name": "Kacper Kornet",
        "email": "kornet@camk.edu.pl",
        "time": "Sat Jan 29 00:21:04 2011 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 31 13:01:27 2011 +1000"
      },
      "message": "Fix prlimit64 for suid/sgid processes\n\nSince check_prlimit_permission always fails in the case of SUID/GUID\nprocesses, such processes are not able to read or set their own limits.\nThis commit changes this by assuming that process can always read/change\nits own limits.\n\nSigned-off-by: Kacper Kornet \u003ckornet@camk.edu.pl\u003e\nAcked-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bffb276fffc93000e05a19ee0bdee844dff6a88d",
      "tree": "57e0a6e59f0487e096d362d3150cbba3e536109f",
      "parents": [
        "f7b548fa3d74f0db9af4fd41fbef973231d384fd",
        "05ca62c6ca17f39b88fa956d5ebc1fa6e93ad5e3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 28 06:45:04 2011 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 28 06:45:04 2011 +1000"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: Use rq-\u003eclock_task instead of rq-\u003eclock for correctly maintaining load averages\n  sched: Fix/remove redundant cfs_rq checks\n  sched: Fix sign under-flows in wake_affine\n"
    },
    {
      "commit": "88d4f0db7fa8785859c1d637f9aac210932b6216",
      "tree": "c03e79daa9101295614147dcb9b24ed04aef9a99",
      "parents": [
        "6fb1b304255efc5c4c93874ac8c066272e257e28"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Jan 25 19:40:51 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 27 19:21:50 2011 +0100"
      },
      "message": "perf: Fix alloc_callchain_buffers()\n\nCommit 927c7a9e92c4 (\"perf: Fix race in callchains\") introduced\na mismatch in the sizing of struct callchain_cpus_entries.\n\nnr_cpu_ids must be used instead of num_possible_cpus(), or we\nmight get out of bound memory accesses on some machines.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCC: stable@kernel.org\nLKML-Reference: \u003c1295980851.3588.351.camel@edumazet-laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "05ca62c6ca17f39b88fa956d5ebc1fa6e93ad5e3",
      "tree": "a56f4f47dd23ef65ebb5c579adb1fbb29ba3faed",
      "parents": [
        "b815f1963e47b9b69bb17e0588bd5af5b1114ae0"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Fri Jan 21 20:45:02 2011 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 26 12:31:03 2011 +0100"
      },
      "message": "sched: Use rq-\u003eclock_task instead of rq-\u003eclock for correctly maintaining load averages\n\nThe delta in clock_task is a more fair attribution of how much time a tg has\nbeen contributing load to the current cpu.\n\nWhile not really important it also means we\u0027re more in sync (by magnitude)\nwith respect to periodic updates (since __update_curr deltas are clock_task\nbased).\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20110122044852.007092349@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b815f1963e47b9b69bb17e0588bd5af5b1114ae0",
      "tree": "b7c087fbf80f0e46fabfc919c619827e73963592",
      "parents": [
        "e37b6a7b27b400c3aa488db8c6629a05095bc79c"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Fri Jan 21 20:45:00 2011 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 26 12:31:02 2011 +0100"
      },
      "message": "sched: Fix/remove redundant cfs_rq checks\n\nSince updates are against an entity\u0027s queuing cfs_rq it\u0027s not possible to\nenter update_cfs_{shares,load} with a NULL cfs_rq.  (Indeed, update_cfs_load\nwould crash prior to the check if we did anyway since we load is examined\nduring the initializers).\n\nAlso, in the update_cfs_load case there\u0027s no point\nin maintaining averages for rq-\u003ecfs_rq since we don\u0027t perform shares\ndistribution at that level -- NULL check is replaced accordingly.\n\nThanks to Dan Carpenter for pointing out the deference before NULL check.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20110122044851.825284940@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e37b6a7b27b400c3aa488db8c6629a05095bc79c",
      "tree": "b27ed41b74eb7e69d2e6b02cc659c4fab3ef12ef",
      "parents": [
        "6663050edd9c2e8b1e1f55c09459144d84c045f0"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Fri Jan 21 20:44:59 2011 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 26 12:31:01 2011 +0100"
      },
      "message": "sched: Fix sign under-flows in wake_affine\n\nWhile care is taken around the zero-point in effective_load to not exceed\nthe instantaneous rq-\u003eweight, it\u0027s still possible (e.g. using wake_idx !\u003d 0)\nfor (load + effective_load) to underflow.\n\nIn this case the comparing the unsigned values can result in incorrect balanced\ndecisions.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20110122044851.734245014@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6fb1b304255efc5c4c93874ac8c066272e257e28",
      "tree": "67b4193e20d3a5470f56b26d912ed791dba20f13",
      "parents": [
        "ac751efa6a0d70f2c9daef5c7e3a92270f5c2dff",
        "409550f2902470f0387fe40a7db441526e16b2c0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 26 16:31:44 2011 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 26 16:31:44 2011 +1000"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:\n  Input: wacom - pass touch resolution to clients through input_absinfo\n  Input: wacom - add 2 Bamboo Pen and touch models\n  Input: sysrq - ensure sysrq_enabled and __sysrq_enabled are consistent\n  Input: sparse-keymap - fix KEY_VSW handling in sparse_keymap_setup\n  Input: tegra-kbc - add tegra keyboard driver\n  Input: gpio_keys - switch to using request_any_context_irq\n  Input: serio - allow registered drivers to get status flag\n  Input: ct82710c - return proper error code for ct82c710_open\n  Input: bu21013_ts - added regulator support\n  Input: bu21013_ts - remove duplicate resolution parameters\n  Input: tnetv107x-ts - don\u0027t treat NULL clk as an error\n  Input: tnetv107x-keypad - don\u0027t treat NULL clk as an error\n\nFix up trivial conflicts in drivers/input/keyboard/Makefile due to\nadditions of tc3589x/Tegra drivers\n"
    },
    {
      "commit": "ac751efa6a0d70f2c9daef5c7e3a92270f5c2dff",
      "tree": "e2d3f799e20e2cbca80891ea17af7484f21d628f",
      "parents": [
        "3689456b4bd36027022b3215eb2acba51cd0e6b5"
      ],
      "author": {
        "name": "Torben Hohn",
        "email": "torbenh@gmx.de",
        "time": "Tue Jan 25 15:07:35 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 26 10:50:06 2011 +1000"
      },
      "message": "console: rename acquire/release_console_sem() to console_lock/unlock()\n\nThe -rt patches change the console_semaphore to console_mutex.  As a\nresult, a quite large chunk of the patches changes all\nacquire/release_console_sem() to acquire/release_console_mutex()\n\nThis commit makes things use more neutral function names which dont make\nimplications about the underlying lock.\n\nThe only real change is the return value of console_trylock which is\ninverted from try_acquire_console_sem()\n\nThis patch also paves the way to switching console_sem from a semaphore to\na mutex.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: make console_trylock return 1 on success, per Geert]\nSigned-off-by: Torben Hohn \u003ctorbenh@gmx.de\u003e\nCc: Thomas Gleixner \u003ctglx@tglx.de\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "500d85ce39e4d21368fbcdfec6cf3052170aeec8",
      "tree": "ee0fe5723ccf82a89df52c2dc58068c03164ae0d",
      "parents": [
        "ce84d539ce47484ff3cbc9c67b3eb69ae88954f9",
        "00e99a49f6f3a6b5a84ba8bf8f632c9b974bea7a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 25 05:26:47 2011 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 25 05:26:47 2011 +1000"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf tools: Fix time function double declaration with glibc\n  perf tools: Fix build by checking if extra warnings are supported\n  perf tools: Fix build when using gcc 3.4.6\n  perf tools: Add missing header, fixes build\n  perf tools: Fix 64 bit integer format strings\n  perf test: Fix build on older glibcs\n  perf: perf_event_exit_task_context: s/rcu_dereference/rcu_dereference_raw/\n  perf test: Use cpu_map-\u003e[cpu] when setting affinity\n  perf symbols: Fix annotation of thumb code\n  perf: Annotate cpuctx-\u003ectx.mutex to avoid a lockdep splat\n  powerpc, perf: Fix frequency calculation for overflowing counters (FSL version)\n  perf: Fix perf_event_init_task()/perf_event_free_task() interaction\n  perf: Fix find_get_context() vs perf_event_exit_task() race\n"
    },
    {
      "commit": "ce84d539ce47484ff3cbc9c67b3eb69ae88954f9",
      "tree": "cdba43e845e23a6793ca47857a16fae6032becfb",
      "parents": [
        "bc094757f4f3d7b8211a8a1ed7605ffd7c728f75",
        "b5cc8ca1c9c3a37eaddf709b2fd3e1699aee41ba"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 25 05:25:55 2011 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 25 05:25:55 2011 +1000"
      },
      "message": "Merge branch \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  RTC: Remove Kconfig symbol for UIE emulation\n  RTC: Properly handle rtc_read_alarm error propagation and fix bug\n  RTC: Propagate error handling via rtc_timer_enqueue properly\n  acpi_pm: Clear pmtmr_ioport if acpi_pm initialization fails\n  rtc: Cleanup removed UIE emulation declaration\n  hrtimers: Notify hrtimer users of switches to NOHZ mode\n"
    },
    {
      "commit": "bc094757f4f3d7b8211a8a1ed7605ffd7c728f75",
      "tree": "b12e5d0229cab3c0bd3634e9e0763a53a1c0d73c",
      "parents": [
        "4398f31ca7989cbddca96267e3d018d440bac30e",
        "3ff6dcac735704824c1dff64dc6863c390d364cc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 25 05:25:13 2011 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 25 05:25:13 2011 +1000"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: Fix poor interactivity on UP systems due to group scheduler nice tune bug\n"
    },
    {
      "commit": "8c6a98b22b750c9eb52653ba643faa17db8d3881",
      "tree": "682d083e544bf4b420b6972941c9f3e7493e77ef",
      "parents": [
        "cb1b145929b5b7e1bdc5f76dd2905df9f89c038e"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@canonical.com",
        "time": "Mon Jan 24 09:31:38 2011 -0800"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Mon Jan 24 09:33:36 2011 -0800"
      },
      "message": "Input: sysrq - ensure sysrq_enabled and __sysrq_enabled are consistent\n\nCurrently sysrq_enabled and __sysrq_enabled are initialised separately\nand inconsistently, leading to sysrq being actually enabled by reported\nas not enabled in sysfs.  The first change to the sysfs configurable\nsynchronises these two:\n\n    static int __read_mostly sysrq_enabled \u003d 1;\n    static int __sysrq_enabled;\n\nAdd a common define to carry the default for these preventing them becoming\nout of sync again.  Default this to 1 to mirror previous behaviour.\n\nSigned-off-by: Andy Whitcroft \u003capw@canonical.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "3ff6dcac735704824c1dff64dc6863c390d364cc",
      "tree": "6ccbdd6f80da38f104199538f06f1bf2a5cb235e",
      "parents": [
        "1bae4ce27c9c90344f23c65ea6966c50ffeae2f5"
      ],
      "author": {
        "name": "Yong Zhang",
        "email": "yong.zhang0@gmail.com",
        "time": "Mon Jan 24 15:33:52 2011 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jan 24 11:47:50 2011 +0100"
      },
      "message": "sched: Fix poor interactivity on UP systems due to group scheduler nice tune bug\n\nMichael Witten and Christian Kujau reported that the autogroup\nscheduling feature hurts interactivity on their UP systems.\n\nIt turns out that this is an older bug in the group scheduling code,\nand the wider appeal provided by the autogroup feature exposed it\nmore prominently.\n\nWhen on UP with FAIR_GROUP_SCHED enabled, tune shares\nonly affect tg-\u003eshares, but is not reflected in\ntg-\u003ese-\u003eload. The reason is that update_cfs_shares()\ndoes nothing on UP.\n\nSo introduce update_cfs_shares() for UP \u0026\u0026 FAIR_GROUP_SCHED.\n\nThis issue was found when enable autogroup scheduling was enabled,\nbut it is an older bug that also exists on cgroup.cpu on UP.\n\nReported-and-Tested-by: Michael Witten \u003cmfwitten@gmail.com\u003e\nReported-and-Tested-by: Christian Kujau \u003cchristian@nerdbynature.de\u003e\nSigned-off-by: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\nAcked-by: Mike Galbraith \u003cefault@gmx.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLKML-Reference: \u003c20110124073352.GA24186@windriver.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e94965ed5beb23c6fabf7ed31f625e66d7ff28de",
      "tree": "842e4cab961b568bcb98d8ab80d7d399110598a4",
      "parents": [
        "1bae4ce27c9c90344f23c65ea6966c50ffeae2f5"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dtor@vmware.com",
        "time": "Wed Dec 15 14:00:19 2010 -0800"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Jan 24 14:32:51 2011 +1030"
      },
      "message": "module: show version information for built-in modules in sysfs\n\nCurrently only drivers that are built as modules have their versions\nshown in /sys/module/\u003cmodule_name\u003e/version, but this information might\nalso be useful for built-in drivers as well. This especially important\nfor drivers that do not define any parameters - such drivers, if\nbuilt-in, are completely invisible from userspace.\n\nThis patch changes MODULE_VERSION() macro so that in case when we are\ncompiling built-in module, version information is stored in a separate\nsection. Kernel then uses this data to create \u0027version\u0027 sysfs attribute\nin the same fashion it creates attributes for module parameters.\n\nSigned-off-by: Dmitry Torokhov \u003cdtor@vmware.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "5bf7a6503ff416214b9a53569677dbf07657e6fd",
      "tree": "0dc8e8dbc30a23d466a327bef05e78c571f2b8a3",
      "parents": [
        "0f5c2ac58f22fd41deaeeb45ee752d4ae55f0d01",
        "42c025f3de9042d9c9abd9a6f6205d1a0f4bcadf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 21 13:38:57 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 21 13:38:57 2011 -0800"
      },
      "message": "Merge branch \u0027fixes-2.6.38\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\n* \u0027fixes-2.6.38\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:\n  workqueue: note the nested NOT_RUNNING test in worker_clr_flags() isn\u0027t a noop\n  workqueue: relax lockdep annotation on flush_work()\n"
    },
    {
      "commit": "806839b22cbda90176d7f8d421889bddd7826e93",
      "tree": "3ee967f97fa5e29ada85fb1d60142c75503e0ffd",
      "parents": [
        "547e9fd7d328af261f184bf66effc5033c886498"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Jan 21 18:45:47 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 21 22:08:16 2011 +0100"
      },
      "message": "perf: perf_event_exit_task_context: s/rcu_dereference/rcu_dereference_raw/\n\nIn theory, almost every user of task-\u003echild-\u003eperf_event_ctxp[]\nis wrong. find_get_context() can install the new context at any\nmoment, we need read_barrier_depends().\n\ndbe08d82ce3967ccdf459f7951d02589cf967300 \"perf: Fix\nfind_get_context() vs perf_event_exit_task() race\" added\nrcu_dereference() into perf_event_exit_task_context() to make\nthe precedent, but this makes __rcu_dereference_check() unhappy.\nUse rcu_dereference_raw() to shut up the warning.\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: acme@redhat.com\nCc: paulus@samba.org\nCc: stern@rowland.harvard.edu\nCc: a.p.zijlstra@chello.nl\nCc: fweisbec@gmail.com\nCc: roland@redhat.com\nCc: prasad@linux.vnet.ibm.com\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003c20110121174547.GA8796@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "547e9fd7d328af261f184bf66effc5033c886498",
      "tree": "88c2cbe138029a017769d4465798db181b1c5461",
      "parents": [
        "8c8a9b25b5de3f1eeac721cf34f4379e56d5d694"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jan 19 12:51:39 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 21 16:32:42 2011 +0100"
      },
      "message": "perf: Annotate cpuctx-\u003ectx.mutex to avoid a lockdep splat\n\nLockdep spotted:\n\n\tloop_1b_instruc/1899 is trying to acquire lock:\n\t (event_mutex){+.+.+.}, at: [\u003cffffffff810e1908\u003e] perf_trace_init+0x3b/0x2f7\n\n\tbut task is already holding lock:\n\t (\u0026ctx-\u003emutex){+.+.+.}, at: [\u003cffffffff810eb45b\u003e] perf_event_init_context+0xc0/0x218\n\n\twhich lock already depends on the new lock.\n\n\tthe existing dependency chain (in reverse order) is:\n\n\t-\u003e #3 (\u0026ctx-\u003emutex){+.+.+.}:\n\t-\u003e #2 (cpu_hotplug.lock){+.+.+.}:\n\t-\u003e #1 (module_mutex){+.+...}:\n\t-\u003e #0 (event_mutex){+.+.+.}:\n\nBut because the deadlock would be cpuhotplug (cpu-event) vs fork\n(task-event) it cannot, in fact, happen. We can annotate this by giving the\nperf_event_context used for the cpuctx a different lock class from those\nused by tasks.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1c77ff22f539ceaa64ea43d6a26d867e84602cb7",
      "tree": "d1623ae6a2f8ed56acbaa03b514e393496c42802",
      "parents": [
        "0e155b2ce293382730b8473f6ceeb7ac9b939b7d"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Jan 19 19:41:35 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Jan 21 11:55:31 2011 +0100"
      },
      "message": "genirq: Remove __do_IRQ\n\nAll architectures are finally converted. Remove the cruft.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Greg Ungerer \u003cgerg@uclinux.org\u003e\nCc: Michal Simek \u003cmonstr@monstr.eu\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Chen Liqin \u003cliqin.chen@sunplusct.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\n"
    },
    {
      "commit": "2b1caf6ed7b888c95a1909d343799672731651a5",
      "tree": "7ab9a7ae13bc02376bce6267df67f6f2aa9091f1",
      "parents": [
        "d551d81d6a720542873f478def60baab6b5df403",
        "bd924e8cbd4b73ffb7d707a774c04f7e2cae88ed"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 18:30:37 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 18:30:37 2011 -0800"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  smp: Allow on_each_cpu() to be called while early_boot_irqs_disabled status to init/main.c\n  lockdep: Move early boot local IRQ enable/disable status to init/main.c\n"
    },
    {
      "commit": "8d99641f6c1af806cd5d9e6badce91910219a161",
      "tree": "ee841f807005a4a6234f6f502a13185d13a34870",
      "parents": [
        "fc887b15d935ead2a00aef5779a18034e7c69ee1",
        "225c8e010f2d17a62aef131e24c6e7c111f36f9b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 17:02:14 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 17:02:14 2011 -0800"
      },
      "message": "Merge branch \u0027akpm\u0027\n\n* akpm:\n  kernel/smp.c: consolidate writes in smp_call_function_interrupt()\n  kernel/smp.c: fix smp_call_function_many() SMP race\n  memcg: correctly order reading PCG_USED and pc-\u003emem_cgroup\n  backlight: fix 88pm860x_bl macro collision\n  drivers/leds/ledtrig-gpio.c: make output match input, tighten input checking\n  MAINTAINERS: update Atmel AT91 entry\n  mm: fix truncate_setsize() comment\n  memcg: fix rmdir, force_empty with THP\n  memcg: fix LRU accounting with THP\n  memcg: fix USED bit handling at uncharge in THP\n  memcg: modify accounting function for supporting THP better\n  fs/direct-io.c: don\u0027t try to allocate more than BIO_MAX_PAGES in a bio\n  mm: compaction: prevent division-by-zero during user-requested compaction\n  mm/vmscan.c: remove duplicate include of compaction.h\n  memblock: fix memblock_is_region_memory()\n  thp: keep highpte mapped until it is no longer needed\n  kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT\n"
    },
    {
      "commit": "225c8e010f2d17a62aef131e24c6e7c111f36f9b",
      "tree": "dfd8a48abce0dbdc074f9dedeee686ff8971b4e3",
      "parents": [
        "6dc19899958e420a931274b94019e267e2396d3e"
      ],
      "author": {
        "name": "Milton Miller",
        "email": "miltonm@bga.com",
        "time": "Thu Jan 20 14:44:34 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 17:02:06 2011 -0800"
      },
      "message": "kernel/smp.c: consolidate writes in smp_call_function_interrupt()\n\nWe have to test the cpu mask in the interrupt handler before checking the\nrefs, otherwise we can start to follow an entry before its deleted and\nfind it partially initailzed for the next trip.  Presently we also clear\nthe cpumask bit before executing the called function, which implies\ngetting write access to the line.  After the function is called we then\ndecrement refs, and if they go to zero we then unlock the structure.\n\nHowever, this implies getting write access to the call function data\nbefore and after another the function is called.  If we can assert that no\nsmp_call_function execution function is allowed to enable interrupts, then\nwe can move both writes to after the function is called, hopfully allowing\nboth writes with one cache line bounce.\n\nOn a 256 thread system with a kernel compiled for 1024 threads, the time\nto execute testcase in the \"smp_call_function_many race\" changelog was\nreduced by about 30-40ms out of about 545 ms.\n\nI decided to keep this as WARN because its now a buggy function, even\nthough the stack trace is of no value -- a simple printk would give us the\ninformation needed.\n\nRaw data:\n\nWithout patch:\n  ipi_test startup took 1219366ns complete 539819014ns total 541038380ns\n  ipi_test startup took 1695754ns complete 543439872ns total 545135626ns\n  ipi_test startup took 7513568ns complete 539606362ns total 547119930ns\n  ipi_test startup took 13304064ns complete 533898562ns total 547202626ns\n  ipi_test startup took 8668192ns complete 544264074ns total 552932266ns\n  ipi_test startup took 4977626ns complete 548862684ns total 553840310ns\n  ipi_test startup took 2144486ns complete 541292318ns total 543436804ns\n  ipi_test startup took 21245824ns complete 530280180ns total 551526004ns\n\nWith patch:\n  ipi_test startup took 5961748ns complete 500859628ns total 506821376ns\n  ipi_test startup took 8975996ns complete 495098924ns total 504074920ns\n  ipi_test startup took 19797750ns complete 492204740ns total 512002490ns\n  ipi_test startup took 14824796ns complete 487495878ns total 502320674ns\n  ipi_test startup took 11514882ns complete 494439372ns total 505954254ns\n  ipi_test startup took 8288084ns complete 502570774ns total 510858858ns\n  ipi_test startup took 6789954ns complete 493388112ns total 500178066ns\n\n\t#include \u003clinux/module.h\u003e\n\t#include \u003clinux/init.h\u003e\n\t#include \u003clinux/sched.h\u003e /* sched clock */\n\n\t#define ITERATIONS 100\n\n\tstatic void do_nothing_ipi(void *dummy)\n\t{\n\t}\n\n\tstatic void do_ipis(struct work_struct *dummy)\n\t{\n\t\tint i;\n\n\t\tfor (i \u003d 0; i \u003c ITERATIONS; i++)\n\t\t\tsmp_call_function(do_nothing_ipi, NULL, 1);\n\n\t\tprintk(KERN_DEBUG \"cpu %d finished\\n\", smp_processor_id());\n\t}\n\n\tstatic struct work_struct work[NR_CPUS];\n\n\tstatic int __init testcase_init(void)\n\t{\n\t\tint cpu;\n\t\tu64 start, started, done;\n\n\t\tstart \u003d local_clock();\n\t\tfor_each_online_cpu(cpu) {\n\t\t\tINIT_WORK(\u0026work[cpu], do_ipis);\n\t\t\tschedule_work_on(cpu, \u0026work[cpu]);\n\t\t}\n\t\tstarted \u003d local_clock();\n\t\tfor_each_online_cpu(cpu)\n\t\t\tflush_work(\u0026work[cpu]);\n\t\tdone \u003d local_clock();\n\t\tpr_info(\"ipi_test startup took %lldns complete %lldns total %lldns\\n\",\n\t\t\tstarted-start, done-started, done-start);\n\n\t\treturn 0;\n\t}\n\n\tstatic void __exit testcase_exit(void)\n\t{\n\t}\n\n\tmodule_init(testcase_init)\n\tmodule_exit(testcase_exit)\n\tMODULE_LICENSE(\"GPL\");\n\tMODULE_AUTHOR(\"Anton Blanchard\");\n\nSigned-off-by: Milton Miller \u003cmiltonm@bga.com\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6dc19899958e420a931274b94019e267e2396d3e",
      "tree": "bb99ffb491f086b10bd92db3fc7cff214bb1a329",
      "parents": [
        "713735b4233fad3ae35b5cad656baa41413887ca"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Thu Jan 20 14:44:33 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 17:02:06 2011 -0800"
      },
      "message": "kernel/smp.c: fix smp_call_function_many() SMP race\n\nI noticed a failure where we hit the following WARN_ON in\ngeneric_smp_call_function_interrupt:\n\n                if (!cpumask_test_and_clear_cpu(cpu, data-\u003ecpumask))\n                        continue;\n\n                data-\u003ecsd.func(data-\u003ecsd.info);\n\n                refs \u003d atomic_dec_return(\u0026data-\u003erefs);\n                WARN_ON(refs \u003c 0);      \u003c-------------------------\n\nWe atomically tested and cleared our bit in the cpumask, and yet the\nnumber of cpus left (ie refs) was 0.  How can this be?\n\nIt turns out commit 54fdade1c3332391948ec43530c02c4794a38172\n(\"generic-ipi: make struct call_function_data lockless\") is at fault.  It\nremoves locking from smp_call_function_many and in doing so creates a\nrather complicated race.\n\nThe problem comes about because:\n\n - The smp_call_function_many interrupt handler walks call_function.queue\n   without any locking.\n - We reuse a percpu data structure in smp_call_function_many.\n - We do not wait for any RCU grace period before starting the next\n   smp_call_function_many.\n\nImagine a scenario where CPU A does two smp_call_functions back to back,\nand CPU B does an smp_call_function in between.  We concentrate on how CPU\nC handles the calls:\n\nCPU A            CPU B                  CPU C              CPU D\n\nsmp_call_function\n                                        smp_call_function_interrupt\n                                            walks\n\t\t\t\t\tcall_function.queue sees\n\t\t\t\t\tdata from CPU A on list\n\n                 smp_call_function\n\n                                        smp_call_function_interrupt\n                                            walks\n\n                                        call_function.queue sees\n                                          (stale) CPU A on list\n\t\t\t\t\t\t\t   smp_call_function int\n\t\t\t\t\t\t\t   clears last ref on A\n\t\t\t\t\t\t\t   list_del_rcu, unlock\nsmp_call_function reuses\npercpu *data A\n                                         data-\u003ecpumask sees and\n                                         clears bit in cpumask\n                                         might be using old or new fn!\n                                         decrements refs below 0\n\nset data-\u003erefs (too late!)\n\nThe important thing to note is since the interrupt handler walks a\npotentially stale call_function.queue without any locking, then another\ncpu can view the percpu *data structure at any time, even when the owner\nis in the process of initialising it.\n\nThe following test case hits the WARN_ON 100% of the time on my PowerPC\nbox (having 128 threads does help :)\n\n#include \u003clinux/module.h\u003e\n#include \u003clinux/init.h\u003e\n\n#define ITERATIONS 100\n\nstatic void do_nothing_ipi(void *dummy)\n{\n}\n\nstatic void do_ipis(struct work_struct *dummy)\n{\n\tint i;\n\n\tfor (i \u003d 0; i \u003c ITERATIONS; i++)\n\t\tsmp_call_function(do_nothing_ipi, NULL, 1);\n\n\tprintk(KERN_DEBUG \"cpu %d finished\\n\", smp_processor_id());\n}\n\nstatic struct work_struct work[NR_CPUS];\n\nstatic int __init testcase_init(void)\n{\n\tint cpu;\n\n\tfor_each_online_cpu(cpu) {\n\t\tINIT_WORK(\u0026work[cpu], do_ipis);\n\t\tschedule_work_on(cpu, \u0026work[cpu]);\n\t}\n\n\treturn 0;\n}\n\nstatic void __exit testcase_exit(void)\n{\n}\n\nmodule_init(testcase_init)\nmodule_exit(testcase_exit)\nMODULE_LICENSE(\"GPL\");\nMODULE_AUTHOR(\"Anton Blanchard\");\n\nI tried to fix it by ordering the read and the write of -\u003ecpumask and\n-\u003erefs.  In doing so I missed a critical case but Paul McKenney was able\nto spot my bug thankfully :) To ensure we arent viewing previous\niterations the interrupt handler needs to read -\u003erefs then -\u003ecpumask then\n-\u003erefs _again_.\n\nThanks to Milton Miller and Paul McKenney for helping to debug this issue.\n\n[miltonm@bga.com: add WARN_ON and BUG_ON, remove extra read of refs before initial read of mask that doesn\u0027t help (also noted by Peter Zijlstra), adjust comments, hopefully clarify scenario ]\n[miltonm@bga.com: remove excess tests]\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Milton Miller \u003cmiltonm@bga.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: \u003cstable@kernel.org\u003e [2.6.32+]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "466c19063b4b426d5c362572787cb249fbf4296b",
      "tree": "214c9d9e914c80eb6b46c9ccd0cd261167393b44",
      "parents": [
        "67290f41b2715de0e0ae93c9285fcbe37ffc5b22",
        "068c5cc5ac7414a8e9eb7856b4bf3cc4d4744267"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 16:37:55 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 16:37:55 2011 -0800"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched, cgroup: Use exit hook to avoid use-after-free crash\n  sched: Fix signed unsigned comparison in check_preempt_tick()\n  sched: Replace rq-\u003ebkl_count with rq-\u003erq_sched_info.bkl_count\n  sched, autogroup: Fix CONFIG_RT_GROUP_SCHED sched_setscheduler() failure\n  sched: Display autogroup names in /proc/sched_debug\n  sched: Reinstate group names in /proc/sched_debug\n  sched: Update effective_load() to use global share weights\n"
    },
    {
      "commit": "bd924e8cbd4b73ffb7d707a774c04f7e2cae88ed",
      "tree": "338d08c708b195acb9c8d6e0bab2e6ea720051a3",
      "parents": [
        "2ce802f62ba32a7d95748ac92bf351f76affb6ff"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jan 20 12:07:13 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 20 13:32:34 2011 +0100"
      },
      "message": "smp: Allow on_each_cpu() to be called while early_boot_irqs_disabled status to init/main.c\n\npercpu may end up calling vfree() during early boot which in\nturn may call on_each_cpu() for TLB flushes.  The function of\non_each_cpu() can be done safely while IRQ is disabled during\nearly boot but it assumed that the function is always called\nwith local IRQ enabled which ended up enabling local IRQ\nprematurely during boot and triggering a couple of warnings.\n\nThis patch updates on_each_cpu() and smp_call_function_many()\nsuch on_each_cpu() can be used safely while\nearly_boot_irqs_disabled is set.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLKML-Reference: \u003c20110120110713.GC6036@htj.dyndns.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2ce802f62ba32a7d95748ac92bf351f76affb6ff",
      "tree": "54dd0d6063ca61619e6b8ca84dd95b8e5a3c1402",
      "parents": [
        "12fcdba1b7ae8b25696433f420b775aeb556d89b"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jan 20 12:06:35 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 20 13:32:33 2011 +0100"
      },
      "message": "lockdep: Move early boot local IRQ enable/disable status to init/main.c\n\nDuring early boot, local IRQ is disabled until IRQ subsystem is\nproperly initialized.  During this time, no one should enable\nlocal IRQ and some operations which usually are not allowed with\nIRQ disabled, e.g. operations which might sleep or require\ncommunications with other processors, are allowed.\n\nlockdep tracked this with early_boot_irqs_off/on() callbacks.\nAs other subsystems need this information too, move it to\ninit/main.c and make it generally available.  While at it,\ntoggle the boolean to early_boot_irqs_disabled instead of\nenabled so that it can be initialized with %false and %true\nindicates the exceptional condition.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLKML-Reference: \u003c20110120110635.GB6036@htj.dyndns.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2d0640b47da74cff7c11642c798d40de861ed524",
      "tree": "51d41c213dbd5b27c3eeb6fe7527d04d2918edbb",
      "parents": [
        "c56eb8fb6dccb83d9fe62fd4dc00c834de9bc470"
      ],
      "author": {
        "name": "Stephen Boyd",
        "email": "sboyd@codeaurora.org",
        "time": "Tue Jan 18 22:46:34 2011 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 19 20:08:15 2011 +0100"
      },
      "message": "hrtimers: Notify hrtimer users of switches to NOHZ mode\n\nWhen NOHZ\u003dy and high res timers are disabled (via cmdline or\nKconfig) tick_nohz_switch_to_nohz() will notify the user about\nswitching into NOHZ mode. Nothing is printed for the case where\nHIGH_RES_TIMERS\u003dy. Fix this for the HIGH_RES_TIMERS\u003dy case by\nduplicating the printk from the low res NOHZ path in the high\nres NOHZ path.\n\nThis confused me since I was thinking \u0027dmesg | grep -i NOHZ\u0027 would\ntell me if NOHZ was enabled, but if I have hrtimers there is\nnothing.\n\nSigned-off-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1295419594-13085-1-git-send-email-sboyd@codeaurora.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8550d7cb6ed6c89add49c3b6ad4c753ab8a3d7f9",
      "tree": "9942aa32e7706bbb9bf52b9aecd542008f50d5aa",
      "parents": [
        "dbe08d82ce3967ccdf459f7951d02589cf967300"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Jan 19 19:22:28 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 19 20:04:28 2011 +0100"
      },
      "message": "perf: Fix perf_event_init_task()/perf_event_free_task() interaction\n\nperf_event_init_task() should clear child-\u003eperf_event_ctxp[]\nbefore anything else. Otherwise, if\nperf_event_init_context(perf_hw_context) fails,\nperf_event_free_task() can free perf_event_ctxp[perf_sw_context]\ncopied from parent-\u003eperf_event_ctxp[] by dup_task_struct().\n\nAlso move the initialization of perf_event_mutex and\nperf_event_list from perf_event_init_context() to\nperf_event_init_context().\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Prasad \u003cprasad@linux.vnet.ibm.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nLKML-Reference: \u003c20110119182228.GC12183@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "dbe08d82ce3967ccdf459f7951d02589cf967300",
      "tree": "2f8fc95749e47ff0de4b369f298898e4db5ad391",
      "parents": [
        "c56eb8fb6dccb83d9fe62fd4dc00c834de9bc470"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Jan 19 19:22:07 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 19 20:04:27 2011 +0100"
      },
      "message": "perf: Fix find_get_context() vs perf_event_exit_task() race\n\nfind_get_context() must not install the new perf_event_context\nif the task has already passed perf_event_exit_task().\n\nIf nothing else, this means the memory leak. Initially\nctx-\u003erefcount \u003d\u003d 2, it is supposed that\nperf_event_exit_task_context() should participate and do the\nnecessary put_ctx().\n\nfind_lively_task_by_vpid() checks PF_EXITING but this buys\nnothing, by the time we call find_get_context() this task can be\nalready dead. To the point, cmpxchg() can succeed when the task\nhas already done the last schedule().\n\nChange find_get_context() to populate task-\u003eperf_event_ctxp[]\nunder task-\u003eperf_event_mutex, this way we can trust PF_EXITING\nbecause perf_event_exit_task() takes the same mutex.\n\nAlso, change perf_event_exit_task_context() to use\nrcu_dereference(). Probably this is not strictly needed, but\nwith or without this change find_get_context() can race with\nsetup_new_exec()-\u003eperf_event_exit_task(), rcu_dereference()\nlooks better.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Prasad \u003cprasad@linux.vnet.ibm.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nLKML-Reference: \u003c20110119182207.GB12183@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "490da40d82b31c0562d3f5edb37810f492ca1c34",
      "tree": "6a5c05af9171044aa95b603ceb8346883139ca56",
      "parents": [
        "c56eb8fb6dccb83d9fe62fd4dc00c834de9bc470"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "boyu.mt@taobao.com",
        "time": "Wed Jan 19 10:51:44 2011 +0800"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Wed Jan 19 08:25:02 2011 -0700"
      },
      "message": "blktrace: Don\u0027t output messages if NOTIFY isn\u0027t set.\n\nNow if we enable blktrace, cfq has too many messages output to the\ntrace buffer. It is fine if we don\u0027t specify any action mask.\nBut if I do like this:\nblktrace /dev/sdb -a issue -a complete -o - | blkparse -i -\nI only want to see \u0027D\u0027 and \u0027C\u0027, while with the following command\ndd if\u003d/mnt/ocfs2/test of\u003d/dev/null bs\u003d4k count\u003d1 iflag\u003ddirect\n\nI will get(with a 2.6.37 vanilla kernel):\n  8,16   0        0     0.000000000     0  m   N cfq3805 alloced\n  8,16   0        0     0.000004126     0  m   N cfq3805 insert_request\n  8,16   0        0     0.000004884     0  m   N cfq3805 add_to_rr\n  8,16   0        0     0.000008417     0  m   N cfq workload slice:300\n  8,16   0        0     0.000009557     0  m   N cfq3805 set_active wl_prio:0 wl_type:2\n  8,16   0        0     0.000010640     0  m   N cfq3805 fifo\u003d          (null)\n  8,16   0        0     0.000011193     0  m   N cfq3805 dispatch_insert\n  8,16   0        0     0.000012221     0  m   N cfq3805 dispatched a request\n  8,16   0        0     0.000012802     0  m   N cfq3805 activate rq, drv\u003d1\n  8,16   0        1     0.000013181  3805  D   R 114759 + 8 [dd]\n  8,16   0        2     0.000164244     0  C   R 114759 + 8 [0]\n  8,16   0        0     0.000167997     0  m   N cfq3805 complete rqnoidle 0\n  8,16   0        0     0.000168782     0  m   N cfq3805 set_slice\u003d100\n  8,16   0        0     0.000169874     0  m   N cfq3805 arm_idle: 8 group_idle: 0\n  8,16   0        0     0.000170189     0  m   N cfq schedule dispatch\n  8,16   0        0     0.000397938     0  m   N cfq3805 slice expired t\u003d0\n  8,16   0        0     0.000399763     0  m   N cfq3805 sl_used\u003d1 disp\u003d1 charge\u003d1 iops\u003d0 sect\u003d8\n  8,16   0        0     0.000400227     0  m   N cfq3805 del_from_rr\n  8,16   0        0     0.000400882     0  m   N cfq3805 put_queue\n\nSee, there are 19 lines while I only need 2. I don\u0027t think it is\nappropriate for a user.\n\nSo this patch will disable any messages if the BLK_TC_NOTIFY isn\u0027t set.\nNow the output for the same command will look like:\n  8,16   0        1     0.000000000  4908  D   R 114759 + 8 [dd]\n  8,16   0        2     0.000146827     0  C   R 114759 + 8 [0]\n\nYes, it is what I want to see.\n\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nSigned-off-by: Tao Ma \u003cboyu.mt@taobao.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "068c5cc5ac7414a8e9eb7856b4bf3cc4d4744267",
      "tree": "28a017e342dddd3ffe8e3dd3499a395aee39b796",
      "parents": [
        "d7d8294415f0ce4254827d4a2a5ee88b00be52a8"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Wed Jan 19 12:26:11 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 19 12:51:32 2011 +0100"
      },
      "message": "sched, cgroup: Use exit hook to avoid use-after-free crash\n\nBy not notifying the controller of the on-exit move back to\ninit_css_set, we fail to move the task out of the previous\ncgroup\u0027s cfs_rq. This leads to an opportunity for a\ncgroup-destroy to come in and free the cgroup (there are no\nactive tasks left in it after all) to which the not-quite dead\ntask is still enqueued.\n\nReported-by: Miklos Vajna \u003cvmiklos@frugalware.org\u003e\nFixed-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: \u003cstable@kernel.org\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nLKML-Reference: \u003c1293206353.29444.205.camel@laptop\u003e\n"
    },
    {
      "commit": "335bc70b6b5fdc9b4e28cb56c27f10124064f9da",
      "tree": "7f5a1594a09cdcb2ea9a5d768ea72c0256f6aa3c",
      "parents": [
        "404cbbd52f10d1d5719ad82ce8ba903890779255",
        "66832eb4baaaa9abe4c993ddf9113a79e39b9915"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 18 14:29:37 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 18 14:29:37 2011 -0800"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf: Validate cpu early in perf_event_alloc()\n  perf: Find_get_context: fix the per-cpu-counter check\n  perf: Fix contexted inheritance\n"
    },
    {
      "commit": "66832eb4baaaa9abe4c993ddf9113a79e39b9915",
      "tree": "bc1b60069c5313231a5ddca0f0dcab953489bb1e",
      "parents": [
        "22a4ec729017ba613337a28f306f94ba5023fe2e"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Tue Jan 18 17:10:32 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 18 19:34:23 2011 +0100"
      },
      "message": "perf: Validate cpu early in perf_event_alloc()\n\nStarting from perf_event_alloc()-\u003eperf_init_event(), the kernel\nassumes that event-\u003ecpu is either -1 or the valid CPU number.\n\nChange perf_event_alloc() to validate this argument early. This\nalso means we can remove the similar check in\nfind_get_context().\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Prasad \u003cprasad@linux.vnet.ibm.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: gregkh@suse.de\nCc: stable@kernel.org\nLKML-Reference: \u003c20110118161032.GC693@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "22a4ec729017ba613337a28f306f94ba5023fe2e",
      "tree": "a0e6ad7131088b4e1cf1072f76f9b34ead7e9065",
      "parents": [
        "c5ed5145591774bd9a2960ba4ca45a02fc70aad1"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Tue Jan 18 17:10:08 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 18 19:34:23 2011 +0100"
      },
      "message": "perf: Find_get_context: fix the per-cpu-counter check\n\nIf task \u003d\u003d NULL, find_get_context() should always check that cpu\nis correct.\n\nAfaics, the bug was introduced by 38a81da2 \"perf events: Clean\nup pid passing\", but even before that commit \"\u0026\u0026 cpu !\u003d -1\" was\nnot exactly right, -ESRCH from find_task_by_vpid() is not\naccurate.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Prasad \u003cprasad@linux.vnet.ibm.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: gregkh@suse.de\nCc: stable@kernel.org\nLKML-Reference: \u003c20110118161008.GB693@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c5ed5145591774bd9a2960ba4ca45a02fc70aad1",
      "tree": "f7e53164a33e1a0a41a4b3a7b508835361e39689",
      "parents": [
        "ad7f4e3f7b966ac09c8f98dbc5024813a1685775"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Jan 17 13:45:37 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 18 15:10:35 2011 +0100"
      },
      "message": "perf: Fix contexted inheritance\n\nLinus reported that the RCU lockdep annotation bits triggered for this\nrcu_dereference() because we\u0027re not holding rcu_read_lock().\n\nGoing over the code I cannot convince myself its correct:\n\n - holding a ref on the parent_ctx, doesn\u0027t avoid it being uncloned\n   concurrently (as the comment says), so we can race with a free.\n\n - holding parent_ctx-\u003emutex doesn\u0027t avoid the above free from taking\n   place either, it would at best avoid parent_ctx from being freed.\n\nI.e. the warning is correct. To fix the bug, serialize against the\nunclone_ctx() call by extending the reach of the parent_ctx-\u003elock.\n\nReported-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d7d8294415f0ce4254827d4a2a5ee88b00be52a8",
      "tree": "9f8024d6566bc391fcb2aced8427db81ca4e9078",
      "parents": [
        "fce2097983d914ea8c2338efc6f6e9bb737f6ae4"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Wed Jan 05 05:41:17 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 18 15:09:44 2011 +0100"
      },
      "message": "sched: Fix signed unsigned comparison in check_preempt_tick()\n\nSigned unsigned comparison may lead to superfluous resched if leftmost\nis right of the current task, wasting a few cycles, and inadvertently\n_lengthening_ the current task\u0027s slice.\n\nReported-by: Venkatesh Pallipadi \u003cvenki@google.com\u003e\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1294202477.9384.5.camel@marge.simson.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fce2097983d914ea8c2338efc6f6e9bb737f6ae4",
      "tree": "4d1bbf8f330914f471e631662309255ab5f11bb6",
      "parents": [
        "f44937718ce3b8360f72f6c68c9481712517a867"
      ],
      "author": {
        "name": "Yong Zhang",
        "email": "yong.zhang0@gmail.com",
        "time": "Fri Jan 14 15:57:39 2011 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 18 15:09:43 2011 +0100"
      },
      "message": "sched: Replace rq-\u003ebkl_count with rq-\u003erq_sched_info.bkl_count\n\nNow rq-\u003erq_sched_info.bkl_count is not used for rq, scroll\nrq-\u003ebkl_count into it. Thus we can save some space for rq.\n\nSigned-off-by: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1294991859-13246-1-git-send-email-yong.zhang0@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f44937718ce3b8360f72f6c68c9481712517a867",
      "tree": "72b07f4daa686e10f90b666f5b61b66b30bbed2d",
      "parents": [
        "8ecedd7a06d27a31dbb36fab88e2ba6e6edd43ca"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Thu Jan 13 04:54:50 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 18 15:09:42 2011 +0100"
      },
      "message": "sched, autogroup: Fix CONFIG_RT_GROUP_SCHED sched_setscheduler() failure\n\nIf CONFIG_RT_GROUP_SCHED is set, __sched_setscheduler() fails due to autogroup\nnot allocating rt_runtime.  Free unused/unusable rt_se and rt_rq, redirect RT\ntasks to the root task group, and tell __sched_setscheduler() that it\u0027s ok.\n\nReported-and-tested-by: Bharata B Rao \u003cbharata@linux.vnet.ibm.com\u003e\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1294890890.8089.39.camel@marge.simson.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8ecedd7a06d27a31dbb36fab88e2ba6e6edd43ca",
      "tree": "f4fea491abd21408f8c607fb91baf709122a54de",
      "parents": [
        "efe25c2c7b3a5d17b0c70987a758d8fe7af8e3d1"
      ],
      "author": {
        "name": "Bharata B Rao",
        "email": "bharata@linux.vnet.ibm.com",
        "time": "Tue Jan 11 15:42:57 2011 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 18 15:09:40 2011 +0100"
      },
      "message": "sched: Display autogroup names in /proc/sched_debug\n\nAdd autogroup name to cfs_rq and tasks information to /proc/sched_debug.\n\nSigned-off-by: Bharata B Rao \u003cbharata@linux.vnet.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20110111101257.GF4772@in.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "efe25c2c7b3a5d17b0c70987a758d8fe7af8e3d1",
      "tree": "d2b5f98c6734f289c51985d5af67967cd8f4ef66",
      "parents": [
        "977dda7c9b540f48b228174346d8b31542c1e99f"
      ],
      "author": {
        "name": "Bharata B Rao",
        "email": "bharata@linux.vnet.ibm.com",
        "time": "Tue Jan 11 15:41:54 2011 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 18 15:09:39 2011 +0100"
      },
      "message": "sched: Reinstate group names in /proc/sched_debug\n\nDisplaying of group names in /proc/sched_debug was dropped in autogroup\npatches. Add group names while displaying cfs_rq and tasks information.\n\nSigned-off-by: Bharata B Rao \u003cbharata@linux.vnet.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20110111101153.GE4772@in.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "977dda7c9b540f48b228174346d8b31542c1e99f",
      "tree": "77d40bcc72c1590dfcaeadb60e92a270bd204c52",
      "parents": [
        "c9b5f501ef1580faa30c40c644b7691870462201"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Fri Jan 14 17:57:50 2011 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 18 15:09:38 2011 +0100"
      },
      "message": "sched: Update effective_load() to use global share weights\n\nPreviously effective_load would approximate the global load weight present on\na group taking advantage of:\n\nentity_weight \u003d tg-\u003eshares ( lw / global_lw ), where entity_weight was provided\nby tg_shares_up.\n\nThis worked (approximately) for an \u0027empty\u0027 (at tg level) cpu since we would\nplace boost load representative of what a newly woken task would receive.\n\nHowever, now that load is instantaneously updated this assumption is no longer\ntrue and the load calculation is rather incorrect in this case.\n\nFix this (and improve the general case) by re-writing effective_load to take\nadvantage of the new shares distribution code.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20110115015817.069769529@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f9ee7f60d6f37ae0184812b4c59b3869f875768b",
      "tree": "6c30a7e94b90cfa3a43cda45f4bdb2f254f3ba10",
      "parents": [
        "16c1020362083b320868c0deef492249089c3cd3",
        "1161ec944916069ceec21c487e30247d9ff22857",
        "76d1f7bfcd5872056902c5a88b5fcd5d4d00a7a9",
        "afa14e7c553ebe45844d76208f66017a43abd0e2",
        "7c46d8da09df22361d1d43465c4f1b06cecaf25f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 15 12:45:00 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 15 12:45:00 2011 -0800"
      },
      "message": "Merge branches \u0027core-fixes-for-linus\u0027, \u0027x86-fixes-for-linus\u0027, \u0027timers-fixes-for-linus\u0027 and \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  rcu: avoid pointless blocked-task warnings\n  rcu: demote SRCU_SYNCHRONIZE_DELAY from kernel-parameter status\n  rtmutex: Fix comment about why new_owner can be NULL in wake_futex_pi()\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, olpc: Add missing Kconfig dependencies\n  x86, mrst: Set correct APB timer IRQ affinity for secondary cpu\n  x86: tsc: Fix calibration refinement conditionals to avoid divide by zero\n  x86, ia64, acpi: Clean up x86-ism in drivers/acpi/numa.c\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  timekeeping: Make local variables static\n  time: Rename misnamed minsec argument of clocks_calc_mult_shift()\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  tracing: Remove syscall_exit_fields\n  tracing: Only process module tracepoints once\n  perf record: Add \"nodelay\" mode, disabled by default\n  perf sched: Fix list of events, dropping unsupported \u0027:r\u0027 modifier\n  Revert \"perf tools: Emit clearer message for sys_perf_event_open ENOENT return\"\n  perf top: Fix annotate segv\n  perf evsel: Fix order of event list deletion\n"
    },
    {
      "commit": "7f85803a26f304e698c673838aab06cc6d4d6e59",
      "tree": "8d8ea214a5ba1acbaf81493cedeed1f45f582744",
      "parents": [
        "c94fbe1d9e1e9b1a1f82eb0b53b1cf53bcf9712b"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Fri Jan 14 17:49:02 2011 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jan 14 18:06:35 2011 -0500"
      },
      "message": "tracing: Remove syscall_exit_fields\n\nThere is no need for syscall_exit_fields as the syscall\nexit event class can already host the fields in its structure,\nlike most other trace events do by default. Use that\ndefault behavior instead.\n\nFollowing this scheme, we don\u0027t need anymore to override the\nget_fields() callback of the syscall exit event class either.\n\nHence both syscall_exit_fields and syscall_get_exit_fields() can\nbe removed.\n\nAlso changed some indentation to keep the following under 80\ncharacters:\n\n\".fields\t\t\u003d LIST_HEAD_INIT(event_class_syscall_exit.fields),\"\n\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4D301C0E.8090408@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "acda4721ae876dedab3fef04bbd8020bfa67ff0a",
      "tree": "ec48d554fe48b3915912e2ae62bc962ade0553bd",
      "parents": [
        "822e5215f9eef86c1dd56d5696bf55a212b0e3f0",
        "32385c7cf60a78375b63afc4f02001df84dfd1a0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 09:08:29 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 09:08:29 2011 -0800"
      },
      "message": "Merge branch \u0027vfs-scale-working\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/npiggin/linux-npiggin\n\n* \u0027vfs-scale-working\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/npiggin/linux-npiggin:\n  kernel: fix hlist_bl again\n  cgroups: Fix a lockdep warning at cgroup removal\n  fs: namei fix -\u003eput_link on wrong inode in do_filp_open\n"
    },
    {
      "commit": "c72a04e34735ec3f19f4788b7f95017310b5e1eb",
      "tree": "9a6958a8f291c4bd4ac80548565d3a41f8bec84a",
      "parents": [
        "323b7fe8f8f6d5ac6214382cf30e8b3a80b265c9"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Fri Jan 14 05:31:45 2011 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 08:07:48 2011 -0800"
      },
      "message": "cgroup_fs: fix cgroup use of simple_lookup()\n\ncgroup can\u0027t use simple_lookup(), since that\u0027d override its desired -\u003ed_op.\n\nTested-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1161ec944916069ceec21c487e30247d9ff22857",
      "tree": "741385cbfde51286f502790cdfb77b1af2953944",
      "parents": [
        "f123c98e7f168e949b283690693695f988332c3d",
        "b24efdfdf679cf9b05947c531971905fc727dd40"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 14 15:30:16 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 14 15:30:16 2011 +0100"
      },
      "message": "Merge branch \u0027rcu/next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-2.6-rcu into core/urgent\n"
    },
    {
      "commit": "b24efdfdf679cf9b05947c531971905fc727dd40",
      "tree": "06d8532819315ad0aa84d8ff64a1d35901b018fb",
      "parents": [
        "c072a388d59a1d48e36864d0e66f42d71745be1c"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Wed Jan 12 14:18:11 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Jan 14 04:58:08 2011 -0800"
      },
      "message": "rcu: avoid pointless blocked-task warnings\n\nIf the RCU callback-processing kthread has nothing to do, it parks in\na wait_event().  If RCU remains idle for more than two minutes, the\nkernel complains about this.  This commit changes from wait_event()\nto wait_event_interruptible() to prevent the kernel from complaining\njust because RCU is idle.\n\nReported-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nTested-by: Thomas Weber \u003cweber@corscience.de\u003e\nTested-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "c072a388d59a1d48e36864d0e66f42d71745be1c",
      "tree": "a0537c767c834d1846430ab3bb4eb83c0d0923d7",
      "parents": [
        "394f4528c523d88daabd50f883a8d6b164075555"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Jan 07 02:33:47 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Jan 14 04:56:49 2011 -0800"
      },
      "message": "rcu: demote SRCU_SYNCHRONIZE_DELAY from kernel-parameter status\n\nBecause the adaptive synchronize_srcu_expedited() approach has\nworked very well in testing, remove the kernel parameter and\nreplace it by a C-preprocessor macro.  If someone finds problems\nwith this approach, a more complex and aggressively adaptive\napproach might be required.\n\nLonger term, SRCU will be merged with the other RCU implementations,\nat which point synchronize_srcu_expedited() will be event driven,\njust as synchronize_sched_expedited() currently is.  At that point,\nthere will be no need for this adaptive approach.\n\nReported-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "3ec762ad8be364c2fadfe0d6b2cc6d4d3b5e1b54",
      "tree": "abd1529daad510dbf44a6ebcaa1f680b073eaca6",
      "parents": [
        "7b9337aaf98f9941d0927a75217d3ff31afec609"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Jan 14 11:34:34 2011 +0800"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 14 08:46:29 2011 +0000"
      },
      "message": "cgroups: Fix a lockdep warning at cgroup removal\n\nCommit 2fd6b7f5 (\"fs: dcache scale subdirs\") forgot to annotate a dentry\nlock, which caused a lockdep warning.\n\nReported-by: Valdis Kletnieks \u003cValdis.Kletnieks@vt.edu\u003e\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\n"
    },
    {
      "commit": "52cfd503ad7176d23a5dd7af3981744feb60622f",
      "tree": "0a8aeaaf4acbc86ac682f18632b8070c1c6b7ba1",
      "parents": [
        "dc8e7e3ec60bd5ef7868aa88755e9d4c948dc5cc",
        "4263d9a3ae4d15785897d0543bb59316c84ee605"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 20:15:35 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 20:15:35 2011 -0800"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (59 commits)\n  ACPI / PM: Fix build problems for !CONFIG_ACPI related to NVS rework\n  ACPI: fix resource check message\n  ACPI / Battery: Update information on info notification and resume\n  ACPI: Drop device flag wake_capable\n  ACPI: Always check if _PRW is present before trying to evaluate it\n  ACPI / PM: Check status of power resources under mutexes\n  ACPI / PM: Rename acpi_power_off_device()\n  ACPI / PM: Drop acpi_power_nocheck\n  ACPI / PM: Drop acpi_bus_get_power()\n  Platform / x86: Make fujitsu_laptop use acpi_bus_update_power()\n  ACPI / Fan: Rework the handling of power resources\n  ACPI / PM: Register power resource devices as soon as they are needed\n  ACPI / PM: Register acpi_power_driver early\n  ACPI / PM: Add function for updating device power state consistently\n  ACPI / PM: Add function for device power state initialization\n  ACPI / PM: Introduce __acpi_bus_get_power()\n  ACPI / PM: Introduce function for refcounting device power resources\n  ACPI / PM: Add functions for manipulating lists of power resources\n  ACPI / PM: Prevent acpi_power_get_inferred_state() from making changes\n  ACPICA: Update version to 20101209\n  ...\n"
    },
    {
      "commit": "ba76149f47d8c939efa0acc07a191237af900471",
      "tree": "162990f51dd24984f114cba14fc7169a3b54f0f1",
      "parents": [
        "79134171df238171daa4c024a42b77b401ccb00b"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "aarcange@redhat.com",
        "time": "Thu Jan 13 15:46:58 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 17:32:43 2011 -0800"
      },
      "message": "thp: khugepaged\n\nAdd khugepaged to relocate fragmented pages into hugepages if new\nhugepages become available.  (this is indipendent of the defrag logic that\nwill have to make new hugepages available)\n\nThe fundamental reason why khugepaged is unavoidable, is that some memory\ncan be fragmented and not everything can be relocated.  So when a virtual\nmachine quits and releases gigabytes of hugepages, we want to use those\nfreely available hugepages to create huge-pmd in the other virtual\nmachines that may be running on fragmented memory, to maximize the CPU\nefficiency at all times.  The scan is slow, it takes nearly zero cpu time,\nexcept when it copies data (in which case it means we definitely want to\npay for that cpu time) so it seems a good tradeoff.\n\nIn addition to the hugepages being released by other process releasing\nmemory, we have the strong suspicion that the performance impact of\npotentially defragmenting hugepages during or before each page fault could\nlead to more performance inconsistency than allocating small pages at\nfirst and having them collapsed into large pages later...  if they prove\nthemselfs to be long lived mappings (khugepaged scan is slow so short\nlived mappings have low probability to run into khugepaged if compared to\nlong lived mappings).\n\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e7a00c45f29c0155007aa150bf231a70fa470365",
      "tree": "3225a79905dede614ed44e98776cdc6285bbd28a",
      "parents": [
        "4e6af67e970a2ac287739a4c526c857b5bda27ec"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "aarcange@redhat.com",
        "time": "Thu Jan 13 15:46:45 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 17:32:41 2011 -0800"
      },
      "message": "thp: add pmd_huge_pte to mm_struct\n\nThis increase the size of the mm struct a bit but it is needed to\npreallocate one pte for each hugepage so that split_huge_page will not\nrequire a fail path.  Guarantee of success is a fundamental property of\nsplit_huge_page to avoid decrasing swapping reliability and to avoid\nadding -ENOMEM fail paths that would otherwise force the hugepage-unaware\nVM code to learn rolling back in the middle of its pte mangling operations\n(if something we need it to learn handling pmd_trans_huge natively rather\nbeing capable of rollback).  When split_huge_page runs a pte is needed to\nsucceed the split, to map the newly splitted regular pages with a regular\npte.  This way all existing VM code remains backwards compatible by just\nadding a split_huge_page* one liner.  The memory waste of those\npreallocated ptes is negligible and so it is worth it.\n\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a5b338f2b0b1ff73ae20c66ab831201549eaec01",
      "tree": "a89787ea6d932d66651c4621ed70f855e596d1ff",
      "parents": [
        "a95a82e96c48270980dd248ccd5546f1b49e6f8a"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "aarcange@redhat.com",
        "time": "Thu Jan 13 15:46:34 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 17:32:39 2011 -0800"
      },
      "message": "thp: update futex compound knowledge\n\nFutex code is smarter than most other gup_fast O_DIRECT code and knows\nabout the compound internals.  However now doing a put_page(head_page)\nwill not release the pin on the tail page taken by gup-fast, leading to\nall sort of refcounting bugchecks.  Getting a stable head_page is a little\ntricky.\n\npage_head \u003d page is there because if this is not a tail page it\u0027s also the\npage_head.  Only in case this is a tail page, compound_head is called,\notherwise it\u0027s guaranteed unnecessary.  And if it\u0027s a tail page\ncompound_head has to run atomically inside irq disabled section\n__get_user_pages_fast before returning.  Otherwise -\u003efirst_page won\u0027t be a\nstable pointer.\n\nDisableing irq before __get_user_page_fast and releasing irq after running\ncompound_head is needed because if __get_user_page_fast returns \u003d\u003d 1, it\nmeans the huge pmd is established and cannot go away from under us.\npmdp_splitting_flush_notify in __split_huge_page_splitting will have to\nwait for local_irq_enable before the IPI delivery can return.  This means\n__split_huge_page_refcount can\u0027t be running from under us, and in turn\nwhen we run compound_head(page) we\u0027re not reading a dangling pointer from\ntailpage-\u003efirst_page.  Then after we get to stable head page, we are\nalways safe to call compound_lock and after taking the compound lock on\nhead page we can finally re-check if the page returned by gup-fast is\nstill a tail page.  in which case we\u0027re set and we didn\u0027t need to split\nthe hugepage in order to take a futex on it.\n\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dabb16f639820267b3850d804571c70bd93d4e07",
      "tree": "7da59e6133cd2f820389574ac9206c56e046f5d4",
      "parents": [
        "d0a21265dfb5fa8ae54e90d0fb6d1c215b10a28a"
      ],
      "author": {
        "name": "Mandeep Singh Baines",
        "email": "msb@chromium.org",
        "time": "Thu Jan 13 15:46:05 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 17:32:35 2011 -0800"
      },
      "message": "oom: allow a non-CAP_SYS_RESOURCE proces to oom_score_adj down\n\nWe\u0027d like to be able to oom_score_adj a process up/down as it\nenters/leaves the foreground.  Currently, it is not possible to oom_adj\ndown without CAP_SYS_RESOURCE.  This patch allows a task to decrease its\noom_score_adj back to the value that a CAP_SYS_RESOURCE thread set it to\nor its inherited value at fork.  Assuming the thread that has forked it\nhas oom_score_adj of 0, each process could decrease it back from 0 upon\nactivation unless a CAP_SYS_RESOURCE thread elevated it to something\nhigher.\n\nAlternative considered:\n\n* a setuid binary\n* a daemon with CAP_SYS_RESOURCE\n\nSince you don\u0027t wan\u0027t all processes to be able to reduce their oom_adj, a\nsetuid or daemon implementation would be complex.  The alternatives also\nhave much higher overhead.\n\nThis patch updated from original patch based on feedback from David\nRientjes.\n\nSigned-off-by: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Ying Han \u003cyinghan@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "43bb40c9e3aa51a3b038c9df2c9afb4d4685614d",
      "tree": "3b7d37ef585d4a94d7d56f62f02418b0b0d056c1",
      "parents": [
        "5dfbd1d734ef5415bc47b034df7433ba21e40e7b"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Thu Jan 13 15:45:40 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 17:32:31 2011 -0800"
      },
      "message": "sched: remove long deprecated CLONE_STOPPED flag\n\nThis warning was added in commit bdff746a3915 (\"clone: prepare to recycle\nCLONE_STOPPED\") three years ago.  2.6.26 came and went.  As far as I know,\nno-one is actually using CLONE_STOPPED.\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6c9ae009b298753a3baf71298d676a68b5a10c8f",
      "tree": "95a7e4ca54fe8e96c95cedd4e8d6450659015212",
      "parents": [
        "558bbb2fc75fd9676e07e347c021865e326c56db"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Jan 13 15:45:38 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 17:32:31 2011 -0800"
      },
      "message": "irq: use per_cpu kstat_irqs\n\nUse modern per_cpu API to increment {soft|hard}irq counters, and use\nper_cpu allocation for (struct irq_desc)-\u003ekstats_irq instead of an array.\n\nThis gives better SMP/NUMA locality and saves few instructions per irq.\n\nWith small nr_cpuids values (8 for example), kstats_irq was a small array\n(less than L1_CACHE_BYTES), potentially source of false sharing.\n\nIn the !CONFIG_SPARSE_IRQ case, remove the huge, NUMA/cache unfriendly\nkstat_irqs_all[NR_IRQS][NR_CPUS] array.\n\nNote: we still populate kstats_irq for all possible irqs in\nearly_irq_init().  We probably could use on-demand allocations.  (Code\nincluded in alloc_descs()).  Problem is not all IRQS are used with a prior\nalloc_descs() call.\n\nkstat_irqs_this_cpu() is not used anymore, remove it.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "275220f0fcff1adf28a717076e00f575edf05fda",
      "tree": "d249bccc80c64443dab211639050c4fb14332648",
      "parents": [
        "fe3c560b8a22cb28e54fe8950abef38e88d75831",
        "81c5e2ae33c4b19e53966b427e33646bf6811830"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 10:45:01 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 10:45:01 2011 -0800"
      },
      "message": "Merge branch \u0027for-2.6.38/core\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-2.6.38/core\u0027 of git://git.kernel.dk/linux-2.6-block: (43 commits)\n  block: ensure that completion error gets properly traced\n  blktrace: add missing probe argument to block_bio_complete\n  block cfq: don\u0027t use atomic_t for cfq_group\n  block cfq: don\u0027t use atomic_t for cfq_queue\n  block: trace event block fix unassigned field\n  block: add internal hd part table references\n  block: fix accounting bug on cross partition merges\n  kref: add kref_test_and_get\n  bio-integrity: mark kintegrityd_wq highpri and CPU intensive\n  block: make kblockd_workqueue smarter\n  Revert \"sd: implement sd_check_events()\"\n  block: Clean up exit_io_context() source code.\n  Fix compile warnings due to missing removal of a \u0027ret\u0027 variable\n  fs/block: type signature of major_to_index(int) to major_to_index(unsigned)\n  block: convert !IS_ERR(p) \u0026\u0026 p to !IS_ERR_NOR_NULL(p)\n  cfq-iosched: don\u0027t check cfqg in choose_service_tree()\n  fs/splice: Pull buf-\u003eops-\u003econfirm() from splice_from_pipe actors\n  cdrom: export cdrom_check_events()\n  sd: implement sd_check_events()\n  sr: implement sr_check_events()\n  ...\n"
    },
    {
      "commit": "b2034d474b7e1e8578bd5c2977024b51693269d9",
      "tree": "e43969bf7c2ba89884c2580f56978826f1014520",
      "parents": [
        "27d189c02ba25851973c8582e419c0bded9f7e5b",
        "924241575a85249b9d410e38f5b2fcad9035e45c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 10:27:28 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 10:27:28 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (41 commits)\n  fs: add documentation on fallocate hole punching\n  Gfs2: fail if we try to use hole punch\n  Btrfs: fail if we try to use hole punch\n  Ext4: fail if we try to use hole punch\n  Ocfs2: handle hole punching via fallocate properly\n  XFS: handle hole punching via fallocate properly\n  fs: add hole punching to fallocate\n  vfs: pass struct file to do_truncate on O_TRUNC opens (try #2)\n  fix signedness mess in rw_verify_area() on 64bit architectures\n  fs: fix kernel-doc for dcache::prepend_path\n  fs: fix kernel-doc for dcache::d_validate\n  sanitize ecryptfs -\u003emount()\n  switch afs\n  move internal-only parts of ncpfs headers to fs/ncpfs\n  switch ncpfs\n  switch 9p\n  pass default dentry_operations to mount_pseudo()\n  switch hostfs\n  switch affs\n  switch configfs\n  ...\n"
    },
    {
      "commit": "008d23e4852d78bb2618f2035f8b2110b6a6b968",
      "tree": "81c88f744f6f3fc84132527c1ddc0b4da410c5e2",
      "parents": [
        "8f685fbda43deccd130d192c9fcef1444649eaca",
        "bfc672dcf323877228682aff79dff8ecd9f30ff8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 10:05:56 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 10:05:56 2011 -0800"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (43 commits)\n  Documentation/trace/events.txt: Remove obsolete sched_signal_send.\n  writeback: fix global_dirty_limits comment runtime -\u003e real-time\n  ppc: fix comment typo singal -\u003e signal\n  drivers: fix comment typo diable -\u003e disable.\n  m68k: fix comment typo diable -\u003e disable.\n  wireless: comment typo fix diable -\u003e disable.\n  media: comment typo fix diable -\u003e disable.\n  remove doc for obsolete dynamic-printk kernel-parameter\n  remove extraneous \u0027is\u0027 from Documentation/iostats.txt\n  Fix spelling milisec -\u003e ms in snd_ps3 module parameter description\n  Fix spelling mistakes in comments\n  Revert conflicting V4L changes\n  i7core_edac: fix typos in comments\n  mm/rmap.c: fix comment\n  sound, ca0106: Fix assignment to \u0027channel\u0027.\n  hrtimer: fix a typo in comment\n  init/Kconfig: fix typo\n  anon_inodes: fix wrong function name in comment\n  fix comment typos concerning \"consistent\"\n  poll: fix a typo in comment\n  ...\n\nFix up trivial conflicts in:\n - drivers/net/wireless/iwlwifi/iwl-core.c (moved to iwl-legacy.c)\n - fs/ext4/ext4.h\n\nAlso fix missed \u0027diabled\u0027 typo in drivers/net/bnx2x/bnx2x.h while at it.\n"
    },
    {
      "commit": "e2c18e49a0d4f822ffc29fb4958943beb1ff08b7",
      "tree": "227dbb544277f7908fa1666ce21a15e6b2282ccb",
      "parents": [
        "025b40abe715d638e60516a657d354e8560c1a85"
      ],
      "author": {
        "name": "Alexander Gordeev",
        "email": "lasaine@lvk.cs.msu.su",
        "time": "Wed Jan 12 17:00:57 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 08:03:21 2011 -0800"
      },
      "message": "pps: capture MONOTONIC_RAW timestamps as well\n\nMONOTONIC_RAW clock timestamps are ideally suited for frequency\ncalculation and also fit well into the original NTP hardpps design.  Now\nphase and frequency can be adjusted separately: the former based on\nREALTIME clock and the latter based on MONOTONIC_RAW clock.\n\nA new function getnstime_raw_and_real is added to timekeeping subsystem to\ncapture both timestamps at the same time and atomically.\n\nSigned-off-by: Alexander Gordeev \u003clasaine@lvk.cs.msu.su\u003e\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Rodolfo Giometti \u003cgiometti@enneenne.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "025b40abe715d638e60516a657d354e8560c1a85",
      "tree": "9320d3993c65c4eb56d3ab30337d590eb8c892fd",
      "parents": [
        "12f9b1f9c11700893a7b453705d95b260d78f268"
      ],
      "author": {
        "name": "Alexander Gordeev",
        "email": "lasaine@lvk.cs.msu.su",
        "time": "Wed Jan 12 17:00:56 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 08:03:20 2011 -0800"
      },
      "message": "ntp: add hardpps implementation\n\nThis commit adds hardpps() implementation based upon the original one from\nthe NTPv4 reference kernel code from David Mills.  However, it is highly\noptimized towards very fast syncronization and maximum stickness to PPS\nsignal.  The typical error is less then a microsecond.\n\nTo make it sync faster I had to throw away exponential phase filter so\nthat the full phase offset is corrected immediately.  Then I also had to\nthrow away median phase filter because it gives a bigger error itself if\nused without exponential filter.\n\nMaybe we will find an appropriate filtering scheme in the future but it\u0027s\nnot necessary if the signal quality is ok.\n\nSigned-off-by: Alexander Gordeev \u003clasaine@lvk.cs.msu.su\u003e\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Rodolfo Giometti \u003cgiometti@enneenne.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9ab020cf07e457a8b425bf5af17e704f90f86d8b",
      "tree": "8119f741492575b12968f325cb225ec16f437fc7",
      "parents": [
        "0329326e85aaa30fb8d427828c718d565c287385"
      ],
      "author": {
        "name": "Jeff Mahoney",
        "email": "jeffm@suse.com",
        "time": "Wed Jan 12 17:00:48 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 08:03:19 2011 -0800"
      },
      "message": "taskstats: use better ifdef for alignment\n\nCommit 4be2c95d (\"taskstats: pad taskstats netlink response for aligment\nissues on ia64\") added a null field to align the taskstats structure but\nthe discussion centered around ia64.  The issue exists on other platforms\nwith inefficient unaligned access and adding them piecemeal would be an\nunmaintainable mess.\n\nThis patch uses Dave Miller\u0027s suggestion of using a combination of\nCONFIG_64BIT \u0026\u0026 !CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS to determine\nwhether alignment is needed.\n\nNote that this will cause breakage on those platforms with applications\nlike iotop which had hard-coded offsets into the packet to access the\ntaskstats structure.\n\nThe message seen on systems without the alignment fixes looks like: kernel\nunaligned access to 0xe000023879dca9bc, ip\u003d0xa000000100133d10\n\nThe addresses may vary but resolve to locations inside __delayacct_add_tsk.\n\niotop makes what I\u0027d call unreasonable assumptions about the contents of a\nnetlink genetlink packet containing generic attributes.  They\u0027re typed and\nhave headers that specify value lengths, so the client can (should)\nidentify and skip the ones the client doesn\u0027t understand.\n\nThe kernel, as of version 2.6.36, presented a packet like so:\n+--------------------------------+\n| genlmsghdr - 4 bytes           |\n+--------------------------------+\n| NLA header - 4 bytes           | /* Aggregate header */\n+-+------------------------------+\n| | NLA header - 4 bytes         | /* PID header */\n| +------------------------------+\n| | pid/tgid   - 4 bytes         |\n| +------------------------------+\n| | NLA header - 4 bytes         | /* stats header */\n| + -----------------------------+ \u003c- oops. aligned on 4 byte boundary\n| | struct taskstats - 328 bytes |\n+-+------------------------------+\n\nThe iotop code expects that the kernel will behave as it did then,\nassuming that the packet format is set in stone.  The format is set in\nstone, but the packet offsets are not.  There\u0027s nothing in the packet\nformat that guarantees that the packet will be sent in exactly the same\nway.  The attribute contents are set (or versioned) and the aggregate\ncontents are set but they can be anywhere in the packet.\n\nThe issue here isn\u0027t that an unaligned structure gets passed to userspace,\nit\u0027s that the NLA infrastructure has something of a weakness: The 4 byte\nattribute header may force the payload to be unaligned.  The taskstats\nstructure is created at an unaligned location and then 64-bit values are\noperated on inside the kernel, so the unaligned access warnings gets\nspewed everywhere.\n\nIt\u0027s possible to use the unaligned access API to operate on the structure\nin the kernel but it seems like a wasted effort to work around userspace\ncode that isn\u0027t following the packet format.  Any new additions would also\nneed the be worked around.  It\u0027s a maintenance nightmare.\n\nThe conclusion of the earlier discussion seemed to be \"ok fine, if we have\nto break it, don\u0027t break it on arches that don\u0027t have the problem.\" Dave\npointed out that the unaligned access problem doesn\u0027t only exist on ia64,\nbut also on other 64-bit arches that don\u0027t have efficient unaligned access\nand it should be fixed there as well.  The committed version of the patch\nand this addition keep with the conclusion of that discussion not to break\nit unnecessarily, which the pid padding and the packet padding fixes did\ndo.  x86_64 and powerpc don\u0027t suffer this problem so they shouldn\u0027t suffer\nthe solution.  Other 64-bit architectures do and will, though.\n\nSigned-off-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\nReported-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Dan Carpenter \u003cerror27@gmail.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Florian Mickler \u003cflorian@mickler.org\u003e\nCc: Guillaume Chazarain \u003cguichaz@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6164281ab7a4d3bd42588d6b25984e960a2e032f",
      "tree": "ea4bf309efed7ec922431c6e5b5d659919eaf2ae",
      "parents": [
        "e020e742e5dbd8c44d31706995dc13ddc732e274"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Wed Jan 12 17:00:46 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 08:03:18 2011 -0800"
      },
      "message": "user_ns: improve the user_ns on-the-slab packaging\n\nCurrently on 64-bit arch the user_namespace is 2096 and when being\nkmalloc-ed it resides on a 4k slab wasting 2003 bytes.\n\nIf we allocate a separate cache for it and reduce the hash size from 128\nto 64 chains the packaging becomes *much* better - the struct is 1072\nbytes and the hole between is 98 bytes.\n\n[akpm@linux-foundation.org: s/__initcall/module_init/]\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Serge E. Hallyn \u003cserge@hallyn.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e020e742e5dbd8c44d31706995dc13ddc732e274",
      "tree": "7a92c6bee050f27dda16dcc1eb3e7c9cf23fca07",
      "parents": [
        "556105000334cb440636ef61b862d22b03c24f70"
      ],
      "author": {
        "name": "Jovi Zhang",
        "email": "bookjovi@gmail.com",
        "time": "Wed Jan 12 17:00:45 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 08:03:18 2011 -0800"
      },
      "message": "sysctl: remove obsolete comments\n\nctl_unnumbered.txt have been removed in Documentation directory so just\nalso remove this invalid comments\n\n[akpm@linux-foundation.org: fix Documentation/sysctl/00-INDEX, per Dave]\nSigned-off-by: Jovi Zhang \u003cbookjovi@gmail.com\u003e\nCc: Dave Young \u003chidave.darkstar@gmail.com\u003e\nAcked-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "556105000334cb440636ef61b862d22b03c24f70",
      "tree": "7b5b8d859c4e6950a67e3785c77612b6f1773a00",
      "parents": [
        "12a4dc43911785f51a596f771ae0701b18d436f1"
      ],
      "author": {
        "name": "Jovi Zhang",
        "email": "bookjovi@gmail.com",
        "time": "Wed Jan 12 17:00:45 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 08:03:18 2011 -0800"
      },
      "message": "sysctl: fix #ifdef guard comment\n\nSigned-off-by: Jovi Zhang \u003cbookjovi@gmail.com\u003e\nAcked-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "34e49d4f635d6a800c4089c40fd254e12e451449",
      "tree": "097715098524f7cf997f5646af75f839b3744fa0",
      "parents": [
        "1bdcd78e2445f1ef7097a3ae7ef12e8f9c4fb05f"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Wed Jan 12 17:00:30 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 08:03:16 2011 -0800"
      },
      "message": "fs/proc/base.c, kernel/latencytop.c: convert sprintf_symbol() to %ps\n\nUse temporary lr for struct latency_record for improved readability and\nfewer columns used.  Removed trailing space from output.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: Jiri Kosina \u003ctrivial@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fb842b00c5eab66ec361b31550aa8a922745ce9e",
      "tree": "cef7e6a0bd01849fcfc911f36293304f9ba7b3c2",
      "parents": [
        "f0f2c2b5b40b5e621a47a6a274117cce77841f1e"
      ],
      "author": {
        "name": "Huang Ying",
        "email": "ying.huang@intel.com",
        "time": "Wed Jan 12 16:59:43 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 08:03:09 2011 -0800"
      },
      "message": "printk: use RCU to prevent potential lock contention in kmsg_dump\n\ndump_list_lock is used to protect dump_list in kmsg_dumper implementation,\nkmsg_dump() uses it to traverse dump_list too.  But if there is contention\non the lock, kmsg_dump() will fail, and the valuable kernel message may be\nlost.\n\nThis patch solves this issue with RCU.  Because kmsg_dump() only read the\nlist, no lock is needed in kmsg_dump().  So that kmsg_dump() will never\nfail because of lock contention.\n\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "455cd5ab305c90ffc422dd2e0fb634730942b257",
      "tree": "c20e6c3f8e58967991ce9002abe03d31897b171c",
      "parents": [
        "351f8f8e6499ae4fff40f5e3a8fe16d9e1903646"
      ],
      "author": {
        "name": "Dan Rosenberg",
        "email": "drosenberg@vsecurity.com",
        "time": "Wed Jan 12 16:59:41 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 08:03:08 2011 -0800"
      },
      "message": "kptr_restrict for hiding kernel pointers from unprivileged users\n\nAdd the %pK printk format specifier and the /proc/sys/kernel/kptr_restrict\nsysctl.\n\nThe %pK format specifier is designed to hide exposed kernel pointers,\nspecifically via /proc interfaces.  Exposing these pointers provides an\neasy target for kernel write vulnerabilities, since they reveal the\nlocations of writable structures containing easily triggerable function\npointers.  The behavior of %pK depends on the kptr_restrict sysctl.\n\nIf kptr_restrict is set to 0, no deviation from the standard %p behavior\noccurs.  If kptr_restrict is set to 1, the default, if the current user\n(intended to be a reader via seq_printf(), etc.) does not have CAP_SYSLOG\n(currently in the LSM tree), kernel pointers using %pK are printed as 0\u0027s.\n If kptr_restrict is set to 2, kernel pointers using %pK are printed as\n0\u0027s regardless of privileges.  Replacing with 0\u0027s was chosen over the\ndefault \"(null)\", which cannot be parsed by userland %p, which expects\n\"(nil)\".\n\n[akpm@linux-foundation.org: check for IRQ context when !kptr_restrict, save an indent level, s/WARN/WARN_ONCE/]\n[akpm@linux-foundation.org: coding-style fixup]\n[randy.dunlap@oracle.com: fix kernel/sysctl.c warning]\nSigned-off-by: Dan Rosenberg \u003cdrosenberg@vsecurity.com\u003e\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Thomas Graf \u003ctgraf@infradead.org\u003e\nCc: Eugene Teo \u003ceugeneteo@kernel.org\u003e\nCc: Kees Cook \u003ckees.cook@canonical.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Eric Paris \u003ceparis@parisplace.org\u003e\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "351f8f8e6499ae4fff40f5e3a8fe16d9e1903646",
      "tree": "9393c8d3a6a1eaa9dba50932eb6de3017a8afe86",
      "parents": [
        "b8cb464e4a8abc60ad5a43e0375fec8a3c728167"
      ],
      "author": {
        "name": "Amerigo Wang",
        "email": "amwang@redhat.com",
        "time": "Wed Jan 12 16:59:39 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 08:03:08 2011 -0800"
      },
      "message": "kernel: clean up USE_GENERIC_SMP_HELPERS\n\nFor arch which needs USE_GENERIC_SMP_HELPERS, it has to select\nUSE_GENERIC_SMP_HELPERS, rather than leaving a choice to user, since they\ndon\u0027t provide their own implementions.\n\nAlso, move on_each_cpu() to kernel/smp.c, it is strange to put it in\nkernel/softirq.c.\n\nFor arch which doesn\u0027t use USE_GENERIC_SMP_HELPERS, e.g.  blackfin, only\non_each_cpu() is compiled.\n\nSigned-off-by: Amerigo Wang \u003camwang@redhat.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "04c6862c055fb687c90d9652f32c11a063df15cf"
}
