)]}'
{
  "log": [
    {
      "commit": "04305e4aff8b0533dc05f9f6f1a34d0796bd985f",
      "tree": "9938264917b4b9e6e147b883d88fca94c6788b76",
      "parents": [
        "9d57a7f9e23dc30783d245280fc9907cf2c87837"
      ],
      "author": {
        "name": "Ahmed S. Darwish",
        "email": "darwish.07@gmail.com",
        "time": "Sat Apr 19 09:59:43 2008 +1000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Sat Apr 19 09:59:43 2008 +1000"
      },
      "message": "Audit: Final renamings and cleanup\n\nRename the se_str and se_rule audit fields elements to\nlsm_str and lsm_rule to avoid confusion.\n\nSigned-off-by: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nSigned-off-by: Ahmed S. Darwish \u003cdarwish.07@gmail.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "9d57a7f9e23dc30783d245280fc9907cf2c87837",
      "tree": "508b81e213f5dca1097ccf0ece8ba092b168607b",
      "parents": [
        "d7a96f3a1ae279a2129653d6cb18d722f2f00f91"
      ],
      "author": {
        "name": "Ahmed S. Darwish",
        "email": "darwish.07@gmail.com",
        "time": "Sat Mar 01 22:03:14 2008 +0200"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Sat Apr 19 09:53:46 2008 +1000"
      },
      "message": "SELinux: use new audit hooks, remove redundant exports\n\nSetup the new Audit LSM hooks for SELinux.\nRemove the now redundant exported SELinux Audit interface.\n\nAudit: Export \u0027audit_krule\u0027 and \u0027audit_field\u0027 to the public\nsince their internals are needed by the implementation of the\nnew LSM hook \u0027audit_rule_known\u0027.\n\nSigned-off-by: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nSigned-off-by: Ahmed S. Darwish \u003cdarwish.07@gmail.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "d7a96f3a1ae279a2129653d6cb18d722f2f00f91",
      "tree": "fc38736f303133f80912f1640f2d4fac0027fe04",
      "parents": [
        "03d37d25e0f91b28c4b6d002be6221f1af4b19d8"
      ],
      "author": {
        "name": "Ahmed S. Darwish",
        "email": "darwish.07@gmail.com",
        "time": "Sat Mar 01 22:01:11 2008 +0200"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Sat Apr 19 09:52:37 2008 +1000"
      },
      "message": "Audit: internally use the new LSM audit hooks\n\nConvert Audit to use the new LSM Audit hooks instead of\nthe exported SELinux interface.\n\nBasically, use:\nsecurity_audit_rule_init\nsecuirty_audit_rule_free\nsecurity_audit_rule_known\nsecurity_audit_rule_match\n\ninstad of (respectively) :\nselinux_audit_rule_init\nselinux_audit_rule_free\naudit_rule_has_selinux\nselinux_audit_rule_match\n\nSigned-off-by: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nSigned-off-by: Ahmed S. Darwish \u003cdarwish.07@gmail.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "2a862b32f3da5a2120043921ad301322ad526084",
      "tree": "bb97054b2f648504f670e3eaed2626b547c4d081",
      "parents": [
        "713a04aeaba35bb95d442cdeb52055498519be25"
      ],
      "author": {
        "name": "Ahmed S. Darwish",
        "email": "darwish.07@gmail.com",
        "time": "Sat Mar 01 21:54:38 2008 +0200"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Sat Apr 19 09:52:34 2008 +1000"
      },
      "message": "Audit: use new LSM hooks instead of SELinux exports\n\nStop using the following exported SELinux interfaces:\nselinux_get_inode_sid(inode, sid)\nselinux_get_ipc_sid(ipcp, sid)\nselinux_get_task_sid(tsk, sid)\nselinux_sid_to_string(sid, ctx, len)\nkfree(ctx)\n\nand use following generic LSM equivalents respectively:\nsecurity_inode_getsecid(inode, secid)\nsecurity_ipc_getsecid*(ipcp, secid)\nsecurity_task_getsecid(tsk, secid)\nsecurity_sid_to_secctx(sid, ctx, len)\nsecurity_release_secctx(ctx, len)\n\nCall security_release_secctx only if security_secid_to_secctx\nsucceeded.\n\nSigned-off-by: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nSigned-off-by: Ahmed S. Darwish \u003cdarwish.07@gmail.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nReviewed-by: Paul Moore \u003cpaul.moore@hp.com\u003e\n"
    },
    {
      "commit": "73e3e6481f56b3b5b618671a8d32b19a35f84316",
      "tree": "44addba339ca1279a82d6d702e92e6cc2c183810",
      "parents": [
        "4adeaaf51ebcc3f629f5512b96aebb5089388bca",
        "6993fc5bbc5d63ccd55985b39c34417e430e75e9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:37:41 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:37:41 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt:\n  clocksource: make clocksource watchdog cycle through online CPUs\n  Documentation: move timer related documentation to a single place\n  clockevents: optimise tick_nohz_stop_sched_tick() a bit\n  locking: remove unused double_spin_lock()\n  hrtimers: simplify lockdep handling\n  timers: simplify lockdep handling\n  posix-timers: fix shadowed variables\n  timer_list: add annotations to workqueue.c\n  hrtimer: use nanosleep specific restart_block fields\n  hrtimer: add nanosleep specific restart_block member\n"
    },
    {
      "commit": "9732b6112343df2872518ec6701c8ef729310a05",
      "tree": "9e3dcc461845038da4730c2062eee546348ca445",
      "parents": [
        "9e9abecfc0ff3a9ad2ead954b37bbfcb863c775e",
        "1a9a3e76dde191f82f7a8a66059dcbb4a9f63ff3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:37:01 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:37:01 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-kgdb\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-kgdb:\n  kgdb: always use icache flush for sw breakpoints\n  kgdb: fix SMP NMI kgdb_handle_exception exit race\n  kgdb: documentation fixes\n  kgdb: allow static kgdbts boot configuration\n  kgdb: add documentation\n  kgdb: Kconfig fix\n  kgdb: add kgdb internal test suite\n  kgdb: fix several kgdb regressions\n  kgdb: kgdboc pl011 I/O module\n  kgdb: fix optional arch functions and probe_kernel_*\n  kgdb: add x86 HW breakpoints\n  kgdb: print breakpoint removed on exception\n  kgdb: clocksource watchdog\n  kgdb: fix NMI hangs\n  kgdb: fix kgdboc dynamic module configuration\n  kgdb: document parameters\n  x86: kgdb support\n  consoles: polling support, kgdboc\n  kgdb: core\n  uaccess: add probe_kernel_write()\n"
    },
    {
      "commit": "d7bb545d86825e635cab33a1dd81ca0ad7b92887",
      "tree": "34da4139ef06ceab6549aea3906639c7413978c8",
      "parents": [
        "75e98b34155264d943aa53edce465e87f3ccbadf",
        "2342e51ba2b52a7f5b78227e6faa4603ed3632a0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:25:29 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:25:29 2008 -0700"
      },
      "message": "Merge branch \u0027semaphore\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc\n\n* \u0027semaphore\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc:\n  Remove DEBUG_SEMAPHORE from Kconfig\n  Improve semaphore documentation\n  Simplify semaphore implementation\n  Add down_timeout and change ACPI to use it\n  Introduce down_killable()\n  Generic semaphore implementation\n  Add semaphore.h to kernel_lock.c\n  Fix quota.h includes\n"
    },
    {
      "commit": "4cba84b5d61af81f1f329f4d05170427a9819c39",
      "tree": "aa6f917cd82ff524dc27b2c628ac6d4b88b0fcf6",
      "parents": [
        "7d939fbdfee49e5c06bd27214d25f726fb87a25a",
        "ca68305bf3c76c4a7cd1c77d5423219f39164df8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:19:15 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:19:15 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git390.osdl.marist.edu/pub/scm/linux-2.6\n\n* \u0027for-linus\u0027 of git://git390.osdl.marist.edu/pub/scm/linux-2.6: (36 commits)\n  [S390] Remove code duplication from monreader / dcssblk.\n  [S390] kernel: show last breaking-event-address on oops\n  [S390] lowcore: Change type of lowcores softirq_pending to __u32.\n  [S390] zcrypt: Comments and kernel-doc cleanup\n  [S390] uaccess: Always access the correct address space.\n  [S390] Fix a lot of sparse warnings.\n  [S390] Convert s390 to GENERIC_CLOCKEVENTS.\n  [S390] genirq/clockevents: move irq affinity prototypes/inlines to interrupt.h\n  [S390] Convert monitor calls to function calls.\n  [S390] qdio (new feature): enhancing info-retrieval from QDIO-adapters\n  [S390] replace remaining __FUNCTION__ occurrences\n  [S390] remove redundant display of free swap space in show_mem()\n  [S390] qdio: remove outdated developerworks link.\n  [S390] Add debug_register_mode() function to debug feature API\n  [S390] crypto: use more descriptive function names for init/exit routines.\n  [S390] switch sched_clock to store-clock-extended.\n  [S390] zcrypt: add support for large random numbers\n  [S390] hw_random: allow rng_dev_read() to return hardware errors.\n  [S390] Vertical cpu management.\n  [S390] cpu topology support for s390.\n  ...\n"
    },
    {
      "commit": "18c98b65279c00c3c983a4525161207f1aa6a04b",
      "tree": "21ddeaf029407a08a81843bf35aeb338b2d67dd7",
      "parents": [
        "0e04388f0189fa1f6812a8e1cb6172136eada87e"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Thu Apr 17 18:44:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:17:57 2008 -0700"
      },
      "message": "ptrace_signal subroutine\n\nThis breaks out the ptrace handling from get_signal_to_deliver into a\nnew subroutine.  The actual code there doesn\u0027t change, and it gets\ninlined into nearly identical compiled code.  This makes the function\nsubstantially shorter and thus easier to read, and it nicely isolates\nthe ptrace magic.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nAcked-by: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0e04388f0189fa1f6812a8e1cb6172136eada87e",
      "tree": "4e0bf422e8ed6b61b840ac45dadaca84b954f7ad",
      "parents": [
        "4b119e21d0c66c22e8ca03df05d9de623d0eb50f"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Apr 17 11:37:15 2008 +0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:17:57 2008 -0700"
      },
      "message": "cgroup: fix a race condition in manipulating tsk-\u003ecg_list\n\nWhen I ran a test program to fork mass processes and at the same time\n\u0027cat /cgroup/tasks\u0027, I got the following oops:\n\n  ------------[ cut here ]------------\n  kernel BUG at lib/list_debug.c:72!\n  invalid opcode: 0000 [#1] SMP\n  Pid: 4178, comm: a.out Not tainted (2.6.25-rc9 #72)\n  ...\n  Call Trace:\n   [\u003cc044a5f9\u003e] ? cgroup_exit+0x55/0x94\n   [\u003cc0427acf\u003e] ? do_exit+0x217/0x5ba\n   [\u003cc0427ed7\u003e] ? do_group_exit+0.65/0x7c\n   [\u003cc0427efd\u003e] ? sys_exit_group+0xf/0x11\n   [\u003cc0404842\u003e] ? syscall_call+0x7/0xb\n   [\u003cc05e0000\u003e] ? init_cyrix+0x2fa/0x479\n  ...\n  EIP: [\u003cc04df671\u003e] list_del+0x35/0x53 SS:ESP 0068:ebc7df4\n  ---[ end trace caffb7332252612b ]---\n  Fixing recursive fault but reboot is needed!\n\nAfter digging into the code and debugging, I finlly found out a race\nsituation:\n\n\t\t\t\tdo_exit()\n\t\t\t\t  -\u003ecgroup_exit()\n\t\t\t\t    -\u003eif (!list_empty(\u0026tsk-\u003ecg_list))\n\t\t\t\t        list_del(\u0026tsk-\u003ecg_list);\n\n  cgroup_iter_start()\n    -\u003ecgroup_enable_task_cg_list()\n      -\u003elist_add(\u0026tsk-\u003ecg_list, ..);\n\nIn this case the list won\u0027t be deleted though the process has exited.\n\nWe got two bug reports in the past, which seem to be the same bug as\nthis one:\n\thttp://lkml.org/lkml/2008/3/5/332\n\thttp://lkml.org/lkml/2007/10/17/224\n\nActually sometimes I got oops on list_del, sometimes oops on list_add.\nAnd I can change my test program a bit to trigger other oops.\n\nThe patch has been tested both on x86_32 and x86_64.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1a9a3e76dde191f82f7a8a66059dcbb4a9f63ff3",
      "tree": "d1bfaca84bf03dc79caf70747f7c289558e3c7e9",
      "parents": [
        "56fb70932964927597ce30bbd820471633c72adc"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Tue Apr 01 16:55:28 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 17 20:05:43 2008 +0200"
      },
      "message": "kgdb: always use icache flush for sw breakpoints\n\nOn the ppc 4xx architecture the instruction cache must be flushed as\nwell as the data cache.  This patch just makes it generic for all\narchitectures where CACHE_FLUSH_IS_SAFE is set to 1.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "56fb70932964927597ce30bbd820471633c72adc",
      "tree": "72654913a07cbc83f174234d4fa0f91b79a2164c",
      "parents": [
        "225a4424ade24e913c081d5a4c4bd71a0fe2e0ac"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Tue Apr 01 16:55:27 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 17 20:05:43 2008 +0200"
      },
      "message": "kgdb: fix SMP NMI kgdb_handle_exception exit race\n\nFix the problem of protecting the kgdb handle_exception exit\nwhich had an NMI race condition, while trying to restore\nnormal system operation.\n\nThere was a small window after the master processor sets cpu_in_debug\nto zero but before it has set kgdb_active to zero where a\nnon-master processor in an SMP system could receive an NMI and\nre-enter the kgdb_wait() loop.\n\nAs long as the master processor sets the cpu_in_debug before sending\nthe cpu roundup the cpu_in_debug variable can also be used to guard\nagainst the race condition.\n\nThe kgdb_wait() function no longer needs to check\nkgdb_active because it is done in the arch specific code\nand handled along with the nmi traps at the low level.\nThis also allows kgdb_wait() to exit correctly if it was\nentered for some unknown reason due to a spurious NMI that\ncould not be handled by the arch specific code.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "737a460f21febe551ff1d2299b63bae9b154078f",
      "tree": "7a2d9440222c22446e283f6fbc959b4a44270989",
      "parents": [
        "84b5ae15216aa3ea0314f395536ef9829af21e14"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Mar 07 16:34:16 2008 -0600"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 17 20:05:40 2008 +0200"
      },
      "message": "kgdb: fix several kgdb regressions\n\nkgdb core fixes:\n- Check to see that mm-\u003emmap_cache is not null before calling\n  flush_cache_range(), else on arch\u003dARM it will cause a fatal\n  fault.\n\n- Breakpoints should only be restored if they are in the BP_ACTIVE\n  state.\n\n- Fix a typo in comments to \"kgdb_register_io_module\"\n\nx86 kgdb fixes:\n- Fix the x86 arch handler such that on a kill or detach that the\n  appropriate cleanup on the single stepping flags gets run.\n\n- Add in the DIE_NMIWATCHDOG call for x86_64\n\n- Touch the nmi watchdog before returning the system to normal\n  operation after performing any kind of kgdb operation, else\n  the possibility exists to trigger the watchdog.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b4b8ac524d9b6ed7229017145afa1d7afbea4a48",
      "tree": "c1b8ef7b22ebc956c0effd0ad6b5a37290f86bda",
      "parents": [
        "64e9ee3095b61d0300ea548216a57d2536611309"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Wed Feb 20 13:33:38 2008 -0600"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 17 20:05:39 2008 +0200"
      },
      "message": "kgdb: fix optional arch functions and probe_kernel_*\n\nFix two regressions dealing with the kgdb core.\n\n1) kgdb_skipexception and kgdb_post_primary_code are optional\nfunctions that are only required on archs that need special exception\nfixups.\n\n2) The kernel address space scope must be set on any probe_kernel_*\nfunction or archs such as ARCH\u003darm will not allow access to the kernel\nmemory space.  As an example, it is required to allow the full kernel\naddress space is when you the kernel debugger to inspect a system\ncall.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "64e9ee3095b61d0300ea548216a57d2536611309",
      "tree": "21cf21caafa18b5661ceeaeb4d29e2ed784d0345",
      "parents": [
        "67baf94cd260dc37504dbd15ba3faa2d8cf8a444"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Feb 15 14:55:56 2008 -0600"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 17 20:05:39 2008 +0200"
      },
      "message": "kgdb: add x86 HW breakpoints\n\nAdd HW breakpoints into the arch specific portion of x86 kgdb.  In the\ncurrent x86 kernel.org kernels HW breakpoints are changed out in lazy\nfashion because there is no infrastructure around changing them when\nchanging to a kernel task or entering the kernel mode via a system\ncall.  This lazy approach means that if a user process uses HW\nbreakpoints the kgdb will loose out.  This is an acceptable trade off\nbecause the developer debugging the kernel is assumed to know what is\ngoing on system wide and would be aware of this trade off.\n\nThere is a minor bug fix to the kgdb core so as to correctly call the\nhw breakpoint functions with a valid value from the enum.\n\nThere is also a minor change to the x86_64 startup code when using\nearly HW breakpoints.  When the debugger is connected, the cpu startup\ncode must not zero out the HW breakpoint registers or you cannot hit\nthe breakpoints you are interested in, in the first place.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "67baf94cd260dc37504dbd15ba3faa2d8cf8a444",
      "tree": "0a162e5ddb4166862bb2ba002efa18a0bcb83a57",
      "parents": [
        "7c3078b637882303b1dcf6a16229d0e35f6b60a5"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Feb 15 14:55:55 2008 -0600"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 17 20:05:39 2008 +0200"
      },
      "message": "kgdb: print breakpoint removed on exception\n\nIf kgdb does remove a breakpoint that had a problem on the recursion\ncheck, it should also print the address of the breakpoint.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7c3078b637882303b1dcf6a16229d0e35f6b60a5",
      "tree": "4b1456f81627056eff8750e42481c0b00ac84cf0",
      "parents": [
        "d359752407f8916c29ad53a5c30ac73e338f2797"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Feb 15 14:55:54 2008 -0600"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 17 20:05:38 2008 +0200"
      },
      "message": "kgdb: clocksource watchdog\n\nIn order to not trip the clocksource watchdog, kgdb must touch the\nclocksource watchdog on the return to normal system run state.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "dc7d552705215ac50a0617fcf51bb9c736255b8e",
      "tree": "3ca376bdf4e6996edd9e2dabd569a791f050dae8",
      "parents": [
        "c33fa9f5609e918824446ef9a75319d4a802f1f4"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Apr 17 20:05:37 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 17 20:05:37 2008 +0200"
      },
      "message": "kgdb: core\n\nkgdb core code. Handles the protocol and the arch details.\n\n[ mingo@elte.hu: heavily modified, simplified and cleaned up. ]\n[ xemul@openvz.org: use find_task_by_pid_ns ]\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@web.de\u003e\nReviewed-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "714493cd5468f42ca3c4f730a9c17c203abd5059",
      "tree": "9d087ad3b74cb1bd6fbd9be486fc2b361c6407dd",
      "parents": [
        "b17170b2fac96705db3188f093f89e8e838418e4"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Fri Apr 11 15:23:52 2008 -0400"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Apr 17 10:43:01 2008 -0400"
      },
      "message": "Improve semaphore documentation\n\nMove documentation from semaphore.h to semaphore.c as requested by\nAndrew Morton.  Also reformat to kernel-doc style and add some more\nnotes about the implementation.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "b17170b2fac96705db3188f093f89e8e838418e4",
      "tree": "3264d8a297cff20338b606559274c36fbf663f04",
      "parents": [
        "f1241c87a16c4fe9f4f51d6ed3589f031c505e8d"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Fri Mar 14 14:35:22 2008 -0400"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Apr 17 10:42:54 2008 -0400"
      },
      "message": "Simplify semaphore implementation\n\nBy removing the negative values of \u0027count\u0027 and relying on the wait_list to\nindicate whether we have any waiters, we can simplify the implementation\nby removing the protection against an unlikely race condition.  Thanks to\nDavid Howells for his suggestions.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "f1241c87a16c4fe9f4f51d6ed3589f031c505e8d",
      "tree": "2e0ee0f2b864c89eda9067bda0d8a98596e022e7",
      "parents": [
        "f06d96865861c3dd01520f47e2e61c899db1631f"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Fri Mar 14 13:43:13 2008 -0400"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Apr 17 10:42:46 2008 -0400"
      },
      "message": "Add down_timeout and change ACPI to use it\n\nACPI currently emulates a timeout for semaphores with calls to\ndown_trylock and sleep.  This produces horrible behaviour in terms of\nfairness and excessive wakeups.  Now that we have a unified semaphore\nimplementation, adding a real down_trylock is almost trivial.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "f06d96865861c3dd01520f47e2e61c899db1631f",
      "tree": "d2fbd08af06a96b10192f7b27dd3ea2df1bb93d8",
      "parents": [
        "64ac24e738823161693bf791f87adc802cf529ff"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Fri Mar 14 13:19:33 2008 -0400"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Apr 17 10:42:40 2008 -0400"
      },
      "message": "Introduce down_killable()\n\ndown_killable() is the functional counterpart of mutex_lock_killable.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "64ac24e738823161693bf791f87adc802cf529ff",
      "tree": "19c0b0cf314d4394ca580c05b86cdf874ce0a167",
      "parents": [
        "e48b3deee475134585eed03e7afebe4bf9e0dba9"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Fri Mar 07 21:55:58 2008 -0500"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Apr 17 10:42:34 2008 -0400"
      },
      "message": "Generic semaphore implementation\n\nSemaphores are no longer performance-critical, so a generic C\nimplementation is better for maintainability, debuggability and\nextensibility.  Thanks to Peter Zijlstra for fixing the lockdep\nwarning.  Thanks to Harvey Harrison for pointing out that the\nunlikely() was unnecessary.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6993fc5bbc5d63ccd55985b39c34417e430e75e9",
      "tree": "6a1ea13d3f27a8063a9375689b729479c4e63e22",
      "parents": [
        "3833eecc183ce052e9ac96b39b45121a2d11ac16"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed Jan 30 13:30:02 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Apr 17 12:22:31 2008 +0200"
      },
      "message": "clocksource: make clocksource watchdog cycle through online CPUs\n\nThis way it checks if the clocks are synchronized between CPUs too.\nThis might be able to detect slowly drifting TSCs which only\ngo wrong over longer time.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "903b8a8d4835a796f582033802c83283886f4a3d",
      "tree": "11837b4da0000633f90000bb47aaa4fa82a029be",
      "parents": [
        "3f3eafc921e2378954c28cfd0eb10910449f4c11"
      ],
      "author": {
        "name": "Karsten Wiese",
        "email": "fzu@wemgehoertderstaat.de",
        "time": "Thu Feb 28 15:10:50 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Apr 17 12:22:31 2008 +0200"
      },
      "message": "clockevents: optimise tick_nohz_stop_sched_tick() a bit\n\nCall\n\tts \u003d \u0026per_cpu(tick_cpu_sched, cpu);\nand\n\tcpu \u003d smp_processor_id();\nonce instead of twice.\n\nNo functional change done, as changed code runs with local irq off.\nReduces source lines and text size (20bytes on x86_64).\n\n[ akpm@linux-foundation.org: Build fix ]\n\nSigned-off-by: Karsten Wiese \u003cfzu@wemgehoertderstaat.de\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "8e60e05fdc7344415fa69a3883b11f65db967b47",
      "tree": "a0b13c31670221906e8d48cb7bf47dc8f8043918",
      "parents": [
        "0d180406f2914aea3a78ddb880e2fe9ac78a9372"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Apr 04 20:54:10 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Apr 17 12:22:31 2008 +0200"
      },
      "message": "hrtimers: simplify lockdep handling\n\nIn order to avoid the false positive from lockdep, each per-cpu base-\u003elock has\nthe separate lock class and migrate_hrtimers() uses double_spin_lock().\n\nThis is overcomplicated: except for migrate_hrtimers() we never take 2 locks\nat once, and migrate_hrtimers() can use spin_lock_nested().\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "0d180406f2914aea3a78ddb880e2fe9ac78a9372",
      "tree": "deb1f21d29a3ba8e7bdcc186ea78594599fce409",
      "parents": [
        "ee7dd205b5cdbc3231d48e38641efd05f572c52a"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Apr 04 20:54:10 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Apr 17 12:22:31 2008 +0200"
      },
      "message": "timers: simplify lockdep handling\n\nIn order to avoid the false positive from lockdep, each per-cpu base-\u003elock has\nthe separate lock class and migrate_timers() uses double_spin_lock().\n\nThis all is overcomplicated: except for migrate_timers() we never take 2 locks\nat once, and migrate_timers() can use spin_lock_nested().\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "ee7dd205b5cdbc3231d48e38641efd05f572c52a",
      "tree": "050a76fce97dbbfa8097d974140f441113226b3d",
      "parents": [
        "d59b949f771eb3cbe50865c72e13e2a0a8d4d781"
      ],
      "author": {
        "name": "WANG Cong",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Fri Apr 04 20:54:10 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Apr 17 12:22:30 2008 +0200"
      },
      "message": "posix-timers: fix shadowed variables\n\nFix sparse warnings like this:\nkernel/posix-cpu-timers.c:1090:25: warning: symbol \u0027t\u0027 shadows an earlier one\nkernel/posix-cpu-timers.c:1058:21: originally declared here\n\nSigned-off-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "d59b949f771eb3cbe50865c72e13e2a0a8d4d781",
      "tree": "cf0ca4406e2e82a3c7b7aaaf791a1f4296d1b126",
      "parents": [
        "029a07e0311c7fef968d44b50beca53969cee40b"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@ucw.cz",
        "time": "Tue Feb 05 00:48:13 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Apr 17 12:22:30 2008 +0200"
      },
      "message": "timer_list: add annotations to workqueue.c\n\nAdd timer list annotations to workqueue.c so we can see the call site\nin the timer stats.\n\nSigned-off-by: Pavel Machek \u003cPavel@suse.cz\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "029a07e0311c7fef968d44b50beca53969cee40b",
      "tree": "a062017b78508e5d91d7063e24f374c21215ff02",
      "parents": [
        "a332d86d3c262cddd3de0bfa90e1910de60b4f95"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Feb 10 09:17:43 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Apr 17 12:22:30 2008 +0200"
      },
      "message": "hrtimer: use nanosleep specific restart_block fields\n\nConvert all the nanosleep related users of restart_block to the\nnew nanosleep specific restart_block fields.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "d7b906897e9caae452947e33674df0a2d6f7e10f",
      "tree": "5df31094a1b24a46369bda89cdf54d5403b1caa9",
      "parents": [
        "43ca5c3a1cefdaa09231d64485b8f676118bf1e0"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+lkml@arm.linux.org.uk",
        "time": "Thu Apr 17 07:46:24 2008 +0200"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Thu Apr 17 07:47:05 2008 +0200"
      },
      "message": "[S390] genirq/clockevents: move irq affinity prototypes/inlines to interrupt.h\n\n\u003e Generic code is not supposed to include irq.h. Replace this include\n\u003e by linux/hardirq.h instead and add/replace an include of linux/irq.h\n\u003e in asm header files where necessary.\n\u003e This change should only matter for architectures that make use of\n\u003e GENERIC_CLOCKEVENTS.\n\u003e Architectures in question are mips, x86, arm, sh, powerpc, uml and sparc64.\n\u003e\n\u003e I did some cross compile tests for mips, x86_64, arm, powerpc and sparc64.\n\u003e This patch fixes also build breakages caused by the include replacement in\n\u003e tick-common.h.\n\nI generally dislike adding optional linux/* includes in asm/* includes -\nI\u0027m nervous about this causing include loops.\n\nHowever, there\u0027s a separate point to be discussed here.\n\nThat is, what interfaces are expected of every architecture in the kernel.\nIf generic code wants to be able to set the affinity of interrupts, then\nthat needs to become part of the interfaces listed in linux/interrupt.h\nrather than linux/irq.h.\n\nSo what I suggest is this approach instead (against Linus\u0027 tree of a\ncouple of days ago) - we move irq_set_affinity() and irq_can_set_affinity()\nto linux/interrupt.h, change the linux/irq.h includes to linux/interrupt.h\nand include asm/irq_regs.h where needed (asm/irq_regs.h is supposed to be\nrarely used include since not much touches the stacked parent context\nregisters.)\n\nBuild tested on ARM PXA family kernels and ARM\u0027s Realview platform\nkernels which both use genirq.\n\n[ tglx@linutronix.de: add GENERIC_HARDIRQ dependencies ]\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "093a07e2fdfaddab7fc7d4adc76cc569c86603d7",
      "tree": "baaa4d86680347a0687ebfbe133d7b253b88102c",
      "parents": [
        "0de19a456cb59106420864927fdec152310f70b6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 15 13:09:54 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 15 13:09:54 2008 -0700"
      },
      "message": "Fix locking bug in \"acquire_console_semaphore_for_printk()\"\n\nWhen I cleaned up printk() and split up the printk locking logic in\ncommit 266c2e0abeca649fa6667a1a427ad1da507c6375 (\"Make printk() console\nsemaphore accesses sensible\") I had incorrectly moved the call to\nhave_callable_console() outside of the console semaphore.\n\nThat was buggy.  The console semaphore protects the console_drivers list\nthat is used by have_callable_console().\n\nThanks go to Bongani Hlope who saw this as a hang on shutdown and reboot\nand bisected the bug to the right commit, and tested this patch. See\n\n\thttp://lkml.org/lkml/2008/4/11/315\n\nBisected-and-tested-by: Bongani Hlope \u003cbonganilinux@mweb.co.za\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e2df9e0905136eebeca66eb9a994ca48d0fa7990",
      "tree": "a349fbb43871b173703f14bf325545e491de7bff",
      "parents": [
        "120dd64cacd4fb796bca0acba3665553f1d9ecaa"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 14 08:50:02 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 14 14:26:23 2008 +0200"
      },
      "message": "revert \"sched: fix fair sleepers\"\n\nrevert \"sched: fix fair sleepers\" (e22ecef1d2658ba54ed7d3fdb5d60829fb434c23),\nbecause it is causing audio skipping, see:\n\n   http://bugzilla.kernel.org/show_bug.cgi?id\u003d10428\n\nthe patch is correct and the real cause of the skipping is not\nunderstood (tracing makes it go away), but time has run out so we\u0027ll\nrevert it and re-try in 2.6.26.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b6c3006d204a0b86e1ebe02ca38f9f071a03c7ef",
      "tree": "f8f4487b8fe5dedb804c876c3e6f7df90f6b209d",
      "parents": [
        "d10d89ec78114f925f63c5126a2b2490f501a462"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Thu Apr 10 21:29:16 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 11 08:06:43 2008 -0700"
      },
      "message": "cgroups: include hierarchy ids in /proc/\u003cpid\u003e/cgroup\n\nExtend the /proc/\u003cpid\u003e/cgroup file to include the appropriate hierarchy ID on\neach line.\n\nCurrently this ID isn\u0027t really needed since a hierarchy can be completely\nidentified by the set of subsystems bound to it, but this is likely to change\nin the near future in order to support stateless subsystems and\nmerging/rebinding of subsystems.  Getting this change into 2.6.25 reduces the\nneed for an API change later.\n\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "54a015104136974262afa4b8ddd943ea70dec8a2",
      "tree": "713f0c1f4d0afe62e5c568a424e309f70388cf7f",
      "parents": [
        "783e391b7b5b273cd20856d8f6f4878da8ec31b3"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Thu Apr 10 15:37:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 10 17:28:26 2008 -0700"
      },
      "message": "asmlinkage_protect replaces prevent_tail_call\n\nThe prevent_tail_call() macro works around the problem of the compiler\nclobbering argument words on the stack, which for asmlinkage functions\nis the caller\u0027s (user\u0027s) struct pt_regs.  The tail/sibling-call\noptimization is not the only way that the compiler can decide to use\nstack argument words as scratch space, which we have to prevent.\nOther optimizations can do it too.\n\nUntil we have new compiler support to make \"asmlinkage\" binding on the\ncompiler\u0027s own use of the stack argument frame, we have work around all\nthe manifestations of this issue that crop up.\n\nMore cases seem to be prevented by also keeping the incoming argument\nvariables live at the end of the function.  This makes their original\nstack slots attractive places to leave those variables, so the compiler\ntends not clobber them for something else.  It\u0027s still no guarantee, but\nit handles some observed cases that prevent_tail_call() did not.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8bab8dded67d026c39367bbd5e27d2f6c556c38e",
      "tree": "d80f8f85f1da496c56bfa8575f0b59eba7c2ef55",
      "parents": [
        "3a143125ddc4e2e0ca1e67fb4bedd45c36e59cc7"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Fri Apr 04 14:29:57 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 04 14:46:26 2008 -0700"
      },
      "message": "cgroups: add cgroup support for enabling controllers at boot time\n\nThe effects of cgroup_disable\u003dfoo are:\n\n- foo isn\u0027t auto-mounted if you mount all cgroups in a single hierarchy\n- foo isn\u0027t visible as an individually mountable subsystem\n\nAs a result there will only ever be one call to foo-\u003ecreate(), at init time;\nall processes will stay in this group, and the group will never be mounted on\na visible hierarchy.  Any additional effects (e.g.  not allocating metadata)\nare up to the foo subsystem.\n\nThis doesn\u0027t handle early_init subsystems (their \"disabled\" bit isn\u0027t set be,\nbut it could easily be extended to do so if any of the early_init systems\nwanted it - I think it would just involve some nastier parameter processing\nsince it would occur before the command-line argument parser had been run.\n\nHugh said:\n\n  Ballpark figures, I\u0027m trying to get this question out rather than\n  processing the exact numbers: CONFIG_CGROUP_MEM_RES_CTLR adds 15% overhead\n  to the affected paths, booting with cgroup_disable\u003dmemory cuts that back to\n  1% overhead (due to slightly bigger struct page).\n\n  I\u0027m no expert on distros, they may have no interest whatever in\n  CONFIG_CGROUP_MEM_RES_CTLR\u003dy; and the rest of us can easily build with or\n  without it, or apply the cgroup_disable\u003dmemory patches.\n\nUnix bench\u0027s execl test result on x86_64 was\n\n\u003d\u003d just after boot without mounting any cgroup fs.\u003d\u003d\nmem_cgorup\u003doff : Execl Throughput       43.0     3150.1      732.6\nmem_cgroup\u003don  : Execl Throughput       43.0     2932.6      682.0\n\u003d\u003d\n\n[lizf@cn.fujitsu.com: fix boot option parsing]\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Sudhir Kumar \u003cskumar@linux.vnet.ibm.com\u003e\nCc: YAMAMOTO Takashi \u003cyamamoto@valinux.co.jp\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6496968e6cc3f01faafa63a5a28549a708539ac0",
      "tree": "de0af9ad6750690d6815f3e263fe2bc188591fa8",
      "parents": [
        "629c8b4cdb354518308663aff2f719e02f69ffbe"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Wed Apr 02 13:04:51 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 02 15:28:19 2008 -0700"
      },
      "message": "markers: use synchronize_sched()\n\nMarkers do not mix well with CONFIG_PREEMPT_RCU because it uses\npreempt_disable/enable() and not rcu_read_lock/unlock for minimal\nintrusiveness.  We would need call_sched and sched_barrier primitives.\n\nCurrently, the modification (connection and disconnection) of probes\nfrom markers requires changes to the data structure done in RCU-style :\na new data structure is created, the pointer is changed atomically, a\nquiescent state is reached and then the old data structure is freed.\n\nThe quiescent state is reached once all the currently running\npreempt_disable regions are done running.  We use the call_rcu mechanism\nto execute kfree() after such quiescent state has been reached.\nHowever, the new CONFIG_PREEMPT_RCU version of call_rcu and rcu_barrier\ndoes not guarantee that all preempt_disable code regions have finished,\nhence the race.\n\nThe \"proper\" way to do this is to use rcu_read_lock/unlock, but we don\u0027t\nwant to use it to minimize intrusiveness on the traced system.  (we do\nnot want the marker code to call into much of the OS code, because it\nwould quickly restrict what can and cannot be instrumented, such as the\nscheduler).\n\nThe temporary fix, until we get call_rcu_sched and rcu_barrier_sched in\nmainline, is to use synchronize_sched before each call_rcu calls, so we\nwait for the quiescent state in the system call code path.  It will slow\ndown batch marker enable/disable, but will make sure the race is gone.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nAcked-by: 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": "8481664d373e7e2cea3ea0c2d7a06c9e939b19ee",
      "tree": "83b81b68e453d8880ae92c811e4f138eb8140038",
      "parents": [
        "9dce07f1a441b77a15631cf0ed0238e0baa7ed64"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Sat Mar 29 03:07:58 2008 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 30 14:18:41 2008 -0700"
      },
      "message": "futex_compat __user annotation\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9dce07f1a441b77a15631cf0ed0238e0baa7ed64",
      "tree": "2131d670d31ae4727b4234e3e0ad176ae103d571",
      "parents": [
        "1076d17ac70d1bb28fadc6f4bd96977b56897025"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Sat Mar 29 03:07:28 2008 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 30 14:18:41 2008 -0700"
      },
      "message": "NULL noise: fs/*, mm/*, kernel/*\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f706d5d22c35e18ed13a4b2b4991aac75bf39df5",
      "tree": "89de67dd7ea1a72cbf6147bbb8a3b7cfb6e746ae",
      "parents": [
        "5214b729e1c2dc3af8f55e6c4c548844c3bea0f5"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@codemonkey.org.uk",
        "time": "Fri Mar 28 14:15:56 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 28 14:45:21 2008 -0700"
      },
      "message": "audit: silence two kerneldoc warnings in kernel/audit.c\n\nSilence two kerneldoc warnings.\n\nWarning(kernel/audit.c:1276): No description found for parameter \u0027string\u0027\nWarning(kernel/audit.c:1276): No description found for parameter \u0027len\u0027\n\n[also fix a typo for bonus points]\n\nSigned-off-by: Dave Jones \u003cdavej@codemonkey.org.uk\u003e\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1d4a788f15302877ff2cb08f22009e290a36a209",
      "tree": "51d2733fb81a75903e4b0f8a5d2ce9f903361ff0",
      "parents": [
        "8c703d35fa91911dd92a18c31a718853f483ad80"
      ],
      "author": {
        "name": "YAMAMOTO Takashi",
        "email": "yamamoto@valinux.co.jp",
        "time": "Fri Mar 28 14:15:50 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 28 14:45:21 2008 -0700"
      },
      "message": "memcgroup: fix spurious EBUSY on memory cgroup removal\n\nCall mm_free_cgroup earlier.  Otherwise a reference due to lazy mm switching\ncan prevent cgroup removal.\n\nSigned-off-by: YAMAMOTO Takashi \u003cyamamoto@valinux.co.jp\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@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": "f6d107fb10def502522b10bfb7af9533afbb8274",
      "tree": "7fcf68e80a964a71b642d2bc1886c8060ae78fd3",
      "parents": [
        "ee20a0dd5400e771ff93eb7f2bcc731eab1f377e"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@ozlabs.org",
        "time": "Thu Mar 27 14:52:15 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 27 08:02:13 2008 -0700"
      },
      "message": "Give futex init a proper name\n\nThe futex init function is called init(). This is a pain in the neck\nwhen debugging when you code dies in ... init :-)\n\nThis renames it to futex_init().\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8f404faa72f4e458e7bd81ac75ce55ae829e953d",
      "tree": "46b70d6d86fc619343b4986160bda5e46b86bb18",
      "parents": [
        "729eb528c7e10a4828fece102872ec5255946f64",
        "06d8308c61e54346585b2691c13ee3f90cb6fb2f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 26 11:29:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 26 11:29:35 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt\n\n* \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt:\n  NOHZ: reevaluate idle sleep length after add_timer_on()\n  clocksource: revert: use init_timer_deferrable for clocksource_watchdog\n"
    },
    {
      "commit": "5eb7f9fa847b8ab6e4864bfb8cb45f370844a47c",
      "tree": "6d84d9441eaf31bf471fb98996bb6e5b5ecd875f",
      "parents": [
        "37529fe9f62835e1c11895a1895064748b032dc1"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Mar 26 12:04:09 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Mar 26 12:04:09 2008 +0100"
      },
      "message": "relay: set an spd_release() hook for splice\n\nrelay doesn\u0027t reference the pages it adds, however we need a non-NULL\nhook or splice_to_pipe() can oops.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "37529fe9f62835e1c11895a1895064748b032dc1",
      "tree": "961853665601ae08f85008cae589798bdf8f940d",
      "parents": [
        "05dda977f2574c3341abef9b74c27d2b362e1e3a"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Wed Mar 26 12:01:28 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Mar 26 12:01:28 2008 +0100"
      },
      "message": "set relay file can not be read by pread(2)\n\nI found that relay files can be read by pread(2). I fix it,\nfor relay files are not capable of seeking.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "06d8308c61e54346585b2691c13ee3f90cb6fb2f",
      "tree": "d522e285525964706e7ec112bca23d407a540a8e",
      "parents": [
        "898a19de1502649877091b398229026b4142c0e2"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Mar 22 09:20:24 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Mar 26 08:28:55 2008 +0100"
      },
      "message": "NOHZ: reevaluate idle sleep length after add_timer_on()\n\nadd_timer_on() can add a timer on a CPU which is currently in a long\nidle sleep, but the timer wheel is not reevaluated by the nohz code on\nthat CPU. So a timer can be delayed for quite a long time. This\ntriggered a false positive in the clocksource watchdog code.\n\nTo avoid this we need to wake up the idle CPU and enforce the\nreevaluation of the timer wheel for the next timer event.\n\nAdd a function, which checks a given CPU for idle state, marks the\nidle task with NEED_RESCHED and sends a reschedule IPI to notify the\nother CPU of the change in the timer wheel.\n\nCall this function from add_timer_on().\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: stable@kernel.org\n\n--\n include/linux/sched.h |    6 ++++++\n kernel/sched.c        |   43 +++++++++++++++++++++++++++++++++++++++++++\n kernel/timer.c        |   10 +++++++++-\n 3 files changed, 58 insertions(+), 1 deletion(-)\n\n"
    },
    {
      "commit": "898a19de1502649877091b398229026b4142c0e2",
      "tree": "14bb8190db30d356cb1da9e7467898e12bf26a29",
      "parents": [
        "a4083c9271e0a697278e089f2c0b9a95363ada0a"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 25 09:01:51 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 25 20:13:25 2008 +0100"
      },
      "message": "clocksource: revert: use init_timer_deferrable for clocksource_watchdog\n\nRevert\n\ncommit 1077f5a917b7c630231037826b344b2f7f5b903f\nAuthor: Parag Warudkar \u003cparag.warudkar@gmail.com\u003e\nDate:   Wed Jan 30 13:30:01 2008 +0100\n\n    clocksource.c: use init_timer_deferrable for clocksource_watchdog\n    \n    clocksource_watchdog can use a deferrable timer - reduces wakeups from\n    idle per second.\n\nThe watchdog timer needs to run with the specified interval. Otherwise\nit will miss the possible wrap of the watchdog clocksource.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: stable@kernel.org\n\n"
    },
    {
      "commit": "266c2e0abeca649fa6667a1a427ad1da507c6375",
      "tree": "9eb832b4c5de234cc789eae00a36a1337cefe451",
      "parents": [
        "5f7b703fe2be40db5a2bf136ac9e44cf5db267cc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 24 19:25:08 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 24 19:25:08 2008 -0700"
      },
      "message": "Make printk() console semaphore accesses sensible\n\nThe printk() logic on when/how to get the console semaphore was\nunreadable, this splits the code up into a few helper functions and\nmakes it easier to follow what is going on.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5f7b703fe2be40db5a2bf136ac9e44cf5db267cc",
      "tree": "aa7da3bcd7a1e50cf2be75f633ce19ae3bf0ae9c",
      "parents": [
        "a846a1954b6397e844fe1e258af7598897ec6159"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Mar 24 12:29:53 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 24 19:22:20 2008 -0700"
      },
      "message": "bsd_acct: using task_struct-\u003etgid is not right in pid-namespaces\n\nIn case we\u0027re accounting from a sub-namespace, the tgids reported will not\nrefer to the right namespace.\n\nSave the pid_namespace we\u0027re accounting in on the acct_glbs and use it in\ndo_acct_process.\n\nTwo less :) places using the task_struct.tgid member.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@us.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": "a846a1954b6397e844fe1e258af7598897ec6159",
      "tree": "a90b3a593d528c299fd90e9e84fe17a7cdb23733",
      "parents": [
        "4dd4b920218326231156c7991ce5b94afad841c3"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Mar 24 12:29:52 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 24 19:22:19 2008 -0700"
      },
      "message": "bsd_acct: plain current-\u003ereal_parent access is not always safe\n\nThis is minor, but dereferencing even current real_parent is not safe on debug\nkernels, since the memory, this points to, can be unmapped - RCU protection is\nrequired.\n\nBesides, the tgid field is deprecated and is to be replaced with task_tgid_xxx\ncall (the 2nd patch), so RCU will be required anyway.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@us.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": "58336114af4d2cce830201aae49e50b93ede6c5c",
      "tree": "e3df187b38657b86953a5ead5b022572c35c8288",
      "parents": [
        "fd3c36f8b527d13cf311d15e0702bc0390956970"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Mon Mar 24 12:29:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 24 19:22:19 2008 -0700"
      },
      "message": "markers: remove ACCESS_ONCE\n\nAs Paul pointed out, the ACCESS_ONCE are not needed because we already have\nthe explicit surrounding memory barriers.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Mike Mason \u003cmmlnx@us.ibm.com\u003e\nCc: Dipankar Sarma \u003cdipankar@in.ibm.com\u003e\nCc: David Smith \u003cdsmith@redhat.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Adrian Bunk \u003cadrian.bunk@movial.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fd3c36f8b527d13cf311d15e0702bc0390956970",
      "tree": "7eb9426b914e21e92a7016a54ccc74cc132057ae",
      "parents": [
        "5a982cbc7b3fe6cf72266f319286f29963c71b9e"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Mon Mar 24 12:29:47 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 24 19:22:19 2008 -0700"
      },
      "message": "markers: update preempt_disable. call_rcu, rcu_barrier comments\n\nAdd comments requested by Andrew.\n\nUpdated comments about synchronize_sched().  Since we use call_rcu and\nrcu_barrier now, these comments were out of sync with the code.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Mike Mason \u003cmmlnx@us.ibm.com\u003e\nCc: Dipankar Sarma \u003cdipankar@in.ibm.com\u003e\nCc: David Smith \u003cdsmith@redhat.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Adrian Bunk \u003cadrian.bunk@movial.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "92896bd9fd75b1c993b92874d339a8088bb75560",
      "tree": "2bd8bc5a8c8ee10a4b1fd62804281d2b486067f0",
      "parents": [
        "d2532dd20a126020de407c1c2476a75b53fce7ac"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 24 11:07:15 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 24 11:07:15 2008 -0700"
      },
      "message": "Don\u0027t \u0027printk()\u0027 while holding xtime lock for writing\n\nThe printk() can deadlock because it can wake up klogd(), and\ntask enqueueing will try to read the time in order to set a hrtimer.\n\nReported-by: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\nDebugged-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "22e52b072dd87faa9b2559fe89d4e8f2370f81ca",
      "tree": "79e71d0aad3c9ea9f326977c3a3ff1dceaec81b5",
      "parents": [
        "9aefd0abd8610e8f3bb097debf3afb73f8b7b210"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Mar 12 18:31:59 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 21 16:43:48 2008 +0100"
      },
      "message": "sched: add arch_update_cpu_topology hook.\n\nWill be called each time the scheduling domains are rebuild.\nNeeded for architectures that don\u0027t have a static cpu topology.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9aefd0abd8610e8f3bb097debf3afb73f8b7b210",
      "tree": "3456c6949cd8b9c926aa9beef7c9bf99d0a84caa",
      "parents": [
        "23e3c3cd2e39a3c9d07ee07d882c8cf6ddd61c86"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Mar 12 18:31:58 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 21 16:43:47 2008 +0100"
      },
      "message": "sched: add exported arch_reinit_sched_domains() to header file.\n\nNeeded so it can be called from outside of sched.c.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "23e3c3cd2e39a3c9d07ee07d882c8cf6ddd61c86",
      "tree": "a728df75b68d5648ea6d6627125c48f6d56fe1a8",
      "parents": [
        "2070ee01d314ecec8a570c07647ccf4ced6340bb"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "12o3l@tiscali.nl",
        "time": "Thu Mar 13 17:41:59 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 21 16:43:47 2008 +0100"
      },
      "message": "sched: remove double unlikely from schedule()\n\nCombine two unlikely\u0027s\n\nSigned-off-by: Roel Kluin \u003c12o3l@tiscali.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2070ee01d314ecec8a570c07647ccf4ced6340bb",
      "tree": "e7a3c95e9c8ae06917e00a40fcb6cae1c4a9c924",
      "parents": [
        "ae51801ba5ca27c2c571eb508daa99b392e79bd4"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Mar 21 16:43:47 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 21 16:43:47 2008 +0100"
      },
      "message": "sched: cleanup old and rarely used \u0027debug\u0027 features.\n\nTREE_AVG and APPROX_AVG are initial task placement policies that have been\ndisabled for a long while.. time to remove them.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCC: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7d3628b230ecbdc29566c18bc7800ff8ed66a71f",
      "tree": "eac1bff40bdb655fdfdeaf1e22ce12a81296f1fb",
      "parents": [
        "2c7871982cf27caaddbaeb7e2121ce1374b520ff",
        "94833dfb8c98ed4ca1944dd2c1339d88a2d1c758"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 21 07:57:45 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 21 07:57:45 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (46 commits)\n  [NET] ifb: set separate lockdep classes for queue locks\n  [IPV6] KCONFIG: Fix description about IPV6_TUNNEL.\n  [TCP]: Fix shrinking windows with window scaling\n  netpoll: zap_completion_queue: adjust skb-\u003eusers counter\n  bridge: use time_before() in br_fdb_cleanup()\n  [TG3]: Fix build warning on sparc32.\n  MAINTAINERS: bluez-devel is subscribers-only\n  audit: netlink socket can be auto-bound to pid other than current-\u003epid (v2)\n  [NET]: Fix permissions of /proc/net\n  [SCTP]: Fix a race between module load and protosw access\n  [NETFILTER]: ipt_recent: sanity check hit count\n  [NETFILTER]: nf_conntrack_h323: logical-bitwise \u0026 confusion in process_setup()\n  [RT2X00] drivers/net/wireless/rt2x00/rt2x00dev.c: remove dead code, fix warning\n  [IPV4]: esp_output() misannotations\n  [8021Q]: vlan_dev misannotations\n  xfrm: -\u003eeth_proto is __be16\n  [IPV4]: ipv4_is_lbcast() misannotations\n  [SUNRPC]: net/* NULL noise\n  [SCTP]: fix misannotated __sctp_rcv_asconf_lookup()\n  [PKT_SCHED]: annotate cls_u32\n  ...\n"
    },
    {
      "commit": "75c0371a2d385ecbd6e1f854d9dce20889f06736",
      "tree": "34a9988cfb3077c88a44b904f466d129b01caae9",
      "parents": [
        "4f42c288e66a3395e94158badbd182b2dae8eccb"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Mar 20 15:39:41 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 20 15:39:41 2008 -0700"
      },
      "message": "audit: netlink socket can be auto-bound to pid other than current-\u003epid (v2)\n\nFrom:\tPavel Emelyanov \u003cxemul@openvz.org\u003e\n\nThis patch is based on the one from Thomas.\n\nThe kauditd_thread() calls the netlink_unicast() and passes \nthe audit_pid to it. The audit_pid, in turn, is received from \nthe user space and the tool (I\u0027ve checked the audit v1.6.9) \nuses getpid() to pass one in the kernel. Besides, this tool \ndoesn\u0027t bind the netlink socket to this id, but simply creates \nit allowing the kernel to auto-bind one.\n\nThat\u0027s the preamble.\n\nThe problem is that netlink_autobind() _does_not_ guarantees\nthat the socket will be auto-bound to the current pid. Instead\nit uses the current pid as a hint to start looking for a free\nid. So, in case of conflict, the audit messages can be sent\nto a wrong socket. This can happen (it\u0027s unlikely, but can be)\nin case some task opens more than one netlink sockets and then\nthe audit one starts - in this case the audit\u0027s pid can be busy\nand its socket will be bound to another id.\n\nThe proposal is to introduce an audit_nlk_pid in audit subsys,\nthat will point to the netlink socket to send packets to. It\nwill most often be equal to audit_pid. The socket id can be \ngot from the skb\u0027s netlink CB right in the audit_receive_msg.\nThe audit_nlk_pid reset to 0 is not required, since all the\ndecisions are taken based on audit_pid value only.\n\nLater, if the audit tools will bind the socket themselves, the\nkernel will have to provide a way to setup the audit_nlk_pid\nas well.\n\nA good side effect of this patch is that audit_pid can later \nbe converted to struct pid, as it is not longer safe to use \npid_t-s in the presence of pid namespaces. But audit code still \nuses the tgid from task_struct in the audit_signal_info and in\nthe audit_filter_syscall.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3150e63df41450a795bbd0bd98a8e70da74e0285",
      "tree": "cee77b25ba25abc5c892cfb06fdac92bbd946991",
      "parents": [
        "cf821e8f53e3d147ebae03c8c710d2b8842d88a1"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Wed Mar 19 17:01:08 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 19 18:53:37 2008 -0700"
      },
      "message": "revert \"clocksource: make clocksource watchdog cycle through online CPUs\"\n\nRevert commit 1ada5cba6a0318f90e45b38557e7b5206a9cba38 (\"clocksource:\nmake clocksource watchdog cycle through online CPUs\") due to the\nregression reported by Gabriel C at\n\n\thttp://lkml.org/lkml/2008/2/24/281\n\n(short vesion: it makes TSC be marked as always unstable on his\nmachine).\n\nCc: Andi Kleen \u003cak@suse.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Robert Hancock \u003chancockr@shaw.ca\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Gabriel C \u003cnix.or.die@googlemail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "74e3cd7f480ae1888b7cd196bf8125a1d3bfee05",
      "tree": "8fb0ee01df92d145e975ce210e6aac2be5584062",
      "parents": [
        "f540a6080a092e2ab69fd146c308022db7347b0a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 18 18:47:57 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 19 04:27:53 2008 +0100"
      },
      "message": "sched: retune wake granularity\n\nreduce wake-up granularity for better interactivity.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f540a6080a092e2ab69fd146c308022db7347b0a",
      "tree": "12dda1ecd63adb17cf06db61712a113cf6990037",
      "parents": [
        "4ae7d5cefd4aa3560e359a3b0f03e12adc8b5c86"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Mar 15 17:10:34 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 19 04:27:53 2008 +0100"
      },
      "message": "sched: wakeup-buddy tasks are cache-hot\n\nWakeup-buddy tasks are cache-hot - this makes it a bit harder\nfor the load-balancer to tear them apart. (but it\u0027s still possible,\nif the load is sufficiently assymetric)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4ae7d5cefd4aa3560e359a3b0f03e12adc8b5c86",
      "tree": "c7517529ec199d3d9936b4049880a820534d2703",
      "parents": [
        "6f3d09291b4982991680b61763b2541e53e2a95f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 19 01:42:00 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 19 04:27:53 2008 +0100"
      },
      "message": "sched: improve affine wakeups\n\nimprove affine wakeups. Maintain the \u0027overlap\u0027 metric based on CFS\u0027s\nsum_exec_runtime - which means the amount of time a task executes\nafter it wakes up some other task.\n\nUse the \u0027overlap\u0027 for the wakeup decisions: if the \u0027overlap\u0027 is short,\nit means there\u0027s strong workload coupling between this task and the\nwoken up task. If the \u0027overlap\u0027 is large then the workload is decoupled\nand the scheduler will move them to separate CPUs more easily.\n\n( Also slightly move the preempt_check within try_to_wake_up() - this has\n  no effect on functionality but allows \u0027early wakeups\u0027 (for still-on-rq\n  tasks) to be correctly accounted as well.)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f48273860edfca2306236d0f0de609aab3f773d4",
      "tree": "2ee68d85fa99e54488d25780234e3e3fb2c0b982",
      "parents": [
        "ac192d3921a14e2c9080799e16959b4bd56f49d6"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Mar 16 21:21:47 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 19 04:27:53 2008 +0100"
      },
      "message": "sched: clean up wakeup balancing, code flow\n\nClean up the code flow. No code changed:\n\nkernel/sched.o:\n\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n  42521\t   2858\t    232\t  45611\t   b22b\tsched.o.before\n  42521\t   2858\t    232\t  45611\t   b22b\tsched.o.after\n\nmd5:\n   09b31c44e9aff8666f72773dc433e2df  sched.o.before.asm\n   09b31c44e9aff8666f72773dc433e2df  sched.o.after.asm\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ac192d3921a14e2c9080799e16959b4bd56f49d6",
      "tree": "da675c79a0c5076a49bfa75b74a29d8bde85f60e",
      "parents": [
        "098fb9db2c74cfd6ffdbf61eb026a0c21abc5f75"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Mar 16 20:56:26 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 19 04:27:52 2008 +0100"
      },
      "message": "sched: clean up wakeup balancing, rename variables\n\nrename \u0027cpu\u0027 to \u0027prev_cpu\u0027. No code changed:\n\nkernel/sched.o:\n\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n  42521\t   2858\t    232\t  45611\t   b22b\tsched.o.before\n  42521\t   2858\t    232\t  45611\t   b22b\tsched.o.after\n\nmd5:\n   09b31c44e9aff8666f72773dc433e2df  sched.o.before.asm\n   09b31c44e9aff8666f72773dc433e2df  sched.o.after.asm\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "098fb9db2c74cfd6ffdbf61eb026a0c21abc5f75",
      "tree": "1b7d4d35ce9d375f7078937518f92b60f4fda000",
      "parents": [
        "f920bb6f5fe21047e669381fe4dd346f6a9d3562"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Mar 16 20:36:10 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 19 04:27:52 2008 +0100"
      },
      "message": "sched: clean up wakeup balancing, move wake_affine()\n\nsplit out the affine-wakeup bits.\n\nNo code changed:\n\nkernel/sched.o:\n\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n  42521\t   2858\t    232\t  45611\t   b22b\tsched.o.before\n  42521\t   2858\t    232\t  45611\t   b22b\tsched.o.after\n\nmd5:\n   9d76738f1272aa82f0b7affd2f51df6b  sched.o.before.asm\n   09b31c44e9aff8666f72773dc433e2df  sched.o.after.asm\n\n(the md5\u0027s changed because stack slots changed and some registers\nget scheduled by gcc in a different order - but otherwise the before\nand after assembly is instruction for instruction equivalent.)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "16d54669427069ef2823752c365d695b0cc4748f",
      "tree": "ab971bc703f790b90697d29a1e65a793b7f87628",
      "parents": [
        "2af3e6017e53065ddf40bb19190a29199b7ffee3"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Mar 17 09:04:59 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Mar 17 09:04:59 2008 +0100"
      },
      "message": "relay: fix subbuf_splice_actor() adding too many pages\n\nIf subbuf_pages was larger than the max number of pages the pipe\nbuffer will hold, subbuf_splice_actor() would happily go beyond\nthe array size.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "6a6029b8cefe0ca7e82f27f3904dbedba3de4e06",
      "tree": "a58e0590105f89be306daf01fc83473d7a3e0104",
      "parents": [
        "e22ecef1d2658ba54ed7d3fdb5d60829fb434c23"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 14 22:17:08 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Mar 15 03:02:50 2008 +0100"
      },
      "message": "sched: simplify sched_slice()\n\nUse the existing calc_delta_mine() calculation for sched_slice(). This\nsaves a divide and simplifies the code because we share it with the\nother /cfs_rq-\u003eload users.\n\nIt also improves code size:\n\n      text    data     bss     dec     hex filename\n     42659    2740     144   45543    b1e7 sched.o.before\n     42093    2740     144   44977    afb1 sched.o.after\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n"
    },
    {
      "commit": "e22ecef1d2658ba54ed7d3fdb5d60829fb434c23",
      "tree": "49069e160107578ec8212d969b599e03d7a62fae",
      "parents": [
        "aa2ac25229cd4d0280f6174c42712744ad61b140"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 14 22:16:08 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Mar 15 03:02:50 2008 +0100"
      },
      "message": "sched: fix fair sleepers\n\nFair sleepers need to scale their latency target down by runqueue\nweight. Otherwise busy systems will gain ever larger sleep bonus.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n"
    },
    {
      "commit": "aa2ac25229cd4d0280f6174c42712744ad61b140",
      "tree": "e4450de1bb2cd4cd56d6abf64feb862c1d542653",
      "parents": [
        "27d117266097101dcf79c4576903cdcdd0eabffc"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Mar 14 21:12:12 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Mar 15 03:02:50 2008 +0100"
      },
      "message": "sched: fix overload performance: buddy wakeups\n\nCurrently we schedule to the leftmost task in the runqueue. When the\nruntimes are very short because of some server/client ping-pong,\nespecially in over-saturated workloads, this will cycle through all\ntasks trashing the cache.\n\nReduce cache trashing by keeping dependent tasks together by running\nnewly woken tasks first. However, by not running the leftmost task first\nwe could starve tasks because the wakee can gain unlimited runtime.\n\nTherefore we only run the wakee if its within a small\n(wakeup_granularity) window of the leftmost task. This preserves\nfairness, but does alternate server/client task groups.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "27d117266097101dcf79c4576903cdcdd0eabffc",
      "tree": "854e6e824b03385d71d8d7f2feb9311572bb86f2",
      "parents": [
        "e89996ae3f9e88d4fd75751a15c10b19d197e702"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 14 22:20:01 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Mar 15 03:02:50 2008 +0100"
      },
      "message": "sched: fix calc_delta_mine()\n\nlw-\u003eweight can be 0 for a short time during bootup.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n"
    },
    {
      "commit": "e89996ae3f9e88d4fd75751a15c10b19d197e702",
      "tree": "b4b754697995e3ebff4e987b46167263e86ff0d8",
      "parents": [
        "3fe69747dab906cd6a8523230276a9820d6a514f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 14 23:48:28 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Mar 15 03:02:49 2008 +0100"
      },
      "message": "sched: fix update_load_add()/sub()\n\nClear the cached inverse value when updating load. This is needed for\ncalc_delta_mine() to work correctly when using the rq load.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n"
    },
    {
      "commit": "3fe69747dab906cd6a8523230276a9820d6a514f",
      "tree": "bab43c856bd5c23a43fe641be3d1a0e85d3dd604",
      "parents": [
        "0e1f34833bd9170ccc93ab759e48e695917fa48f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Mar 14 20:55:51 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Mar 15 03:02:49 2008 +0100"
      },
      "message": "sched: min_vruntime fix\n\nCurrent min_vruntime tracking is incorrect and will cause serious\nproblems when we don\u0027t run the leftmost task for some reason.\n\nmin_vruntime does two things; 1) it\u0027s used to determine a forward\ndirection when the u64 vruntime wraps, 2) it\u0027s used to track the\nleftmost vruntime to position newly enqueued tasks from.\n\nThe current logic advances min_vruntime whenever the current task\u0027s\nvruntime advance. Because the current task may pass the leftmost task\nstill waiting we\u0027re failing the second goal. This causes new tasks to be\nplaced too far ahead and thus penalizes their runtime.\n\nFix this by making min_vruntime the min_vruntime of the waiting tasks by\ntracking it in enqueue/dequeue, and compare against current\u0027s vruntime\nto obtain the absolute minimum when placing new tasks.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0e1f34833bd9170ccc93ab759e48e695917fa48f",
      "tree": "2ca4b89dd755f2d82dbd34466a8cd6d8b5b4a0af",
      "parents": [
        "4faa8496650f9417189dacce8f933e8ec61dc032"
      ],
      "author": {
        "name": "Hiroshi Shimamoto",
        "email": "h-shimamoto@ct.jp.nec.com",
        "time": "Mon Mar 10 11:01:20 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Mar 15 03:02:49 2008 +0100"
      },
      "message": "sched: fix race in schedule()\n\nFix a hard to trigger crash seen in the -rt kernel that also affects\nthe vanilla scheduler.\n\nThere is a race condition between schedule() and some dequeue/enqueue\nfunctions; rt_mutex_setprio(), __setscheduler() and sched_move_task().\n\nWhen scheduling to idle, idle_balance() is called to pull tasks from\nother busy processor. It might drop the rq lock. It means that those 3\nfunctions encounter on_rq\u003d0 and running\u003d1. The current task should be\nput when running.\n\nHere is a possible scenario:\n\n   CPU0                               CPU1\n    |                              schedule()\n    |                              -\u003edeactivate_task()\n    |                              -\u003eidle_balance()\n    |                              --\u003eload_balance_newidle()\nrt_mutex_setprio()                     |\n    |                              ---\u003edouble_lock_balance()\n    *get lock                          *rel lock\n    * on_rq\u003d0, ruuning\u003d1               |\n    * sched_class is changed           |\n    *rel lock                          *get lock\n    :                                  |\n                                       :\n                                   -\u003eput_prev_task_rt()\n                                   -\u003epick_next_task_fair()\n                                       \u003d\u003e panic\n\nThe current process of CPU1(P1) is scheduling. Deactivated P1, and the\nscheduler looks for another process on other CPU\u0027s runqueue because CPU1\nwill be idle. idle_balance(), load_balance_newidle() and\ndouble_lock_balance() are called and double_lock_balance() could drop\nthe rq lock. On the other hand, CPU0 is trying to boost the priority of\nP1. The result of boosting only P1\u0027s prio and sched_class are changed to\nRT. The sched entities of P1 and P1\u0027s group are never put. It makes\ncfs_rq invalid, because the cfs_rq has curr and no leaf, but\npick_next_task_fair() is called, then the kernel panics.\n\nSigned-off-by: Hiroshi Shimamoto \u003ch-shimamoto@ct.jp.nec.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "29ea5171cbd08a7ef37e543cbf02447033f0e289",
      "tree": "80d6c7f8e002117283dd1c1db4d3a915833652c7",
      "parents": [
        "b4de123a0bc4a3f0c90899864d51299628729952",
        "53471121a8aad3f0b590bfce7c95a1f5f52150f3"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Thu Mar 13 01:59:53 2008 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Thu Mar 13 01:59:53 2008 -0400"
      },
      "message": "Merge branches \u0027release\u0027 and \u0027doc\u0027 into release\n"
    },
    {
      "commit": "53471121a8aad3f0b590bfce7c95a1f5f52150f3",
      "tree": "badfd31e8602fab32d9b5e693c6558e32e298e7d",
      "parents": [
        "a09a20b526fde0611b49b76521e3c546a47216a5"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Wed Mar 12 18:10:51 2008 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Wed Mar 12 18:10:51 2008 -0400"
      },
      "message": "documentation:  Move power-related files to Documentation/power/\n\nMove 00-INDEX entries to power/00-INDEX (and add entry for\npm_qos_interface.txt).\n\nUpdate references to moved filenames.\n\nFix some trailing whitespace.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "a82f7119fd940c1505fc9fdf93d835fa52bc075d",
      "tree": "e8fc2aaa6dc73da9dc2626aa6d239bdcf8c9d44d",
      "parents": [
        "baadac8b10c5ac15ce3d26b68fa266c8889b163f"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Mar 12 00:34:57 2008 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Tue Mar 11 23:15:55 2008 -0400"
      },
      "message": "Hibernation: Fix mark_nosave_pages()\n\nThere is a problem in the hibernation code that triggers on some NUMA\nsystems on which pfn_valid() returns \u0027true\u0027 for some PFNs that don\u0027t\nbelong to any zone.  Namely, there is a BUG_ON() in\nmemory_bm_find_bit() that triggers for PFNs not belonging to any\nzone and passing the pfn_valid() test.  On the affected systems it\ntriggers when we mark PFNs reported by the platform as not saveable,\nbecause the PFNs in question belong to a region mapped directly using\niorepam() (i.e. the ACPI data area) and they pass the pfn_valid()\ntest.\n\nModify memory_bm_find_bit() so that it returns an error if given PFN\ndoesn\u0027t belong to any zone instead of crashing the kernel and ignore\nthe result returned by it in mark_nosave_pages(), while marking the\n\"nosave\" memory regions.\n\nThis doesn\u0027t affect the hibernation functionality, as we won\u0027t touch\nthe PFNs in question anyway.\n\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d9966 .\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "08f503b0c089968b2542659a89dfd50c5c59bb0b",
      "tree": "0a88cc425c2c213a2e6384f4df0739e2e8485e8f",
      "parents": [
        "1f94ef598e8d29b92b9fc85d43c832e03721d3cb"
      ],
      "author": {
        "name": "Gregory Haskins",
        "email": "ghaskins@novell.com",
        "time": "Mon Mar 10 17:59:11 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 11 14:02:58 2008 +0100"
      },
      "message": "keep rd-\u003eonline and cpu_online_map in sync\n\nIt is possible to allow the root-domain cache of online cpus to\nbecome out of sync with the global cpu_online_map.  This is because we\ncurrently trigger removal of cpus too early in the notifier chain.\nOther DOWN_PREPARE handlers may in fact run and reconfigure the\nroot-domain topology, thereby stomping on our own offline handling.\n\nThe end result is that rd-\u003eonline may become out of sync with\ncpu_online_map, which results in potential task misrouting.\n\nSo change the offline handling to be more tightly coupled with the\nglobal offline process by triggering on CPU_DYING intead of\nCPU_DOWN_PREPARE.\n\nSigned-off-by: Gregory Haskins \u003cghaskins@novell.com\u003e\nCc: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nCc: \"Siddha, Suresh B\" \u003csuresh.b.siddha@intel.com\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1f94ef598e8d29b92b9fc85d43c832e03721d3cb",
      "tree": "f9573663c4bb83a9af4d17b90c174869b50ba2b1",
      "parents": [
        "2f44bbb495dd3e6d0209eff2257438ab9c570e5b"
      ],
      "author": {
        "name": "Gregory Haskins",
        "email": "ghaskins@novell.com",
        "time": "Mon Mar 10 16:52:41 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 11 14:02:58 2008 +0100"
      },
      "message": "Revert \"cpu hotplug: adjust root-domain-\u003eonline span in response to hotplug event\"\n\nThis reverts commit 393d94d98b19089ec172566e23557997931b137e.\n\nLets fix this right.\n\nSigned-off-by: Gregory Haskins \u003cghaskins@novell.com\u003e\nCc: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nCc: \"Siddha, Suresh B\" \u003csuresh.b.siddha@intel.com\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "21bbb39c376ce6beeeb549d155f0d53dc76ed000",
      "tree": "762d0ae6d1cd88aaa231739c3e88437e52ffa387",
      "parents": [
        "f47831fabaf0206abc56ee5a33fd006fe29b6dc6"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Mar 10 11:43:57 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Mar 10 18:01:20 2008 -0700"
      },
      "message": "rcu: move PREEMPT_RCU config option back under PREEMPT\n\nThe original preemptible-RCU patch put the choice between classic and\npreemptible RCU into kernel/Kconfig.preempt, which resulted in build failures\non machines not supporting CONFIG_PREEMPT.  This choice was therefore moved to\ninit/Kconfig, which worked, but placed the choice between classic and\npreemptible RCU at the top level, a very obtuse choice indeed.\n\nThis patch changes from the Kconfig \"choice\" mechanism to a pair of booleans,\nonly one of which (CONFIG_PREEMPT_RCU) is user-visible, and is located in\nkernel/Kconfig.preempt, where one would expect it to be.  The other\n(CONFIG_CLASSIC_RCU) is in init/Kconfig so that it is available to all\narchitectures, hopefully avoiding build breakage.  Thanks to Roman Zippel for\nsuggesting this approach.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Dipankar Sarma \u003cdipankar@in.ibm.com\u003e\nCc: Josh Triplett \u003cjosh@freedesktop.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e24e2e64c468c8060bb7173abecdf11d00ed5751",
      "tree": "b03faa2fd187a207d0a2e78af75a787a66ab21fe",
      "parents": [
        "6c5db22d280302c33dafb309c25bf2841fb99c37"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Mar 10 11:43:53 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Mar 10 18:01:20 2008 -0700"
      },
      "message": "modules: warn about suspicious return values from module\u0027s -\u003einit() hook\n\nReturn value convention of module\u0027s init functions is 0/-E.  Sometimes,\ne.g.  during forward-porting mistakes happen and buggy module created,\nwhere result of comparison \"workqueue !\u003d NULL\" is propagated all the way up\nto sys_init_module.  What happens is that some other module created\nworkqueue in question, our module created it again and module was\nsuccessfully loaded.\n\nOr it could be some other bug.\n\nLet\u0027s make such mistakes much more visible.  In retrospective, such\nmessages would noticeably shorten some of my head-scratching sessions.\n\nNote, that dump_stack() is just a way to get attention from user.  Sample\nmessage:\n\nsys_init_module: \u0027foo\u0027-\u003einit suspiciously returned 1, it should follow 0/-E convention\nsys_init_module: loading module anyway...\nPid: 4223, comm: modprobe Not tainted 2.6.24-25f666300625d894ebe04bac2b4b3aadb907c861 #5\n\nCall Trace:\n [\u003cffffffff80254b05\u003e] sys_init_module+0xe5/0x1d0\n [\u003cffffffff8020b39b\u003e] system_call_after_swapgs+0x7b/0x80\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6c5db22d280302c33dafb309c25bf2841fb99c37",
      "tree": "0d3711b8a32646f52eca5015447256a30bc96a88",
      "parents": [
        "2668db9111bb1a6ab5a54f41f703179f35c7d098"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Mar 10 11:43:52 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Mar 10 18:01:19 2008 -0700"
      },
      "message": "modules: fix module waiting for dependent modules\u0027 init\n\nCommit c9a3ba55 (module: wait for dependent modules doing init.) didn\u0027t quite\nwork because the waiter holds the module lock, meaning that the state of the\nmodule it\u0027s waiting for cannot change.\n\nFortunately, it\u0027s fairly simple to update the state outside the lock and do\nthe wakeup.\n\nThanks to Jan Glauber for tracking this down and testing (qdio and qeth).\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Jan Glauber \u003cjang@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": "bf5a25e1fff88a1066e20cc7263329405e4939f6",
      "tree": "95822dc50801e21cf1ad1e6aa7b58af898156517",
      "parents": [
        "83f7a2c118833d3738b4d162ea3c17d0bd8ffa94",
        "10a398d04c4a1fc395840f4d040493375f562302"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Mar 09 10:06:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Mar 09 10:06:49 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt:\n  time: remove obsolete CLOCK_TICK_ADJUST\n  time: don\u0027t touch an offlined CPU\u0027s ts-\u003etick_stopped in tick_cancel_sched_timer()\n  time: prevent the loop in timespec_add_ns() from being optimised away\n  ntp: use unsigned input for do_div()\n"
    },
    {
      "commit": "393d94d98b19089ec172566e23557997931b137e",
      "tree": "62154269fd93690ffc07ad885cf371542b04ecc5",
      "parents": [
        "6efcae460186c0c1c94afff58a92784e1fc0d10b"
      ],
      "author": {
        "name": "Gregory Haskins",
        "email": "ghaskins@novell.com",
        "time": "Sat Mar 08 00:10:15 2008 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Mar 09 10:05:14 2008 -0700"
      },
      "message": "cpu hotplug: adjust root-domain-\u003eonline span in response to hotplug event\n\nWe currently set the root-domain online span automatically when the\ndomain is added to the cpu if the cpu is already a member of\ncpu_online_map.\n\nThis was done as a hack/bug-fix for s2ram, but it also causes a problem\nwith hotplug CPU_DOWN transitioning.  The right way to fix the original\nproblem is to actually respond to CPU_UP events, instead of CPU_ONLINE,\nwhich is already too late.\n\nThis solves the hung reboot regression reported by Andrew Morton and\nothers.\n\nSigned-off-by: Gregory Haskins \u003cghaskins@novell.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "10a398d04c4a1fc395840f4d040493375f562302",
      "tree": "02096fe81b70e2baf8db35ebc9d303a1b13029c3",
      "parents": [
        "a79017660ea4597ec489fab3b5aaf71dd776dfc7"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Tue Mar 04 15:14:26 2008 -0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Mar 09 08:42:57 2008 +0100"
      },
      "message": "time: remove obsolete CLOCK_TICK_ADJUST\n\nThe first version of the ntp_interval/tick_length inconsistent usage patch was\nrecently merged as bbe4d18ac2e058c56adb0cd71f49d9ed3216a405\n\nhttp://git.kernel.org/gitweb.cgi?p\u003dlinux/kernel/git/torvalds/linux-2.6.git;a\u003dcommit;h\u003dbbe4d18ac2e058c56adb0cd71f49d9ed3216a405\n\nWhile the fix did greatly improve the situation, it was correctly pointed out\nby Roman that it does have a small bug: If the users change clocksources after\nthe system has been running and NTP has made corrections, the correctoins made\nagainst the old clocksource will be applied against the new clocksource,\ncausing error.\n\nThe second attempt, which corrects the issue in the NTP_INTERVAL_LENGTH\ndefinition has also made it up-stream as commit\ne13a2e61dd5152f5499d2003470acf9c838eab84\n\nhttp://git.kernel.org/gitweb.cgi?p\u003dlinux/kernel/git/torvalds/linux-2.6.git;a\u003dcommit;h\u003de13a2e61dd5152f5499d2003470acf9c838eab84\n\nRoman has correctly pointed out that CLOCK_TICK_ADJUST is calculated\nbased on the PIT\u0027s frequency, and isn\u0027t really relevant to non-PIT\ndriven clocksources (that is, clocksources other then jiffies and pit).\n\nThis patch reverts both of those changes, and simply removes\nCLOCK_TICK_ADJUST.\n\nThis does remove the granularity error correction for users of PIT and Jiffies\nclocksource users, but the granularity error but for the majority of users, it\nshould be within the 500ppm range NTP can accommodate for.\n\nFor systems that have granularity errors greater then 500ppm, the\n\"ntp_tick_adj\u003d\" boot option can be used to compensate.\n\n[johnstul@us.ibm.com: provided changelog]\n[mattilinnanvuori@yahoo.com: maek ntp_tick_adj static]\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nAcked-by: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Matti Linnanvuori \u003cmattilinnanvuori@yahoo.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: mingo@elte.hu\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "a79017660ea4597ec489fab3b5aaf71dd776dfc7",
      "tree": "87fedadc8d003391c9ccf5d3cf0aba69fb8e443d",
      "parents": [
        "38332cb98772f5ea757e6486bed7ed0381cb5f98"
      ],
      "author": {
        "name": "Karsten Wiese",
        "email": "fzu@wemgehoertderstaat.de",
        "time": "Tue Mar 04 14:59:55 2008 -0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Mar 09 08:42:57 2008 +0100"
      },
      "message": "time: don\u0027t touch an offlined CPU\u0027s ts-\u003etick_stopped in tick_cancel_sched_timer()\n\nSilences WARN_ONs in rcu_enter_nohz() and rcu_exit_nohz(), which appeared\nbefore caused by (repeated) calls to:\n        $ echo 0 \u003e /sys/devices/system/cpu/cpu1/online\n        $ echo 1 \u003e /sys/devices/system/cpu/cpu1/online\n\nSigned-off-by: Karsten Wiese \u003cfzu@wemgehoertderstaat.de\u003e\nCc: johnstul@us.ibm.com\nCc: Rafael Wysocki \u003crjw@sisk.pl\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "e48af19f56eb47a1f908ee8f16df9d246f955b21",
      "tree": "39a6769d80f125f6cfd4721a900e4b897ea15fbb",
      "parents": [
        "84c6f6046c5a2189160a8f0dca8b90427bf690ea"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Mon Feb 25 18:31:57 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Mar 09 08:42:57 2008 +0100"
      },
      "message": "ntp: use unsigned input for do_div()\n\nThe kernel NTP code shouldn\u0027t hand 64-bit *signed* values to do_div().  Make it\ninstead hand 64-bit unsigned values.  This gets rid of a couple of warnings.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "6efcae460186c0c1c94afff58a92784e1fc0d10b",
      "tree": "da67b86b65e8dde1f52245e25b1889f87cc96b4e",
      "parents": [
        "84c6f6046c5a2189160a8f0dca8b90427bf690ea"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Sat Mar 08 11:41:22 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Mar 08 11:54:00 2008 -0800"
      },
      "message": "Fix waitid si_code regression\n\nIn commit ee7c82da830ea860b1f9274f1f0cdf99f206e7c2 (\"wait_task_stopped:\nsimplify and fix races with SIGCONT/SIGKILL/untrace\"), the magic (short)\ncast when storing si_code was lost in wait_task_stopped.  This leaks the\nin-kernel CLD_* values that do not match what userland expects.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "521f1a2489c41f8b1181b0a8eb52e1c34284d50b",
      "tree": "cfe339df98dcb65aaae6c45021ac92cdf60c6540",
      "parents": [
        "2692a2406b9262bbb101708815be99ec2988e48b"
      ],
      "author": {
        "name": "Dhaval Giani",
        "email": "dhaval@linux.vnet.ibm.com",
        "time": "Thu Feb 28 15:21:56 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 07 16:43:00 2008 +0100"
      },
      "message": "sched: don\u0027t allow rt_runtime_us to be zero for groups having rt tasks\n\nThis patch checks if we can set the rt_runtime_us to 0. If there is a\nrealtime task in the group, we don\u0027t want to set the rt_runtime_us as 0\nor bad things will happen. (that task wont get any CPU time despite\nbeing TASK_RUNNNG)\n\nSigned-off-by: Dhaval Giani \u003cdhaval@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2692a2406b9262bbb101708815be99ec2988e48b",
      "tree": "5f956c6f28e7e83f5a1c57e2724b1739da25da30",
      "parents": [
        "1868f958eb56fc41c5985c8732e564a400c5fdf5"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Feb 27 12:00:46 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 07 16:43:00 2008 +0100"
      },
      "message": "sched: rt-group: fixup schedulability constraints calculation\n\nit was only possible to configure the rt-group scheduling parameters\nbeyond the default value in a very small range.\n\nthat\u0027s because div64_64() has a different calling convention than\ndo_div() :/\n\nfix a few untidies while we are here; sysctl_sched_rt_period may overflow\ndue to that multiplication, so cast to u64 first. Also that RUNTIME_INF\njuggling makes little sense although its an effective NOP.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1868f958eb56fc41c5985c8732e564a400c5fdf5",
      "tree": "4f8d83e487e5fa93e3d773591a26eda02d1b387d",
      "parents": [
        "150d8bede7f85eb00d8f4d628e6b0bae68739e3b"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Fri Mar 07 09:35:06 2008 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 07 16:43:00 2008 +0100"
      },
      "message": "sched: fix the wrong time slice value for SCHED_FIFO tasks\n\nFunction sys_sched_rr_get_interval returns wrong time slice value for\nSCHED_FIFO tasks. The time slice for SCHED_FIFO tasks should be 0.\n\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "150d8bede7f85eb00d8f4d628e6b0bae68739e3b",
      "tree": "aa740c10b82ca59bd983713ef19569d9538b0373",
      "parents": [
        "6fa46fa526f2cab9ce21fa5e39501553a40d196d"
      ],
      "author": {
        "name": "Pavel Roskin",
        "email": "proski@gnu.org",
        "time": "Wed Mar 05 16:56:37 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 07 16:43:00 2008 +0100"
      },
      "message": "sched: export task_nice\n\nThe API is trivial, and so is the implementation.\n\nSigned-off-by: Pavel Roskin \u003cproski@gnu.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6fa46fa526f2cab9ce21fa5e39501553a40d196d",
      "tree": "5b89e31c030c1b5a780da7c73c031bc7df656a18",
      "parents": [
        "810b38179e9e4d4f57b4b733767bb08f8291a965"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Mar 05 10:00:12 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 07 16:43:00 2008 +0100"
      },
      "message": "sched: balance RT task resched only on runqueue\n\nSripathi Kodi reported a crash in the -rt kernel:\n\n  https://bugzilla.redhat.com/show_bug.cgi?id\u003d435674\n\nthis is due to a place that can reschedule a task without holding\nthe tasks runqueue lock.  This was caused by the RT balancing code\nthat pulls RT tasks to the current run queue and will reschedule the\ncurrent task.\n\nThere\u0027s a slight chance that the pulling of the RT tasks will release\nthe current runqueue\u0027s lock and retake it (in the double_lock_balance).\nDuring this time that the runqueue is released, the current task can\nmigrate to another runqueue.\n\nIn the prio_changed_rt code, after the pull, if the current task is of\nlesser priority than one of the RT tasks pulled, resched_task is called\non the current task. If the current task had migrated in that small\nwindow, resched_task will be called without holding the runqueue lock\nfor the runqueue that the task is on.\n\nThis race condition also exists in the mainline kernel and this patch\nadds a check to make sure the task hasn\u0027t migrated before calling\nresched_task.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nTested-by: Sripathi Kodi \u003csripathik@in.ibm.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "810b38179e9e4d4f57b4b733767bb08f8291a965",
      "tree": "91692de4fbd46879b29d803839b5bf7e25f30cd8",
      "parents": [
        "ce4796d1e16cf3761dc2a02b8d588667d05b3078"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Feb 29 15:21:01 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 07 16:42:59 2008 +0100"
      },
      "message": "sched: retain vruntime\n\nKei Tokunaga reported an interactivity problem when moving tasks\nbetween control groups.\n\nTasks would retain their old vruntime when moved between groups, this\ncan cause funny lags. Re-set the vruntime on group move to fit within\nthe new tree.\n\nReported-by: Kei Tokunaga \u003ctokunaga.keiich@jp.fujitsu.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "41f7f60d31e5e1dfc9a92957b3e14e08a2f04964",
      "tree": "a55c1c8106c31abf49ac8d1684fa946512b5c2dd",
      "parents": [
        "103926c689650396901002c3a8c38970fff70391"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Tue Mar 04 23:32:38 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Mar 05 17:53:33 2008 -0800"
      },
      "message": "cpusets: fix obsolete comment\n\nmm migration is no longer done in cpuset_update_task_memory_state() so it\ncan no longer take current-\u003emm-\u003emmap_sem, so fix the obsolete comment.\n\n[ This changed in commit 04c19fa6f16047abff2288ddbc1f0798ede5a849\n  (\"cpuset: migrate all tasks in cpuset at once\") when the mm migration\n  was moved from cpuset_update_task_memory_state() to update_nodemask() ]\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9b37ccfc637be27d9a652fcedc35e6e782c3aa78",
      "tree": "525fd97d130c630ff5e65de2d83823174986a6a5",
      "parents": [
        "27d0483aa1ef66a8877d71b63bb97f46ab0246b2"
      ],
      "author": {
        "name": "Pavel Roskin",
        "email": "proski@gnu.org",
        "time": "Thu Feb 28 17:11:02 2008 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 04 20:29:40 2008 -0800"
      },
      "message": "module: allow ndiswrapper to use GPL-only symbols\n\nA change after 2.6.24 broke ndiswrapper by accidentally removing its\naccess to GPL-only symbols.  Revert that change and add comments about\nthe reasons why ndiswrapper and driverloader are treated in a special\nway.\n\nSigned-off-by: Pavel Roskin \u003cproski@gnu.org\u003e\nAcked-by: Greg KH \u003cgregkh@suse.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Jon Masters \u003cjonathan@jonmasters.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b2a5cd6938879b5bcfef0a73c28fea84c49519c2",
      "tree": "e2039a9f7a4766dbea703c6ed32db881863efc1d",
      "parents": [
        "1913130553aa231644eb4e955b1a2c533fe33d17"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Tue Mar 04 14:29:44 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 04 16:35:19 2008 -0800"
      },
      "message": "kprobes: fix a null pointer bug in register_kretprobe()\n\nFix a bug in regiseter_kretprobe() which does not check rp-\u003ekp.symbol_name \u003d\u003d\nNULL before calling kprobe_lookup_name.\n\nFor maintainability, this introduces kprobe_addr helper function which\nresolves addr field.  It is used by register_kprobe and register_kretprobe.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Jim Keniston \u003cjkenisto@us.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": "544adb41077a10d299a1094f12ec55a5843a9bdb",
      "tree": "c865b4792e67fcd96171a514c3a649fcce0cde39",
      "parents": [
        "7088655477b51a5a248fa54190388e1283ba7ebf"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jesper.juhl@gmail.com",
        "time": "Tue Mar 04 14:29:00 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 04 16:35:14 2008 -0800"
      },
      "message": "markers: don\u0027t risk NULL deref in marker\n\nget_marker() may return NULL, so test for it.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nAcked-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9edddaa200df18e08fe0cf21036e8ae467b1363c",
      "tree": "26f5319fac24fb6c76b1276b19725caeb5ec24bc",
      "parents": [
        "8182ec49a73729334f5a6c65a607ba7009ebd6d6"
      ],
      "author": {
        "name": "Ananth N Mavinakayanahalli",
        "email": "ananth@in.ibm.com",
        "time": "Tue Mar 04 14:28:37 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 04 16:35:11 2008 -0800"
      },
      "message": "Kprobes: indicate kretprobe support in Kconfig\n\nAdd CONFIG_HAVE_KRETPROBES to the arch/\u003carch\u003e/Kconfig file for relevant\narchitectures with kprobes support.  This facilitates easy handling of\nin-kernel modules (like samples/kprobes/kretprobe_example.c) that depend on\nkretprobes being present in the kernel.\n\nThanks to Sam Ravnborg for helping make the patch more lean.\n\nPer Mathieu\u0027s suggestion, added CONFIG_KRETPROBES and fixed up dependencies.\n\nSigned-off-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nAcked-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nAcked-by: 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": "fb78922ce9c71b24c4af1ffc9c3d60c57ac471fb",
      "tree": "c3d4217b33f6843171e487b993040edbfbdf3b22",
      "parents": [
        "a10568733cdff03cac742955c7254585451f5431"
      ],
      "author": {
        "name": "Balbir Singh",
        "email": "balbir@linux.vnet.ibm.com",
        "time": "Tue Mar 04 14:28:24 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 04 16:35:09 2008 -0800"
      },
      "message": "Memory Resource Controller use strstrip while parsing arguments\n\nThe memory controller has a requirement that while writing values, we need\nto use echo -n. This patch fixes the problem and makes the UI more consistent.\n\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "b6abdb0e6ca5c2c0a7caa4131da2af0750927e72"
}
