)]}'
{
  "log": [
    {
      "commit": "b840d79631c882786925303c2b0f4fefc31845ed",
      "tree": "cda60a95d4507fe1321fc285af38982d7eb9693b",
      "parents": [
        "597b0d21626da4e6f09f132442caf0cc2b0eb47c",
        "c3d80000e3a812fe5a200d6bde755fbd7fa65481"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 11:44:09 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 11:44:09 2009 -0800"
      },
      "message": "Merge branch \u0027cpus4096-for-linus-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027cpus4096-for-linus-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (66 commits)\n  x86: export vector_used_by_percpu_irq\n  x86: use logical apicid in x2apic_cluster\u0027s x2apic_cpu_mask_to_apicid_and()\n  sched: nominate preferred wakeup cpu, fix\n  x86: fix lguest used_vectors breakage, -v2\n  x86: fix warning in arch/x86/kernel/io_apic.c\n  sched: fix warning in kernel/sched.c\n  sched: move test_sd_parent() to an SMP section of sched.h\n  sched: add SD_BALANCE_NEWIDLE at MC and CPU level for sched_mc\u003e0\n  sched: activate active load balancing in new idle cpus\n  sched: bias task wakeups to preferred semi-idle packages\n  sched: nominate preferred wakeup cpu\n  sched: favour lower logical cpu number for sched_mc balance\n  sched: framework for sched_mc/smt_power_savings\u003dN\n  sched: convert BALANCE_FOR_xx_POWER to inline functions\n  x86: use possible_cpus\u003dNUM to extend the possible cpus allowed\n  x86: fix cpu_mask_to_apicid_and to include cpu_online_mask\n  x86: update io_apic.c to the new cpumask code\n  x86: Introduce topology_core_cpumask()/topology_thread_cpumask()\n  x86: xen: use smp_call_function_many()\n  x86: use work_on_cpu in x86/kernel/cpu/mcheck/mce_amd_64.c\n  ...\n\nFixed up trivial conflict in kernel/time/tick-sched.c manually\n"
    },
    {
      "commit": "db200df0b3530f673d8e9f5bd535e9e10305842a",
      "tree": "9a94039b8813452c51a50fcb45e95c32a9f0e537",
      "parents": [
        "ec270e59a74eee972006a87c8e12514a20588369",
        "43a256322ac1fc105c181b3cade3b9bfc0b63ca1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 31 09:00:59 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 31 09:00:59 2008 -0800"
      },
      "message": "Merge branch \u0027irq-fixes-for-linus-4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027irq-fixes-for-linus-4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sparseirq: move __weak symbols into separate compilation unit\n  sparseirq: work around __weak alias bug\n  sparseirq: fix hang with !SPARSE_IRQ\n  sparseirq: set lock_class for legacy irq when sparse_irq is selected\n  sparseirq: work around compiler optimizing away __weak functions\n  sparseirq: fix desc-\u003elock init\n  sparseirq: do not printk when migrating IRQ descriptors\n  sparseirq: remove duplicated arch_early_irq_init()\n  irq: simplify for_each_irq_desc() usage\n  proc: remove ifdef CONFIG_SPARSE_IRQ from stat.c\n  irq: for_each_irq_desc() move to irqnr.h\n  hrtimer: remove #include \u003clinux/irq.h\u003e\n"
    },
    {
      "commit": "6a94cb73064c952255336cc57731904174b2c58f",
      "tree": "d19cc835db0a21e01909a92772868e1ad96f99ff",
      "parents": [
        "f57fa1d6a6b3414e853d3d17e339ac48816e4406",
        "0a8c5395f90f06d128247844b2515c8bf3f2826b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 17:48:25 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 17:48:25 2008 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs\n\n* \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs: (184 commits)\n  [XFS] Fix race in xfs_write() between direct and buffered I/O with DMAPI\n  [XFS] handle unaligned data in xfs_bmbt_disk_get_all\n  [XFS] avoid memory allocations in xfs_fs_vcmn_err\n  [XFS] Fix speculative allocation beyond eof\n  [XFS] Remove XFS_BUF_SHUT() and friends\n  [XFS] Use the incore inode size in xfs_file_readdir()\n  [XFS] set b_error from bio error in xfs_buf_bio_end_io\n  [XFS] use inode_change_ok for setattr permission checking\n  [XFS] add a FMODE flag to make XFS invisible I/O less hacky\n  [XFS] resync headers with libxfs\n  [XFS] simplify projid check in xfs_rename\n  [XFS] replace b_fspriv with b_mount\n  [XFS] Remove unused tracing code\n  [XFS] Remove unnecessary assertion\n  [XFS] Remove unused variable in ktrace_free()\n  [XFS] Check return value of xfs_buf_get_noaddr()\n  [XFS] Fix hang after disallowed rename across directory quota domains\n  [XFS] Fix compile with CONFIG_COMPAT enabled\n  move inode tracing out of xfs_vnode.\n  move vn_iowait / vn_iowake into xfs_aops.c\n  ...\n"
    },
    {
      "commit": "1af237a099a3b8ff56aa384f605c6a68af7bf288",
      "tree": "71d1898e124ec720317b2c14b4f8169fb1a354bf",
      "parents": [
        "74a6d0f064cd9106599ce3f1d924309669e83582"
      ],
      "author": {
        "name": "Huang Weiyi",
        "email": "weiyi.huang@gmail.com",
        "time": "Tue Dec 30 06:41:44 2008 +0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 17:35:40 2008 -0800"
      },
      "message": "tracing: removed duplicated #include\n\nRemoved duplicated #include in kernel/trace/trace.c.\n\nSigned-off-by: Huang Weiyi \u003cweiyi.huang@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "526ea064f953fc5ad2fb905b537f490b9374a0f0",
      "tree": "c4ff0cb65ce6442863c7c342f641a41f0995329a",
      "parents": [
        "db5e53fbf0abf5cadc83be57032242e5e7c6c394",
        "d69d59f49763e6bd047c591c6c1f84c8e13da931"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 17:31:25 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 17:31:25 2008 -0800"
      },
      "message": "Merge branch \u0027oprofile-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027oprofile-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  oprofile: select RING_BUFFER\n  ring_buffer: adding EXPORT_SYMBOLs\n  oprofile: fix lost sample counter\n  oprofile: remove nr_available_slots()\n  oprofile: port to the new ring_buffer\n  ring_buffer: add remaining cpu functions to ring_buffer.h\n  oprofile: moving cpu_buffer_reset() to cpu_buffer.h\n  oprofile: adding cpu_buffer_entries()\n  oprofile: adding cpu_buffer_write_commit()\n  oprofile: adding cpu buffer r/w access functions\n  ftrace: remove unused function arg in trace_iterator_increment()\n  ring_buffer: update description for ring_buffer_alloc()\n  oprofile: set values to default when creating oprofilefs\n  oprofile: implement switch/case in buffer_sync.c\n  x86/oprofile: cleanup IBS init/exit functions in op_model_amd.c\n  x86/oprofile: reordering IBS code in op_model_amd.c\n  oprofile: fix typo\n  oprofile: whitspace changes only\n  oprofile: update comment for oprofile_add_sample()\n  oprofile: comment cleanup\n"
    },
    {
      "commit": "6de71484cf9561edb45224f659a9db38b6056d5e",
      "tree": "588fe6f7c98147b805085503c863d371e2fa497e",
      "parents": [
        "1dff81f20cd55ffa5a8ee984da70ce0b99d29606",
        "e3c6d4ee545e427b55882d97d3b663c6411645fe"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 17:23:31 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 17:23:31 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6: (98 commits)\n  sparc: move select of ARCH_SUPPORTS_MSI\n  sparc: drop SUN_IO\n  sparc: unify sections.h\n  sparc: use .data.init_task section for init_thread_union\n  sparc: fix array overrun check in of_device_64.c\n  sparc: unify module.c\n  sparc64: prepare module_64.c for unification\n  sparc64: use bit neutral Elf symbols\n  sparc: unify module.h\n  sparc: introduce CONFIG_BITS\n  sparc: fix hardirq.h removal fallout\n  sparc64: do not export pus_fs_struct\n  sparc: use sparc64 version of scatterlist.h\n  sparc: Commonize memcmp assembler.\n  sparc: Unify strlen assembler.\n  sparc: Add asm/asm.h\n  sparc: Kill memcmp_32.S code which has been ifdef\u0027d out for centuries.\n  sparc: replace for_each_cpu_mask_nr with for_each_cpu\n  sparc: fix sparse warnings in irq_32.c\n  sparc: add include guards to kernel.h\n  ...\n"
    },
    {
      "commit": "1dff81f20cd55ffa5a8ee984da70ce0b99d29606",
      "tree": "06eb07bda250abfa8a78c3141db56862c8c7cf98",
      "parents": [
        "179475a3b46f86e2d06f83e2312218ac3f0cf3a7",
        "d3f761104b097738932afcc310fbbbbfb007ef92"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 17:20:05 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 17:20:05 2008 -0800"
      },
      "message": "Merge branch \u0027for-2.6.29\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-2.6.29\u0027 of git://git.kernel.dk/linux-2.6-block: (43 commits)\n  bio: get rid of bio_vec clearing\n  bounce: don\u0027t rely on a zeroed bio_vec list\n  cciss: simplify parameters to deregister_disk function\n  cfq-iosched: fix race between exiting queue and exiting task\n  loop: Do not call loop_unplug for not configured loop device.\n  loop: Flush possible running bios when loop device is released.\n  alpha: remove dead BIO_VMERGE_BOUNDARY\n  Get rid of CONFIG_LSF\n  block: make blk_softirq_init() static\n  block: use min_not_zero in blk_queue_stack_limits\n  block: add one-hit cache for disk partition lookup\n  cfq-iosched: remove limit of dispatch depth of max 4 times quantum\n  nbd: tell the block layer that it is not a rotational device\n  block: get rid of elevator_t typedef\n  aio: make the lookup_ioctx() lockless\n  bio: add support for inlining a number of bio_vecs inside the bio\n  bio: allow individual slabs in the bio_set\n  bio: move the slab pointer inside the bio_set\n  bio: only mempool back the largest bio_vec slab cache\n  block: don\u0027t use plugging on SSD devices\n  ...\n"
    },
    {
      "commit": "179475a3b46f86e2d06f83e2312218ac3f0cf3a7",
      "tree": "d4755f722ae606e21ac87baa262041e2580b2568",
      "parents": [
        "bb758e9637e5ddcff84a97177415499ae1fed498",
        "860cf8894b326e4b89720f520540604834337b72"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 16:20:19 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 16:20:19 2008 -0800"
      },
      "message": "Merge branch \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, sparseirq: clean up Kconfig entry\n  x86: turn CONFIG_SPARSE_IRQ off by default\n  sparseirq: fix numa_migrate_irq_desc dependency and comments\n  sparseirq: add kernel-doc notation for new member in irq_desc, -v2\n  locking, irq: enclose irq_desc_lock_class in CONFIG_LOCKDEP\n  sparseirq, xen: make sure irq_desc is allocated for interrupts\n  sparseirq: fix !SMP building, #2\n  x86, sparseirq: move irq_desc according to smp_affinity, v7\n  proc: enclose desc variable of show_stat() in CONFIG_SPARSE_IRQ\n  sparse irqs: add irqnr.h to the user headers list\n  sparse irqs: handle !GENIRQ platforms\n  sparseirq: fix !SMP \u0026\u0026 !PCI_MSI \u0026\u0026 !HT_IRQ build\n  sparseirq: fix Alpha build failure\n  sparseirq: fix typo in !CONFIG_IO_APIC case\n  x86, MSI: pass irq_cfg and irq_desc\n  x86: MSI start irq numbering from nr_irqs_gsi\n  x86: use NR_IRQS_LEGACY\n  sparse irq_desc[] array: core kernel and x86 changes\n  genirq: record IRQ_LEVEL in irq_desc[]\n  irq.h: remove padding from irq_desc on 64bits\n"
    },
    {
      "commit": "bb758e9637e5ddcff84a97177415499ae1fed498",
      "tree": "a4dbc2a0427a30fc9c54148c6ff7ecf21947e3ae",
      "parents": [
        "5f34fe1cfc1bdd8b4711bbe37421fba4ed0d1ed4",
        "32e8d18683adb322c994d1a0fe02d66380991f45"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 16:16:21 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 16:16:21 2008 -0800"
      },
      "message": "Merge branch \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  hrtimers: fix warning in kernel/hrtimer.c\n  x86: make sure we really have an hpet mapping before using it\n  x86: enable HPET on Fujitsu u9200\n  linux/timex.h: cleanup for userspace\n  posix-timers: simplify de_thread()-\u003eexit_itimers() path\n  posix-timers: check -\u003eit_signal instead of -\u003eit_pid to validate the timer\n  posix-timers: use \"struct pid*\" instead of \"struct task_struct*\"\n  nohz: suppress needless timer reprogramming\n  clocksource, acpi_pm.c: put acpi_pm_read_slow() under CONFIG_PCI\n  nohz: no softirq pending warnings for offline cpus\n  hrtimer: removing all ur callback modes, fix\n  hrtimer: removing all ur callback modes, fix hotplug\n  hrtimer: removing all ur callback modes\n  x86: correct link to HPET timer specification\n  rtc-cmos: export second NVRAM bank\n\nFixed up conflicts in sound/drivers/pcsp/pcsp.c and sound/core/hrtimer.c\nmanually.\n"
    },
    {
      "commit": "5f34fe1cfc1bdd8b4711bbe37421fba4ed0d1ed4",
      "tree": "85b21c8bb0e53005bd970d648ca093acfd0584a3",
      "parents": [
        "eca1bf5b4fab56d2feb1572d34d59fcd92ea7df3",
        "6638101c1124c19c8a65b1645e4ecd09e0572f3e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 16:10:19 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 16:10:19 2008 -0800"
      },
      "message": "Merge branch \u0027core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (63 commits)\n  stacktrace: provide save_stack_trace_tsk() weak alias\n  rcu: provide RCU options on non-preempt architectures too\n  printk: fix discarding message when recursion_bug\n  futex: clean up futex_(un)lock_pi fault handling\n  \"Tree RCU\": scalable classic RCU implementation\n  futex: rename field in futex_q to clarify single waiter semantics\n  x86/swiotlb: add default swiotlb_arch_range_needs_mapping\n  x86/swiotlb: add default phys\u003c-\u003ebus conversion\n  x86: unify pci iommu setup and allow swiotlb to compile for 32 bit\n  x86: add swiotlb allocation functions\n  swiotlb: consolidate swiotlb info message printing\n  swiotlb: support bouncing of HighMem pages\n  swiotlb: factor out copy to/from device\n  swiotlb: add arch hook to force mapping\n  swiotlb: allow architectures to override phys\u003c-\u003ebus\u003c-\u003ephys conversions\n  swiotlb: add comment where we handle the overflow of a dma mask on 32 bit\n  rcu: fix rcutorture behavior during reboot\n  resources: skip sanity check of busy resources\n  swiotlb: move some definitions to header\n  swiotlb: allow architectures to override swiotlb pool allocation\n  ...\n\nFix up trivial conflicts in\n  arch/x86/kernel/Makefile\n  arch/x86/mm/init_32.c\n  include/linux/hardirq.h\nas per Ingo\u0027s suggestions.\n"
    },
    {
      "commit": "43a256322ac1fc105c181b3cade3b9bfc0b63ca1",
      "tree": "6f4b6fc286451598d20222af8b511fe0a3fcdcfc",
      "parents": [
        "b2e2fe99628c4f944c3075258e536197b5a4f3f8"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yhlu.kernel@gmail.com",
        "time": "Sun Dec 28 16:01:13 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 29 12:15:49 2008 +0100"
      },
      "message": "sparseirq: move __weak symbols into separate compilation unit\n\nGCC has a bug with __weak alias functions: if the functions are in\nthe same compilation unit as their call site, GCC can decide to\ninline them - and thus rob the linker of the opportunity to override\nthe weak alias with the real thing.\n\nSo move all the IRQ handling related __weak symbols to kernel/irq/chip.c.\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "abf137dd7712132ee56d5b3143c2ff61a72a5faa",
      "tree": "8334f03c598343bb93340f081fcde5ba659b440b",
      "parents": [
        "392ddc32982a5c661dd90dd49a3cb37f1c68b782"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Dec 09 08:11:22 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:29:50 2008 +0100"
      },
      "message": "aio: make the lookup_ioctx() lockless\n\nThe mm-\u003eioctx_list is currently protected by a reader-writer lock,\nso we always grab that lock on the read side for doing ioctx\nlookups. As the workload is extremely reader biased, turn this into\nan rcu hlist so we can make lookup_ioctx() lockless. Get rid of\nthe rwlock and use a spinlock for providing update side exclusion.\n\nThere\u0027s usually only 1 entry on this list, so it doesn\u0027t make sense\nto look into fancier data structures.\n\nReviewed-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "7c0990c7ee988aa193abbb7da3faeb9279146dbf",
      "tree": "785708206467f03cf07c72dae65f56531bfd7449",
      "parents": [
        "d194139c18edb7dae45e159a24f2aa72091033b8"
      ],
      "author": {
        "name": "Nikanth Karthikesan",
        "email": "knikanth@suse.de",
        "time": "Wed Nov 19 10:20:23 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:28:43 2008 +0100"
      },
      "message": "Do not free io context when taking recursive faults in do_exit\n\nWhen taking recursive faults in do_exit, if the io_context is not null,\nexit_io_context() is being called. But it might decrement the refcount\nmore than once. It is better to leave this task alone.\n\nSigned-off-by: Nikanth Karthikesan \u003cknikanth@suse.de\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "0a8c5395f90f06d128247844b2515c8bf3f2826b",
      "tree": "d95382dcdfa303b99d480c01763d6cb6767fdaca",
      "parents": [
        "25051158bbed127e8672b43396c71c5eb610e5f1",
        "3c92ec8ae91ecf59d88c798301833d7cf83f2179"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Mon Dec 29 16:47:18 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Mon Dec 29 16:47:18 2008 +1100"
      },
      "message": "[XFS] Fix merge failures\n\nMerge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nConflicts:\n\n\tfs/xfs/linux-2.6/xfs_cred.h\n\tfs/xfs/linux-2.6/xfs_globals.h\n\tfs/xfs/linux-2.6/xfs_ioctl.c\n\tfs/xfs/xfs_vnodeops.h\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "e3c6d4ee545e427b55882d97d3b663c6411645fe",
      "tree": "294326663fb757739a98083c2ddd570d1eaf7337",
      "parents": [
        "5bc053089376217943187ed5153d0d1e5c5085b6",
        "3c92ec8ae91ecf59d88c798301833d7cf83f2179"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Dec 28 20:19:47 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Dec 28 20:19:47 2008 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nConflicts:\n\tarch/sparc64/kernel/idprom.c\n"
    },
    {
      "commit": "b2e2fe99628c4f944c3075258e536197b5a4f3f8",
      "tree": "ad56d4853efc86c2c86e897b843a6438550d039c",
      "parents": [
        "12026ea16a618b289fcf457661aed24f57323a20"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 29 00:16:45 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 29 00:19:55 2008 +0100"
      },
      "message": "sparseirq: work around __weak alias bug\n\nImpact: fix boot crash if the kernel is built with certain GCC versions\n\nGCC has a bug with __weak alias functions: if the functions are in\nthe same compilation unit as their call site, GCC can decide to\ninline them - and thus rob the linker of the opportunity to override\nthe weak alias with the real thing.\n\nThis can lead to the boot crash reported by Kamalesh Babulal:\n\n ACPI: Core revision 20080926\n Setting APIC routing to flat\n BUG: unable to handle kernel NULL pointer dereference at\n 0000000000000000\n IP: [\u003cffffffff8021f9a8\u003e] add_pin_to_irq_cpu+0x14/0x74\n PGD 0\n Oops: 0000 [#1] SMP\n [...]\n\nSo move the arch_init_chip_data() function from handle.c to manage.c.\n\nReported-by: Kamalesh Babulal \u003ckamalesh@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "96faec945f39cab38403f60f515bff43660b4dab",
      "tree": "e6681330a42303bb34be80d347cd01ff79f5b80a",
      "parents": [
        "2926328554fa740518e2a6585b2cefb01e5f65f3",
        "9bb482476c6c9d1ae033306440c51ceac93ea80c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 15:13:48 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 15:13:48 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next: (25 commits)\n  allow stripping of generated symbols under CONFIG_KALLSYMS_ALL\n  kbuild: strip generated symbols from *.ko\n  kbuild: simplify use of genksyms\n  kernel-doc: check for extra kernel-doc notations\n  kbuild: add headerdep used to detect inclusion cycles in header files\n  kbuild: fix string equality testing in tags.sh\n  kbuild: fix make tags/cscope\n  kbuild: fix make incompatibility\n  kbuild: remove TAR_IGNORE\n  setlocalversion: add git-svn support\n  setlocalversion: print correct subversion revision\n  scripts: improve the decodecode script\n  scripts/package: allow custom options to rpm\n  genksyms: allow to ignore symbol checksum changes\n  genksyms: track symbol checksum changes\n  tags and cscope support really belongs in a shell script\n  kconfig: fix options to check-lxdialog.sh\n  kbuild: gen_init_cpio expands shell variables in file names\n  remove bashisms from scripts/extract-ikconfig\n  kbuild: teach mkmakfile to be silent\n  ...\n"
    },
    {
      "commit": "a39b863342b8aba52390092be95db58f6ed56061",
      "tree": "a952625e9815c0a4d7fe9f85c33908068513429a",
      "parents": [
        "b0f4b285d7ed174804658539129a834270f4829a",
        "4e202284e6ac1695df3eb4a0e549ea78addfb663"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:27:58 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:27:58 2008 -0800"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (31 commits)\n  sched: fix warning in fs/proc/base.c\n  schedstat: consolidate per-task cpu runtime stats\n  sched: use RCU variant of list traversal in for_each_leaf_rt_rq()\n  sched, cpuacct: export percpu cpuacct cgroup stats\n  sched, cpuacct: refactoring cpuusage_read / cpuusage_write\n  sched: optimize update_curr()\n  sched: fix wakeup preemption clock\n  sched: add missing arch_update_cpu_topology() call\n  sched: let arch_update_cpu_topology indicate if topology changed\n  sched: idle_balance() does not call load_balance_newidle()\n  sched: fix sd_parent_degenerate on non-numa smp machine\n  sched: add uid information to sched_debug for CONFIG_USER_SCHED\n  sched: move double_unlock_balance() higher\n  sched: update comment for move_task_off_dead_cpu\n  sched: fix inconsistency when redistribute per-cpu tg-\u003ecfs_rq shares\n  sched/rt: removed unneeded defintion\n  sched: add hierarchical accounting to cpu accounting controller\n  sched: include group statistics in /proc/sched_debug\n  sched: rename SCHED_NO_NO_OMIT_FRAME_POINTER \u003d\u003e SCHED_OMIT_FRAME_POINTER\n  sched: clean up SCHED_CPUMASK_ALLOC\n  ...\n"
    },
    {
      "commit": "b0f4b285d7ed174804658539129a834270f4829a",
      "tree": "be7f8dca58075aba2c6a137fcfd4d44c5c333efc",
      "parents": [
        "be9c5ae4eeec2e85527e95647348b8ea4eb25128",
        "5250d329e38cdf7580faeb9c53c17d3588d7d19c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:21:10 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:21:10 2008 -0800"
      },
      "message": "Merge branch \u0027tracing-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (241 commits)\n  sched, trace: update trace_sched_wakeup()\n  tracing/ftrace: don\u0027t trace on early stage of a secondary cpu boot, v3\n  Revert \"x86: disable X86_PTRACE_BTS\"\n  ring-buffer: prevent false positive warning\n  ring-buffer: fix dangling commit race\n  ftrace: enable format arguments checking\n  x86, bts: memory accounting\n  x86, bts: add fork and exit handling\n  ftrace: introduce tracing_reset_online_cpus() helper\n  tracing: fix warnings in kernel/trace/trace_sched_switch.c\n  tracing: fix warning in kernel/trace/trace.c\n  tracing/ring-buffer: remove unused ring_buffer size\n  trace: fix task state printout\n  ftrace: add not to regex on filtering functions\n  trace: better use of stack_trace_enabled for boot up code\n  trace: add a way to enable or disable the stack tracer\n  x86: entry_64 - introduce FTRACE_ frame macro v2\n  tracing/ftrace: add the printk-msg-only option\n  tracing/ftrace: use preempt_enable_no_resched_notrace in ring_buffer_time_stamp()\n  x86, bts: correctly report invalid bts records\n  ...\n\nFixed up trivial conflict in scripts/recordmcount.pl due to SH bits\nbeing already partly merged by the SH merge.\n"
    },
    {
      "commit": "12026ea16a618b289fcf457661aed24f57323a20",
      "tree": "69375cb891e5d9593fc7bc9fdd87be952e4325e7",
      "parents": [
        "fa6beb37b0d9bc00f90f11154eeed9502d8b0a37"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Fri Dec 26 22:38:15 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Dec 27 17:52:07 2008 +0100"
      },
      "message": "sparseirq: fix hang with !SPARSE_IRQ\n\nImpact: fix hang\n\nSuresh report his two sockets system only works with SPARSE_IRQ enable\nit turns out we miss the setting desc-\u003eirq\n\nso provide early_irq_init() even !SPARSE_IRQ to set desc-\u003eirq\n\nReported-by: \"Siddha, Suresh B\" \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fa6beb37b0d9bc00f90f11154eeed9502d8b0a37",
      "tree": "7b8f240a031300d2e2f833848e957840efeb085b",
      "parents": [
        "13a0c3c269b223f60abfac8a9811d77111a8b4ba"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Mon Dec 22 20:24:09 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Dec 27 17:51:45 2008 +0100"
      },
      "message": "sparseirq: set lock_class for legacy irq when sparse_irq is selected\n\nImpact: add lockdep annotation to legacy IRQ descs\n\nWarnings resulting out of this were not seen in practice, but it\u0027s prudent\nto initialize the legacy descriptors to the lock class as well, symmetric\nto how we do it with other descriptors.\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "13a0c3c269b223f60abfac8a9811d77111a8b4ba",
      "tree": "b57a92eb9eb7c8c1de30bbe29b6a461289e75c62",
      "parents": [
        "793f7b12a0c95e7bfec1badf9628043fb78fd440"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Fri Dec 26 02:05:47 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Dec 27 13:24:00 2008 +0100"
      },
      "message": "sparseirq: work around compiler optimizing away __weak functions\n\nImpact: fix panic on null pointer with sparseirq\n\nSome GCC versions seem to inline the weak global function,\nwhen that function is empty.\n\nWork it around, by making the functions return a (dummy) integer.\n\nSigned-off-by: Yinghai \u003cyinghai@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "793f7b12a0c95e7bfec1badf9628043fb78fd440",
      "tree": "1ace93d9f2bbed43b4594e6bacf75c51ffebf417",
      "parents": [
        "8b07cd44511f3aa78dd912cca6493275a6787dc5"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 26 19:02:20 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Dec 27 09:29:22 2008 +0100"
      },
      "message": "sparseirq: fix desc-\u003elock init\n\nImpact: cleanup\n\ninit_one_irq_desc() does not initialize the desc-\u003elock properly -\nyou cannot init a lock by memcpying some other lock on it.\n\nThis happens to work right now (because irq_desc_init is never in use),\nbut it\u0027s a dangerous construct nevertheless, so fix it.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8b07cd44511f3aa78dd912cca6493275a6787dc5",
      "tree": "415a330e87af5baba37157d3e4984a9a563bab19",
      "parents": [
        "00c23634879062d1c38d60128bf150c394a359e8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 26 19:10:04 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Dec 27 09:29:21 2008 +0100"
      },
      "message": "sparseirq: do not printk when migrating IRQ descriptors\n\nImpact: reduce printk noise\n\nThere were a couple of leftover KERN_DEBUG debugging printks, remove\nthem. Also clarify an error message.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "00c23634879062d1c38d60128bf150c394a359e8",
      "tree": "87e96a16ba921c05960d7a97e3956477a6c84be6",
      "parents": [
        "18eefedfe8ad33e8fc7614c13359e29a9fab4644"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Tue Dec 23 17:29:00 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 26 10:43:30 2008 +0100"
      },
      "message": "sparseirq: remove duplicated arch_early_irq_init()\n\nImpact: clean up\n\nWe already have a weak copy of this function in init/main.c\n\nSigned-off-by: Yinghai \u003cyinghai@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "18eefedfe8ad33e8fc7614c13359e29a9fab4644",
      "tree": "e0b7c801c27a3933137e7e4056a3bca3c3244744",
      "parents": [
        "26ddd8d5cac8a563953d5febe8c6e40909f7bce1"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Fri Dec 26 12:29:48 2008 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 26 09:48:18 2008 +0100"
      },
      "message": "irq: simplify for_each_irq_desc() usage\n\nImpact: cleanup\n\nall for_each_irq_desc() usage point have !desc check.\nthen its check can move into for_each_irq_desc() macro.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "26ddd8d5cac8a563953d5febe8c6e40909f7bce1",
      "tree": "1e13087c68aeb1fc7da6126a4452869c368e2a93",
      "parents": [
        "f9af0e70911e9d6cc9a68f784dca86415486084d"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Fri Dec 26 14:24:10 2008 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 26 09:48:18 2008 +0100"
      },
      "message": "proc: remove ifdef CONFIG_SPARSE_IRQ from stat.c\n\nImpact: cleanup\n\nirq_desc can be NULL when CONFIG_SPARSE_IRQ\u003dy only.\ntherefore, NULL checking can move into kstat_irqs_cpu() of SPARSE_IRQ version.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: \"Yinghai Lu\" \u003cyinghai@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f9af0e70911e9d6cc9a68f784dca86415486084d",
      "tree": "58a83c34cc8a511b5e05d48425251621e9b471a1",
      "parents": [
        "51bc39f4ba35bae153b32145077fb1109bcae14c"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Fri Dec 26 12:24:24 2008 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 26 09:48:17 2008 +0100"
      },
      "message": "irq: for_each_irq_desc() move to irqnr.h\n\nImpact: cleanup\n\nbefore CONFIG_SPARSE_IRQ age, for_each_irq_desc() sat in irqnr.h and\ncould be called from generic code.\n\nCONFIG_SPARSE_IRQ breaks this assumption, but SPARSE_IRQ version\nfor_each_irq_desc() also can move into irqnr.h easily.\n\nAlso, this patch unifies CONFIG_SPARSE_IRQ and !CONFIG_SPARSE_IRQ\nfor_each_irq_desc().\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "51bc39f4ba35bae153b32145077fb1109bcae14c",
      "tree": "e92c920e82779d4862b7ca2b67eca91487323909",
      "parents": [
        "860cf8894b326e4b89720f520540604834337b72"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Fri Dec 26 12:23:00 2008 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 26 09:48:16 2008 +0100"
      },
      "message": "hrtimer: remove #include \u003clinux/irq.h\u003e\n\nImpact: cleanup\n\n\u003clinux/irq.h\u003e can be removed and should be, because:\n\n  - hrtimer doesn\u0027t use any irq feature.\n  - \u003clinux/irq.h\u003e shouldn\u0027t be include from generic code.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "32e8d18683adb322c994d1a0fe02d66380991f45",
      "tree": "1c697f6d1c042dc560b096dca76680f4acf415b3",
      "parents": [
        "4a6908a3a050aacc9c3a2f36b276b46c0629ad91",
        "0a57b783018a77ca16097198844438bdff4d012e",
        "39c04b55240342d0742ac48538d3d8c71bfc0a94",
        "b2e3c0adec918ea22b6c9d7c76193dd3aaba9bd4",
        "001474491fabeca233168a8598f721c808040f90",
        "c29541b24fb2c6301021637229ae5347c877330a",
        "8187926bdae98648db24db3391c4efd21ec669b1",
        "a5a64498c194c82ecad3a2d67cff6231cda8d3dd"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 18:02:25 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 18:02:25 2008 +0100"
      },
      "message": "Merge branches \u0027timers/clocksource\u0027, \u0027timers/hpet\u0027, \u0027timers/hrtimers\u0027, \u0027timers/nohz\u0027, \u0027timers/ntp\u0027, \u0027timers/posixtimers\u0027 and \u0027timers/rtc\u0027 into timers/core\n"
    },
    {
      "commit": "860cf8894b326e4b89720f520540604834337b72",
      "tree": "27c1363ea7224e9bf722b7292309f6d2a1ebbe61",
      "parents": [
        "e262a7ba31f0cd4dae225e6d2e9037e5ac6108e8",
        "973656fe1afb4adf95d7b9ab75d4660cd3821ea1",
        "f2b662da8d6bd44673537f3f64220afefdca369f",
        "4a6908a3a050aacc9c3a2f36b276b46c0629ad91"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 16:27:54 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 16:27:54 2008 +0100"
      },
      "message": "Merge branches \u0027irq/sparseirq\u0027, \u0027irq/genirq\u0027 and \u0027irq/urgent\u0027; commit \u0027v2.6.28\u0027 into irq/core\n"
    },
    {
      "commit": "6638101c1124c19c8a65b1645e4ecd09e0572f3e",
      "tree": "a1e47e8da2e5478846afdd91e8ebcf0914ed7373",
      "parents": [
        "cc37d3d20604f3759d269247b022616f710aa52d",
        "3ae7020543db0b769538e64d1ce8d51fceff60ca",
        "a08636690d06b2e36cfb4c2b3ee133a81c47e1e0",
        "00ef9f7348dfd2fc223ec42aceb30836e86b367f",
        "26cc271db798cf211d35967cbfbb53e997126b84",
        "12d79bafb75639f406a9f71aab94808c414c836e",
        "3ac52669c7a24b93663acfcab606d1065ed1accd",
        "8b752e3ef6e3f5cde87afc649dd51d92b1e549c1",
        "9212ddb5eada64fec5a08b28207401f3cc3d0876"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 14:06:29 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 14:06:29 2008 +0100"
      },
      "message": "Merge branches \u0027core/debugobjects\u0027, \u0027core/iommu\u0027, \u0027core/locking\u0027, \u0027core/printk\u0027, \u0027core/rcu\u0027, \u0027core/resources\u0027, \u0027core/softirq\u0027 and \u0027core/stacktrace\u0027 into core/core\n"
    },
    {
      "commit": "cc37d3d20604f3759d269247b022616f710aa52d",
      "tree": "72758a50bb9352b992842e9a8f9901aa6193b71d",
      "parents": [
        "b594deb0cc54d857828d2e33b2e9d5a9f02f0e89",
        "b56863630ddbdea6e22df8835f78f0b1da037103"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 13:54:14 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 13:54:14 2008 +0100"
      },
      "message": "Merge branch \u0027core/futexes\u0027 into core/core\n"
    },
    {
      "commit": "b594deb0cc54d857828d2e33b2e9d5a9f02f0e89",
      "tree": "1ce4e5e96dc2a3970d382ef952bf2683aa8c75a0",
      "parents": [
        "0b271ef4521756010675b1611bef20fd3096790d",
        "ec5679e513305f1411753e5f5489935bd638af23"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 13:53:11 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 13:53:11 2008 +0100"
      },
      "message": "Merge branch \u0027core/debug\u0027 into core/core\n"
    },
    {
      "commit": "0b271ef4521756010675b1611bef20fd3096790d",
      "tree": "2c9d22a2c74122a9904e533df27f41d63ffef394",
      "parents": [
        "b19b3c74c7bbec45a848631b8f970ac110665a01",
        "4a6908a3a050aacc9c3a2f36b276b46c0629ad91"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 13:51:46 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 13:51:46 2008 +0100"
      },
      "message": "Merge commit \u0027v2.6.28\u0027 into core/core\n"
    },
    {
      "commit": "4e202284e6ac1695df3eb4a0e549ea78addfb663",
      "tree": "b455ebb51d9f94717f6fde06db6331cfe73e4714",
      "parents": [
        "826e08b0157c0ce8a80dfe3c0a6c5a1540dd0b1d",
        "80f40ee4a07530cc3acbc239a9299ec47025825b",
        "4a6908a3a050aacc9c3a2f36b276b46c0629ad91"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 13:42:23 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 13:42:23 2008 +0100"
      },
      "message": "Merge branch \u0027sched/urgent\u0027; commit \u0027v2.6.28\u0027 into sched/core\n"
    },
    {
      "commit": "5250d329e38cdf7580faeb9c53c17d3588d7d19c",
      "tree": "42b2d22e0dc9ae08a26167ba8f89cb3d9a8ad5af",
      "parents": [
        "a3eeeefbf1cd1d142c52238cc19c75d14c3bc8d5",
        "468a15bb4cc61694495cc5ed7ffca29e87c79b69",
        "67be403d897f818b1a5ecc201967b0ee6a0332f9",
        "98db8df777438e16ad0f44a0fba05ebbdb73db8d",
        "4a6908a3a050aacc9c3a2f36b276b46c0629ad91"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 13:11:00 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 13:11:00 2008 +0100"
      },
      "message": "Merge branches \u0027tracing/ftrace\u0027, \u0027tracing/hw-branch-tracing\u0027 and \u0027tracing/ring-buffer\u0027; commit \u0027v2.6.28\u0027 into tracing/core\n"
    },
    {
      "commit": "468a15bb4cc61694495cc5ed7ffca29e87c79b69",
      "tree": "51274b853cc427666925f917203487a69d01c3d9",
      "parents": [
        "0ca59dd948a51c95d5a366d35f897bc5ef9df55d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Tue Dec 16 08:07:03 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 13:10:21 2008 +0100"
      },
      "message": "sched, trace: update trace_sched_wakeup()\n\nImpact: extend the wakeup tracepoint with the info whether the wakeup was real\n\nAdd the information needed to distinguish \u0027real\u0027 wakeups from \u0027false\u0027\nwakeups.\n\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9212ddb5eada64fec5a08b28207401f3cc3d0876",
      "tree": "3b1a6040813d623d5d2d077bffd0dea5fb36f693",
      "parents": [
        "4a6908a3a050aacc9c3a2f36b276b46c0629ad91"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 11:21:20 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 11:44:43 2008 +0100"
      },
      "message": "stacktrace: provide save_stack_trace_tsk() weak alias\n\nImpact: build fix\n\nSome architectures have not implemented save_stack_trace_tsk() yet:\n\n  fs/built-in.o: In function `proc_pid_stack\u0027:\n  base.c:(.text+0x3f140): undefined reference to `save_stack_trace_tsk\u0027\n\nSo warn about that if the facility is used.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "12d79bafb75639f406a9f71aab94808c414c836e",
      "tree": "2d7ba81720be2ec8c897dd3ab6781cccd973249c",
      "parents": [
        "64db4cfff99c04cd5f550357edcc8780f96b54a2"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 09:31:28 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 09:31:28 2008 +0100"
      },
      "message": "rcu: provide RCU options on non-preempt architectures too\n\nImpact: build fix\n\nSome old architectures still do not use kernel/Kconfig.preempt, so the\nmoving of the RCU options there broke their build:\n\n In file included from /home/mingo/tip/include/linux/sem.h:81,\n                 from /home/mingo/tip/include/linux/sched.h:69,\n                 from /home/mingo/tip/arch/alpha/kernel/asm-offsets.c:9:\n /home/mingo/tip/include/linux/rcupdate.h:62:2: error: #error \"Unknown RCU implementation specified to kernel configuration\"\n\nMove these options back to init/Kconfig, which every architecture\nincludes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cbacc2c7f066a1e01b33b0e27ae5efbf534bc2db",
      "tree": "90d1093131d2a3543a8b3b1f3364e7c6f4081a93",
      "parents": [
        "4a6908a3a050aacc9c3a2f36b276b46c0629ad91",
        "74192246910ff4fb95309ba1a683215644beeb62"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 25 11:40:09 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 25 11:40:09 2008 +1100"
      },
      "message": "Merge branch \u0027next\u0027 into for-linus\n"
    },
    {
      "commit": "db8862eafe8a5d030a3b02e81b8bb47447c315e3",
      "tree": "073ea7b46809bf804134cbf008a593413c02a99c",
      "parents": [
        "c5dee6177f4bd2095aab7d9be9f6ebdddd6deee9",
        "c20137fc5329eaf24093fc48c52608dc66be8e5c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 24 21:08:26 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 24 21:08:26 2008 +0100"
      },
      "message": "Merge branch \u0027linus\u0027 into tracing/hw-branch-tracing\n"
    },
    {
      "commit": "20ca9b3f4c6dfa0af8dd5b18a64df17eb994b54d",
      "tree": "508c0b887653577a2e28dc238c820178593f0f91",
      "parents": [
        "e368d3a836797ddf193b1ec18c97407a791d2451"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Dec 23 13:57:14 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 23 15:58:21 2008 -0800"
      },
      "message": "cgroups: avoid accessing uninitialized data in failure path\n\nIf cgroup_get_rootdir() failed, free_cg_links() will be called in the\nfailure path, but tmp_cg_links hasn\u0027t been initialized at that time.\n\nI introduced this bug in the 2.6.27 merge window.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.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"
    },
    {
      "commit": "e368d3a836797ddf193b1ec18c97407a791d2451",
      "tree": "d8e34dc005f175b14d8e579a71e2ff064d018ce4",
      "parents": [
        "f00a189257836e5237ace3265f6991ef66a16c86"
      ],
      "author": {
        "name": "Sharyathi Nagesh",
        "email": "sharyath@in.ibm.com",
        "time": "Tue Dec 23 13:57:12 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 23 15:58:21 2008 -0800"
      },
      "message": "cgroups: suppress bogus warning messages\n\nRemove spurious warning messages that are thrown onto the console during\ncgroup operations.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Sharyathi Nagesh \u003csharyathi@in.ibm.com\u003e\nAcked-by: Serge E. Hallyn \u003cserge@hallyn.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": "36dffab679c7eeb91c2507400cf4da6e9e01164e",
      "tree": "6ac1a7e2362ba0da6fd93a068c61508d02bcba05",
      "parents": [
        "b77b881f21b29aa7efa668fde69ee3dc0372ae3f"
      ],
      "author": {
        "name": "Vaidyanathan Srinivasan",
        "email": "svaidy@linux.vnet.ibm.com",
        "time": "Sat Dec 20 10:06:38 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 23 22:37:29 2008 +0100"
      },
      "message": "sched: nominate preferred wakeup cpu, fix\n\nAndrew Morton reported:\n\n\u003e kernel/sched.c: In function \u0027schedule\u0027:\n\u003e kernel/sched.c:3679: warning: \u0027active_balance\u0027 may be used uninitialized in this function\n\u003e\n\u003e This warning is correct - the code is buggy.\n\nIn sched.c load_balance_newidle, there\u0027s real potential use of\nuninitialised variable - fix it.\n\nSigned-off-by: Vaidyanathan Srinivasan \u003csvaidy@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "98db8df777438e16ad0f44a0fba05ebbdb73db8d",
      "tree": "f2cde3dbe3000f4bafd0c42df43f736b7e5a648b",
      "parents": [
        "a8ccf1d6f60e3e6ae63122e02378cd4d40dd4aac"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Dec 23 11:32:25 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 23 18:45:26 2008 +0100"
      },
      "message": "ring-buffer: prevent false positive warning\n\nImpact: eliminate false WARN_ON message\n\nIf an interrupt goes off after the setting of the local variable\ntail_page and before incrementing the write index of that page,\nthe interrupt could push the commit forward to the next page.\n\nLater a check is made to see if interrupts pushed the buffer around\nthe entire ring buffer by comparing the next page to the last commited\npage. This can produce a false positive if the interrupt had pushed\nthe commit page forward as stated above.\n\nThanks to Jiaying Zhang for finding this race.\n\nReported-by: Jiaying Zhang \u003cjiayingz@google.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a8ccf1d6f60e3e6ae63122e02378cd4d40dd4aac",
      "tree": "98a55b2caf4315617fbb9187e5a15c7f53740ff8",
      "parents": [
        "30cd324e9787ccc9a5ede59742d5409857550692"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Dec 23 11:32:24 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 23 18:45:25 2008 +0100"
      },
      "message": "ring-buffer: fix dangling commit race\n\nImpact: fix stuck trace-buffers\n\nIf an interrupt comes in during the rb_set_commit_to_write and\npushes the tail page forward just at the right time, the commit\nupdates will miss the adding of the interrupt data. This will\ncause the commit pointer to cease from moving forward.\n\nThanks to Jiaying Zhang for finding this race.\n\nReported-by: Jiaying Zhang \u003cjiayingz@google.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "27a0464a6cb837d3a90b6e69365dfc01cb0dff2f",
      "tree": "361f00f4d4ad4c01b6144c52004bee2b948742ad",
      "parents": [
        "4d9d4ebf5de848e3450e23e4db9ac74e23e5daa6",
        "3d44cc3e01ee1b40317f79ed54324e25c4f848df"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Mon Dec 22 17:34:26 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Mon Dec 22 17:34:26 2008 +1100"
      },
      "message": "[XFS] Fix merge conflict in fs/xfs/xfs_rename.c\n\nMerge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nConflicts:\n\n\tfs/xfs/xfs_rename.c\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "3d44cc3e01ee1b40317f79ed54324e25c4f848df",
      "tree": "99feb824dd6beda01bf11c56e412ff147bf24551",
      "parents": [
        "ab65387243f47a7bc11725f733c86bf27248b326"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Dec 20 21:27:34 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 20 14:13:45 2008 -0800"
      },
      "message": "Null pointer deref with hrtimer_try_to_cancel()\n\nImpact: Prevent kernel crash with posix timer clockid CLOCK_MONOTONIC_RAW\n\ncommit 2d42244ae71d6c7b0884b5664cf2eda30fb2ae68 (clocksource:\nintroduce CLOCK_MONOTONIC_RAW) introduced a new clockid, which is only\navailable to read out the raw not NTP adjusted system time.\n\nThe above commit did not prevent that a posix timer can be created\nwith that clockid. The timer_create() syscall succeeds and initializes\nthe timer to a non existing hrtimer base. When the timer is deleted\neither by timer_delete() or by the exit() cleanup the kernel crashes.\n\nPrevent the creation of timers for CLOCK_MONOTONIC_RAW by setting the\nposix clock function to no_timer_create which returns an error code.\n\nReported-and-tested-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bf53de907dfdaac178c92d774aae7370d7b97d20",
      "tree": "738a07a8b4b22f7bb8ec2029c9ea9c635db6c62a",
      "parents": [
        "30cd324e9787ccc9a5ede59742d5409857550692"
      ],
      "author": {
        "name": "Markus Metzger",
        "email": "markus.t.metzger@intel.com",
        "time": "Fri Dec 19 15:10:24 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Dec 20 09:15:46 2008 +0100"
      },
      "message": "x86, bts: add fork and exit handling\n\nImpact: introduce new ptrace facility\n\nAdd arch_ptrace_untrace() function that is called when the tracer\ndetaches (either voluntarily or when the tracing task dies);\nptrace_disable() is only called on a voluntary detach.\n\nAdd ptrace_fork() and arch_ptrace_fork(). They are called when a\ntraced task is forked.\n\nClear DS and BTS related fields on fork.\n\nRelease DS resources and reclaim memory in ptrace_untrace(). This\nreleases resources already when the tracing task dies. We used to do\nthat when the traced task dies.\n\nSigned-off-by: Markus Metzger \u003cmarkus.t.metzger@intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b909895739427874c089bc0e03dc119f99cab2dd",
      "tree": "bded0a68688cf8a43897b8234a6ef4abaf727985",
      "parents": [
        "078a55db075bf4dcc03115dc94875b3dd83f69d4"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Fri Dec 19 13:48:34 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 19 22:56:02 2008 +0100"
      },
      "message": "sparseirq: fix numa_migrate_irq_desc dependency and comments\n\nImpact: reduce kconfig variable scope and clean up\n\nBartlomiej pointed out that the config dependencies and comments are not right.\n\nupdate it depend to NUMA, and fix some comments\n\nReported-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "26cc271db798cf211d35967cbfbb53e997126b84",
      "tree": "c4131ca7cdf2cfbc90c421b82e2b3b88b8927e6a",
      "parents": [
        "929096fe9ff1f4b3645cf3919527ab47e8d5e17c"
      ],
      "author": {
        "name": "Hiroshi Shimamoto",
        "email": "h-shimamoto@ct.jp.nec.com",
        "time": "Fri Dec 19 10:23:03 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 19 22:52:47 2008 +0100"
      },
      "message": "printk: fix discarding message when recursion_bug\n\nImpact: fix truncated recursion bug message printout\n\nWhen recursion_bug is true, kernel discards original message because printk_buf\ncontains recursion_bug_msg with NULL terminator. The sizeof(recursion_bug_msg)\nmakes this, use strlen() to get correct length without NULL terminator.\n\nReported-by: Toshikazu Nakayama \u003cnakayama.ts@ncos.nec.co.jp\u003e\nSigned-off-by: Hiroshi Shimamoto \u003ch-shimamoto@ct.jp.nec.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9bb482476c6c9d1ae033306440c51ceac93ea80c",
      "tree": "b5e415eee46b66d9cc39e31d29d0d02994321d11",
      "parents": [
        "ad7a953c522ceb496611d127e51e278bfe0ff483"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Tue Dec 16 11:30:08 2008 +0000"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Fri Dec 19 22:47:10 2008 +0100"
      },
      "message": "allow stripping of generated symbols under CONFIG_KALLSYMS_ALL\n\nBuilding upon parts of the module stripping patch, this patch\nintroduces similar stripping for vmlinux when CONFIG_KALLSYMS_ALL\u003dy.\nUsing CONFIG_KALLSYMS_STRIP_GENERATED reduces the overhead of\nCONFIG_KALLSYMS_ALL from 245k/310k to 65k/80k for the (i386/x86-64)\nkernels I tested with.\n\nThe patch also does away with the need to special case the kallsyms-\ninternal symbols by making them available even in the first linking\nstage.\n\nWhile it is a generated file, the patch includes the changes to\nscripts/genksyms/keywords.c_shipped, as I\u0027m unsure what the procedure\nhere is.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "213cc060797378059a28ebc5c539f3e9a80160bd",
      "tree": "e159f9fae35ca59fe2c02e905c2b4b91881d865c",
      "parents": [
        "30cd324e9787ccc9a5ede59742d5409857550692"
      ],
      "author": {
        "name": "Pekka J Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Fri Dec 19 12:08:39 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 19 16:29:34 2008 +0100"
      },
      "message": "ftrace: introduce tracing_reset_online_cpus() helper\n\nImpact: cleanup\n\nThis patch factors out common code from multiple tracers into a\ntracing_reset_online_cpus() function and converts the tracers to use it.\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "30cd324e9787ccc9a5ede59742d5409857550692",
      "tree": "e53027e0283119de0ef4c3a431b1d20cd43003fb",
      "parents": [
        "c71dd42db2c6f1637b92502a214587431c1a6ad2",
        "6d102bc68f3dd2ae0e305b09170b1751aa67baeb",
        "3d9101e92529e1ff6014f95a69afc82f37b9b13a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 19 09:42:40 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 19 09:42:40 2008 +0100"
      },
      "message": "Merge branches \u0027tracing/ftrace\u0027, \u0027tracing/ring-buffer\u0027 and \u0027tracing/urgent\u0027 into tracing/core\n\nConflicts:\n\tinclude/linux/ftrace.h\n"
    },
    {
      "commit": "9924da434a13668fceb208d56dbdf86d166862cc",
      "tree": "c11e2ebebd0fd5e0cd2c86a72fbb0c1183876101",
      "parents": [
        "06aaf76a7e2e4cc57eabcb8f43ec99c961fe55fe"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 19 00:53:40 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 19 09:21:57 2008 +0100"
      },
      "message": "sched: fix warning in kernel/sched.c\n\nImpact: fix cpumask conversion bug\n\nthis warning:\n\n  kernel/sched.c: In function ‘find_busiest_group’:\n  kernel/sched.c:3429: warning: passing argument 1 of ‘__first_cpu’ from incompatible pointer type\n\nshows that we forgot to convert a new patch to the new cpumask APIs.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ad273b32e482cdef306eac32b28d97f513a022f4",
      "tree": "230ba0c2f8b594f4acefe5f5b219c650b7b0cb07",
      "parents": [
        "7eb52dfa70dbf5232b5b83ec4357e6bebaa8fde8"
      ],
      "author": {
        "name": "Vaidyanathan Srinivasan",
        "email": "svaidy@linux.vnet.ibm.com",
        "time": "Thu Dec 18 23:26:36 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 19 09:21:54 2008 +0100"
      },
      "message": "sched: activate active load balancing in new idle cpus\n\nImpact: tweak task balancing to save power more agressively\n\nActive load balancing is a process by which migration thread\nis woken up on the target CPU in order to pull current\nrunning task on another package into this newly idle\npackage.\n\nThis method is already in use with normal load_balance(),\nthis patch introduces this method to new idle cpus when\nsched_mc is set to POWERSAVINGS_BALANCE_WAKEUP.\n\nThis logic provides effective consolidation of short running\ndaemon jobs in a almost idle system\n\nThe side effect of this patch may be ping-ponging of tasks\nif the system is moderately utilised. May need to adjust the\niterations before triggering.\n\nSigned-off-by: Vaidyanathan Srinivasan \u003csvaidy@linux.vnet.ibm.com\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7eb52dfa70dbf5232b5b83ec4357e6bebaa8fde8",
      "tree": "dfff4d1dcf62e992717f0934961f4557896d4945",
      "parents": [
        "7a09b1a27b1e5a4957e4af9951420fea02c44fba"
      ],
      "author": {
        "name": "Vaidyanathan Srinivasan",
        "email": "svaidy@linux.vnet.ibm.com",
        "time": "Thu Dec 18 23:26:29 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 19 09:21:52 2008 +0100"
      },
      "message": "sched: bias task wakeups to preferred semi-idle packages\n\nImpact: tweak task wakeup to save power more agressively\n\nPreferred wakeup cpu (from a semi idle package) has been\nnominated in find_busiest_group() in the previous patch.  Use\nthis information in sched_mc_preferred_wakeup_cpu in function\nwake_idle() to bias task wakeups if the following conditions\nare satisfied:\n\n        - The present cpu that is trying to wakeup the process is\n          idle and waking the target process on this cpu will\n          potentially wakeup a completely idle package\n        - The previous cpu on which the target process ran is\n          also idle and hence selecting the previous cpu may\n          wakeup a semi idle cpu package\n        - The task being woken up is allowed to run in the\n          nominated cpu (cpu affinity and restrictions)\n\nBasically if both the current cpu and the previous cpu on\nwhich the task ran is idle, select the nominated cpu from semi\nidle cpu package for running the new task that is waking up.\n\nCache hotness is considered since the actual biasing happens\nin wake_idle() only if the application is cache cold.\n\nThis technique will effectively move short running bursty jobs in\na mostly idle system.\n\nWakeup biasing for power savings gets automatically disabled if\nsystem utilisation increases due to the fact that the probability\nof finding both this_cpu and prev_cpu idle decreases.\n\nSigned-off-by: Vaidyanathan Srinivasan \u003csvaidy@linux.vnet.ibm.com\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7a09b1a27b1e5a4957e4af9951420fea02c44fba",
      "tree": "8b13c8025bbf2bd8fc60e6590e54c1036709b0da",
      "parents": [
        "d5679bd11916eba5c8ee9033003e1a5ce56ece9a"
      ],
      "author": {
        "name": "Vaidyanathan Srinivasan",
        "email": "svaidy@linux.vnet.ibm.com",
        "time": "Thu Dec 18 23:26:22 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 19 09:21:50 2008 +0100"
      },
      "message": "sched: nominate preferred wakeup cpu\n\nImpact: extend load-balancing code (no change in behavior yet)\n\nWhen the system utilisation is low and more cpus are idle,\nthen the process waking up from sleep should prefer to\nwakeup an idle cpu from semi-idle cpu package (multi core\npackage) rather than a completely idle cpu package which\nwould waste power.\n\nUse the sched_mc balance logic in find_busiest_group() to\nnominate a preferred wakeup cpu.\n\nThis info can be stored in appropriate sched_domain, but\nupdating this info in all copies of sched_domain is not\npractical.  Hence this information is stored in root_domain\nstruct which is one copy per partitioned sched domain.\nThe root_domain can be accessed from each cpu\u0027s runqueue\nand there is one copy per partitioned sched domain.\n\nSigned-off-by: Vaidyanathan Srinivasan \u003csvaidy@linux.vnet.ibm.com\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d5679bd11916eba5c8ee9033003e1a5ce56ece9a",
      "tree": "bb7c1bef4446e606ea23e4e6711a48013fed3666",
      "parents": [
        "afb8a9b70b86866a60e08b2956ae4e1406390336"
      ],
      "author": {
        "name": "Vaidyanathan Srinivasan",
        "email": "svaidy@linux.vnet.ibm.com",
        "time": "Thu Dec 18 23:26:16 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 19 09:21:48 2008 +0100"
      },
      "message": "sched: favour lower logical cpu number for sched_mc balance\n\nImpact: change load-balancing direction to match that of irqbalanced\n\nJust in case two groups have identical load, prefer to move load to lower\nlogical cpu number rather than the present logic of moving to higher logical\nnumber.\n\nfind_busiest_group() tries to look for a group_leader that has spare capacity\nto take more tasks and freeup an appropriate least loaded group.  Just in case\nthere is a tie and the load is equal, then the group with higher logical number\nis favoured.  This conflicts with user space irqbalance daemon that will move\ninterrupts to lower logical number if the system utilisation is very low.\n\nSigned-off-by: Vaidyanathan Srinivasan \u003csvaidy@linux.vnet.ibm.com\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "afb8a9b70b86866a60e08b2956ae4e1406390336",
      "tree": "e4f8918230f4a4eb696c32edb888bced183001db",
      "parents": [
        "716707b29906e1d8d190defe3d646610b097a861"
      ],
      "author": {
        "name": "Gautham R Shenoy",
        "email": "ego@in.ibm.com",
        "time": "Thu Dec 18 23:26:09 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 19 09:21:46 2008 +0100"
      },
      "message": "sched: framework for sched_mc/smt_power_savings\u003dN\n\nImpact: extend range of /sys/devices/system/cpu/sched_mc_power_savings\n\nCurrently the sched_mc/smt_power_savings variable is a boolean,\nwhich either enables or disables topology based power savings.\nThis patch extends the behaviour of the variable from boolean to\nmultivalued, such that based on the value, we decide how\naggressively do we want to perform powersavings balance at\nappropriate sched domain based on topology.\n\nVariable levels of power saving tunable would benefit end user to\nmatch the required level of power savings vs performance\ntrade-off depending on the system configuration and workloads.\n\nThis version makes the sched_mc_power_savings global variable to\ntake more values (0,1,2).  Later versions can have a single\ntunable called sched_power_savings instead of\nsched_{mc,smt}_power_savings.\n\nSigned-off-by: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nSigned-off-by: Vaidyanathan Srinivasan \u003csvaidy@linux.vnet.ibm.com\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b56863630ddbdea6e22df8835f78f0b1da037103",
      "tree": "7b04a35cc94be4e40708855ec644bdaf69e77d65",
      "parents": [
        "73500ac545d24610eb2cf8579ffc88957e9c5847"
      ],
      "author": {
        "name": "Darren Hart",
        "email": "dvhltc@us.ibm.com",
        "time": "Thu Dec 18 15:06:34 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 19 09:20:21 2008 +0100"
      },
      "message": "futex: clean up futex_(un)lock_pi fault handling\n\nImpact: cleanup\n\nSome apparently left over cruft code was complicating the fault logic:\n\nTesting if uval !\u003d -EFAULT doesn\u0027t have any meaning, get_user() sets ret\nto either 0 or -EFAULT, there\u0027s no need to compare uval, especially not\nagainst EFAULT which it will never be.  This patch removes the superfluous\ntest and clarifies the comment blocks.\n\nBuild and boot tested on an 8way x86_64 system.\n\nSigned-off-by: Darren Hart \u003cdvhltc@us.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c71dd42db2c6f1637b92502a214587431c1a6ad2",
      "tree": "778c7da5c7539cbab90cdbead19d6597529187a7",
      "parents": [
        "3bddb9a3246f6df5cf3b7655cb541ac10203bb71"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 19 01:09:51 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 19 01:05:38 2008 +0100"
      },
      "message": "tracing: fix warnings in kernel/trace/trace_sched_switch.c\n\nthese warnings:\n\n  kernel/trace/trace_sched_switch.c: In function ‘tracing_sched_register’:\n  kernel/trace/trace_sched_switch.c:96: warning: passing argument 1 of ‘register_trace_sched_wakeup_new’ from incompatible pointer type\n  kernel/trace/trace_sched_switch.c:112: warning: passing argument 1 of ‘unregister_trace_sched_wakeup_new’ from incompatible pointer type\n  kernel/trace/trace_sched_switch.c: In function ‘tracing_sched_unregister’:\n  kernel/trace/trace_sched_switch.c:121: warning: passing argument 1 of ‘unregister_trace_sched_wakeup_new’ from incompatible pointer type\n\nTrigger because sched_wakeup_new tracepoints need the same trace\nsignature as sched_wakeup - which was changed recently.\n\nFix it.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3bddb9a3246f6df5cf3b7655cb541ac10203bb71",
      "tree": "db6f85196d38c0e6ca62edd8af8654e07961c902",
      "parents": [
        "ea3a6d6d60b2504c573fe3415f6617e8310c0236"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 19 01:03:29 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 19 01:01:25 2008 +0100"
      },
      "message": "tracing: fix warning in kernel/trace/trace.c\n\nthis warning:\n\n  kernel/trace/trace.c: In function ‘print_lat_fmt’:\n  kernel/trace/trace.c:1826: warning: unused variable ‘state’\n\nTriggers because \u0027state\u0027 has become unused - remove it.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b2e3c0adec918ea22b6c9d7c76193dd3aaba9bd4",
      "tree": "1ef1bc12934820143ac49f2432fbc933090eabe3",
      "parents": [
        "a0a99b227da57f81319dd239bc4de811b0f530ec"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 19 00:48:27 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 19 00:45:32 2008 +0100"
      },
      "message": "hrtimers: fix warning in kernel/hrtimer.c\n\nthis warning:\n\n  kernel/hrtimer.c: In function ‘hrtimer_cpu_notify’:\n  kernel/hrtimer.c:1574: warning: unused variable ‘dcpu’\n\nis caused because \u0027dcpu\u0027 is only used in the CONFIG_HOTPLUG_CPU case.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "64db4cfff99c04cd5f550357edcc8780f96b54a2",
      "tree": "4856e788d21f0e31ed78a22b70b4521f7237705e",
      "parents": [
        "d110ec3a1e1f522e2e9dfceb9c36d6590c26d2d4"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu Dec 18 21:55:32 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 18 21:56:04 2008 +0100"
      },
      "message": "\"Tree RCU\": scalable classic RCU implementation\n\nThis patch fixes a long-standing performance bug in classic RCU that\nresults in massive internal-to-RCU lock contention on systems with\nmore than a few hundred CPUs.  Although this patch creates a separate\nflavor of RCU for ease of review and patch maintenance, it is intended\nto replace classic RCU.\n\nThis patch still handles stress better than does mainline, so I am still\ncalling it ready for inclusion.  This patch is against the -tip tree.\nNevertheless, experience on an actual 1000+ CPU machine would still be\nmost welcome.\n\nMost of the changes noted below were found while creating an rcutiny\n(which should permit ejecting the current rcuclassic) and while doing\ndetailed line-by-line documentation.\n\nUpdates from v9 (http://lkml.org/lkml/2008/12/2/334):\n\no\tFixes from remainder of line-by-line code walkthrough,\n\tincluding comment spelling, initialization, undesirable\n\tnarrowing due to type conversion, removing redundant memory\n\tbarriers, removing redundant local-variable initialization,\n\tand removing redundant local variables.\n\n\tI do not believe that any of these fixes address the CPU-hotplug\n\tissues that Andi Kleen was seeing, but please do give it a whirl\n\tin case the machine is smarter than I am.\n\n\tA writeup from the walkthrough may be found at the following\n\tURL, in case you are suffering from terminal insomnia or\n\tmasochism:\n\n\thttp://www.kernel.org/pub/linux/kernel/people/paulmck/tmp/rcutree-walkthrough.2008.12.16a.pdf\n\no\tMade rcutree tracing use seq_file, as suggested some time\n\tago by Lai Jiangshan.\n\no\tAdded a .csv variant of the rcudata debugfs trace file, to allow\n\tpeople having thousands of CPUs to drop the data into\n\ta spreadsheet.\tTested with oocalc and gnumeric.  Updated\n\tdocumentation to suit.\n\nUpdates from v8 (http://lkml.org/lkml/2008/11/15/139):\n\no\tFix a theoretical race between grace-period initialization and\n\tforce_quiescent_state() that could occur if more than three\n\tjiffies were required to carry out the grace-period\n\tinitialization.  Which it might, if you had enough CPUs.\n\no\tApply Ingo\u0027s printk-standardization patch.\n\no\tSubstitute local variables for repeated accesses to global\n\tvariables.\n\no\tFix comment misspellings and redundant (but harmless) increments\n\tof -\u003en_rcu_pending (this latter after having explicitly added it).\n\no\tApply checkpatch fixes.\n\nUpdates from v7 (http://lkml.org/lkml/2008/10/10/291):\n\no\tFixed a number of problems noted by Gautham Shenoy, including\n\tthe cpu-stall-detection bug that he was having difficulty\n\tconvincing me was real.  ;-)\n\no\tChanged cpu-stall detection to wait for ten seconds rather than\n\tthree in order to reduce false positive, as suggested by Ingo\n\tMolnar.\n\no\tProduced a design document (http://lwn.net/Articles/305782/).\n\tThe act of writing this document uncovered a number of both\n\ttheoretical and \"here and now\" bugs as noted below.\n\no\tFix dynticks_nesting accounting confusion, simplify WARN_ON()\n\tcondition, fix kerneldoc comments, and add memory barriers\n\tin dynticks interface functions.\n\no\tAdd more data to tracing.\n\no\tRemove unused \"rcu_barrier\" field from rcu_data structure.\n\no\tCount calls to rcu_pending() from scheduling-clock interrupt\n\tto use as a surrogate timebase should jiffies stop counting.\n\no\tFix a theoretical race between force_quiescent_state() and\n\tgrace-period initialization.  Yes, initialization does have to\n\tgo on for some jiffies for this race to occur, but given enough\n\tCPUs...\n\nUpdates from v6 (http://lkml.org/lkml/2008/9/23/448):\n\no\tFix a number of checkpatch.pl complaints.\n\no\tApply review comments from Ingo Molnar and Lai Jiangshan\n\ton the stall-detection code.\n\no\tFix several bugs in !CONFIG_SMP builds.\n\no\tFix a misspelled config-parameter name so that RCU now announces\n\tat boot time if stall detection is configured.\n\no\tRun tests on numerous combinations of configurations parameters,\n\twhich after the fixes above, now build and run correctly.\n\nUpdates from v5 (http://lkml.org/lkml/2008/9/15/92, bad subject line):\n\no\tFix a compiler error in the !CONFIG_FANOUT_EXACT case (blew a\n\tchangeset some time ago, and finally got around to retesting\n\tthis option).\n\no\tFix some tracing bugs in rcupreempt that caused incorrect\n\ttotals to be printed.\n\no\tI now test with a more brutal random-selection online/offline\n\tscript (attached).  Probably more brutal than it needs to be\n\ton the people reading it as well, but so it goes.\n\no\tA number of optimizations and usability improvements:\n\n\to\tMake rcu_pending() ignore the grace-period timeout when\n\t\tthere is no grace period in progress.\n\n\to\tMake force_quiescent_state() avoid going for a global\n\t\tlock in the case where there is no grace period in\n\t\tprogress.\n\n\to\tRearrange struct fields to improve struct layout.\n\n\to\tMake call_rcu() initiate a grace period if RCU was\n\t\tidle, rather than waiting for the next scheduling\n\t\tclock interrupt.\n\n\to\tInvoke rcu_irq_enter() and rcu_irq_exit() only when\n\t\tidle, as suggested by Andi Kleen.  I still don\u0027t\n\t\tcompletely trust this change, and might back it out.\n\n\to\tMake CONFIG_RCU_TRACE be the single config variable\n\t\tmanipulated for all forms of RCU, instead of the prior\n\t\tconfusion.\n\n\to\tDocument tracing files and formats for both rcupreempt\n\t\tand rcutree.\n\nUpdates from v4 for those missing v5 given its bad subject line:\n\no\tSeparated dynticks interface so that NMIs and irqs call separate\n\tfunctions, greatly simplifying it.  In particular, this code\n\tno longer requires a proof of correctness.  ;-)\n\no\tSeparated dynticks state out into its own per-CPU structure,\n\tavoiding the duplicated accounting.\n\no\tThe case where a dynticks-idle CPU runs an irq handler that\n\tinvokes call_rcu() is now correctly handled, forcing that CPU\n\tout of dynticks-idle mode.\n\no\tReview comments have been applied (thank you all!!!).\n\tFor but one example, fixed the dynticks-ordering issue that\n\tManfred pointed out, saving me much debugging.  ;-)\n\no\tAdjusted rcuclassic and rcupreempt to handle dynticks changes.\n\nAttached is an updated patch to Classic RCU that applies a hierarchy,\ngreatly reducing the contention on the top-level lock for large machines.\nThis passes 10-hour concurrent rcutorture and online-offline testing on\n128-CPU ppc64 without dynticks enabled, and exposes some timekeeping\nbugs in presence of dynticks (exciting working on a system where\n\"sleep 1\" hangs until interrupted...), which were fixed in the\n2.6.27 kernel.  It is getting more reliable than mainline by some\nmeasures, so the next version will be against -tip for inclusion.\nSee also Manfred Spraul\u0027s recent patches (or his earlier work from\n2004 at http://marc.info/?l\u003dlinux-kernel\u0026m\u003d108546384711797\u0026w\u003d2).\nWe will converge onto a common patch in the fullness of time, but are\ncurrently exploring different regions of the design space.  That said,\nI have already gratefully stolen quite a few of Manfred\u0027s ideas.\n\nThis patch provides CONFIG_RCU_FANOUT, which controls the bushiness\nof the RCU hierarchy.  Defaults to 32 on 32-bit machines and 64 on\n64-bit machines.  If CONFIG_NR_CPUS is less than CONFIG_RCU_FANOUT,\nthere is no hierarchy.  By default, the RCU initialization code will\nadjust CONFIG_RCU_FANOUT to balance the hierarchy, so strongly NUMA\narchitectures may choose to set CONFIG_RCU_FANOUT_EXACT to disable\nthis balancing, allowing the hierarchy to be exactly aligned to the\nunderlying hardware.  Up to two levels of hierarchy are permitted\n(in addition to the root node), allowing up to 16,384 CPUs on 32-bit\nsystems and up to 262,144 CPUs on 64-bit systems.  I just know that I\nam going to regret saying this, but this seems more than sufficient\nfor the foreseeable future.  (Some architectures might wish to set\nCONFIG_RCU_FANOUT\u003d4, which would limit such architectures to 64 CPUs.\nIf this becomes a real problem, additional levels can be added, but I\ndoubt that it will make a significant difference on real hardware.)\n\nIn the common case, a given CPU will manipulate its private rcu_data\nstructure and the rcu_node structure that it shares with its immediate\nneighbors.  This can reduce both lock and memory contention by multiple\norders of magnitude, which should eliminate the need for the strange\nmanipulations that are reported to be required when running Linux on\nvery large systems.\n\nSome shortcomings:\n\no\tMore bugs will probably surface as a result of an ongoing\n\tline-by-line code inspection.\n\n\tPatches will be provided as required.\n\no\tThere are probably hangs, rcutorture failures, \u0026c.  Seems\n\tquite stable on a 128-CPU machine, but that is kind of small\n\tcompared to 4096 CPUs.  However, seems to do better than\n\tmainline.\n\n\tPatches will be provided as required.\n\no\tThe memory footprint of this version is several KB larger\n\tthan rcuclassic.\n\n\tA separate UP-only rcutiny patch will be provided, which will\n\treduce the memory footprint significantly, even compared\n\tto the old rcuclassic.  One such patch passes light testing,\n\tand has a memory footprint smaller even than rcuclassic.\n\tInitial reaction from various embedded guys was \"it is not\n\tworth it\", so am putting it aside.\n\nCredits:\n\no\tManfred Spraul for ideas, review comments, and bugs spotted,\n\tas well as some good friendly competition.  ;-)\n\no\tJosh Triplett, Ingo Molnar, Peter Zijlstra, Mathieu Desnoyers,\n\tLai Jiangshan, Andi Kleen, Andy Whitcroft, and Andrew Morton\n\tfor reviews and comments.\n\no\tThomas Gleixner for much-needed help with some timer issues\n\t(see patches below).\n\no\tJon M. Tollefson, Tim Pepper, Andrew Theurer, Jose R. Santos,\n\tAndy Whitcroft, Darrick Wong, Nishanth Aravamudan, Anton\n\tBlanchard, Dave Kleikamp, and Nathan Lynch for keeping machines\n\talive despite my heavy abuse^Wtesting.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d110ec3a1e1f522e2e9dfceb9c36d6590c26d2d4",
      "tree": "86b2f8f1d22b74b05239525c55bd42e3db6afc03",
      "parents": [
        "343e9099c8152daff20e10d6269edec21da44fc0",
        "55dac3a5553b13891f0ae4bbd11920619b5436d4"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 18 21:54:49 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 18 21:54:49 2008 +0100"
      },
      "message": "Merge branch \u0027linus\u0027 into core/rcu\n"
    },
    {
      "commit": "74c8a6130486bed224e960790f4aa72dd09c061e",
      "tree": "0d6da9737c66ca2f4b2a20b7eb34e6c2d04ba4cc",
      "parents": [
        "6f8a0ed4e5d86c01db5e7e3f95d9003b7cf9cb87"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Wed Dec 17 19:40:33 2008 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 18 14:35:53 2008 +0100"
      },
      "message": "locking, irq: enclose irq_desc_lock_class in CONFIG_LOCKDEP\n\nImpact: simplify code\n\ncommit \"08678b0: generic: sparse irqs: use irq_desc() [...]\" introduced\nthe irq_desc_lock_class variable.\n\nBut it is used only if CONFIG_SPARSE_IRQ\u003dY or CONFIG_TRACE_IRQFLAGS\u003dY.\nOtherwise, following warnings happen:\n\n\tCC      kernel/irq/handle.o\n\tkernel/irq/handle.c:26: warning: \u0027irq_desc_lock_class\u0027 defined but not used\n\nActually, current early_init_irq_lock_class has a bit strange and messy ifdef.\nIn addition, it is not valueable.\n\n1. this function is protected by !CONFIG_SPARSE_IRQ, but that is not necessary.\n   if CONFIG_SPARSE_IRQ\u003dY, desc of all irq number are initialized by NULL\n   at first - then this function calling is safe.\n\n2. this function protected by CONFIG_TRACE_IRQFLAGS too. but it is not\n   necessary either, because lockdep_set_class() doesn\u0027t have bad side\n   effect even if CONFIG_TRACE_IRQFLAGS\u003dn.\n\nThis patch bloat kernel size a bit on CONFIG_TRACE_IRQFLAGS\u003dn and\nCONFIG_SPARSE_IRQ\u003dY - but that\u0027s ok. early_init_irq_lock_class() is not\na fastpatch at all.\n\nTo avoid messy ifdefs is more important than a few bytes diet.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9c2c48020ec0dd6ecd27e5a1298f73b40d85a595",
      "tree": "1a44f56e18012120aff0969094eebd572deb2ea3",
      "parents": [
        "e9515c3c9feecd74174c2998add0db51e02abb8d"
      ],
      "author": {
        "name": "Ken Chen",
        "email": "kenchen@google.com",
        "time": "Tue Dec 16 23:41:22 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 18 13:54:01 2008 +0100"
      },
      "message": "schedstat: consolidate per-task cpu runtime stats\n\nImpact: simplify code\n\nWhen we turn on CONFIG_SCHEDSTATS, per-task cpu runtime is accumulated\ntwice. Once in task-\u003ese.sum_exec_runtime and once in sched_info.cpu_time.\nThese two stats are exactly the same.\n\nGiven that task-\u003ese.sum_exec_runtime is always accumulated by the core\nscheduler, sched_info can reuse that data instead of duplicate the accounting.\n\nSigned-off-by: Ken Chen \u003ckenchen@google.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6d102bc68f3dd2ae0e305b09170b1751aa67baeb",
      "tree": "c52f4bf881946eff6824190fd4c57bd5949319c9",
      "parents": [
        "40874491f9e9a4cb08eaf663dbe018bf5671975a"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Wed Dec 17 17:48:23 2008 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 18 13:49:56 2008 +0100"
      },
      "message": "tracing/ring-buffer: remove unused ring_buffer size\n\nImpact: remove dead code\n\nstruct ring_buffer.size is not set after ring_buffer is initialized\nor resized. it is always 0.\n\nwe can use \"buffer-\u003epages * PAGE_SIZE\" to get ring_buffer\u0027s size\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3d9101e92529e1ff6014f95a69afc82f37b9b13a",
      "tree": "5147a9331a9a98d0ab073258d489aa0b052e524b",
      "parents": [
        "55dac3a5553b13891f0ae4bbd11920619b5436d4"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Dec 17 22:34:13 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 18 13:03:09 2008 +0100"
      },
      "message": "trace: fix task state printout\n\nImpact: fix occasionally incorrect trace output\n\nThe tracing code has interesting varieties of printing out task state.\n\nUnfortunalely only one of the instances is correct as it copies the\ncode from sched.c:sched_show_task(). The others are plain wrong as\nthey treatthe bitfield as an integer offset into the character\narray. Also the size check of the character array is wrong as it\nincludes the trailing \\0.\n\nUse a common state decoder inline which does the Right Thing.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ea3a6d6d60b2504c573fe3415f6617e8310c0236",
      "tree": "3c0887bebd1986107d9bf206c252f626dcf32b64",
      "parents": [
        "e05a43b744fb9518cbf8539a7ef33164ac60a70f"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Dec 17 15:05:36 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 18 12:57:09 2008 +0100"
      },
      "message": "ftrace: add not to regex on filtering functions\n\nImpact: enhancement\n\nIngo Molnar has asked about a way to remove items from the filter\nlists. Currently, you can only add or replace items. The way\nitems are added to the list is through opening one of the list\nfiles (set_ftrace_filter or set_ftrace_notrace) via append.\nIf the file is opened for truncate, the list is cleared.\n\n  echo spin_lock \u003e /debug/tracing/set_ftrace_filter\n\nThe above will replace the list with only spin_lock\n\n  echo spin_lock \u003e\u003e /debug/tracing/set_ftrace_filter\n\nThe above will add spin_lock to the list.\n\nNow this patch adds:\n\n  echo \u0027!spin_lock\u0027 \u003e\u003e /debug/tracing/set_ftrace_filter\n\nThis will remove spin_lock from the list.\n\nThe limited glob features of these lists also can be notted.\n\n  echo \u0027!spin_*\u0027 \u003e\u003e /debug/tracing/set_ftrace_filter\n\nThis will remove all functions that start with \u0027spin_\u0027\n\nNote:\n\n  echo \u0027!spin_*\u0027 \u003e /debug/tracing/set_ftrace_filter\n\nwill simply clear out the list (notice the \u0027\u003e\u0027 instead of \u0027\u003e\u003e\u0027)\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e05a43b744fb9518cbf8539a7ef33164ac60a70f",
      "tree": "ce45f7e86fe15b3b021cf416caa85bcf4dd38001",
      "parents": [
        "f38f1d2aa5a3520cf05da7cd6bd12fe2b0c509b7"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Dec 17 09:43:00 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 18 12:56:56 2008 +0100"
      },
      "message": "trace: better use of stack_trace_enabled for boot up code\n\nImpact: clean up\n\nAndrew Morton suggested to use the stack_tracer_enabled variable\nto decide whether or not to start stack tracing on bootup.\nThis lets us remove the start_stack_trace variable.\n\nReported-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f38f1d2aa5a3520cf05da7cd6bd12fe2b0c509b7",
      "tree": "5eef795a1a081c41686971eaaa5ba2d1098ceb9d",
      "parents": [
        "40874491f9e9a4cb08eaf663dbe018bf5671975a"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Dec 16 23:06:40 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 18 12:56:24 2008 +0100"
      },
      "message": "trace: add a way to enable or disable the stack tracer\n\nImpact: enhancement to stack tracer\n\nThe stack tracer currently is either on when configured in or\noff when it is not. It can not be disabled when it is configured on.\n(besides disabling the function tracer that it uses)\n\nThis patch adds a way to enable or disable the stack tracer at\nrun time. It defaults off on bootup, but a kernel parameter \u0027stacktrace\u0027\nhas been added to enable it on bootup.\n\nA new sysctl has been added \"kernel.stack_tracer_enabled\" to let\nthe user enable or disable the stack tracer at run time.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "73500ac545d24610eb2cf8579ffc88957e9c5847",
      "tree": "1e36cc5585bd25a1d8cbe973d229250bee0cef32",
      "parents": [
        "1acdac104668a0834cfa267de9946fac7764d486"
      ],
      "author": {
        "name": "Darren Hart",
        "email": "dvhltc@us.ibm.com",
        "time": "Wed Dec 17 17:29:56 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 18 11:42:23 2008 +0100"
      },
      "message": "futex: rename field in futex_q to clarify single waiter semantics\n\nImpact: simplify code\n\nI\u0027ve tripped over the naming of this field a couple times.\n\nThe futex_q uses a \"waiters\" list to represent a single blocked task and\nthen calles wake_up_all().\n\nThis can lead to confusion in trying to understand the intent of the code,\nwhich is to have a single futex_q for every task waiting on a futex.\n\nThis patch corrects the problem, using a single pointer to the waiting\ntask, and an appropriate call to wake_up, rather than wake_up_all.\n\nCompile and boot tested on an 8way x86_64 machine.\n\nSigned-off-by: Darren Hart \u003cdvhltc@us.ibm.com\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "948a7b2b5e2bf126fb697aeb11ff379b2c85dd2e",
      "tree": "727c744438a44d85f7dc340b1bfcb3b127c84f13",
      "parents": [
        "9466d6036f73481104039fbe99338baed11c8fea",
        "17483a1f34c970e6c2cb8c082d4441bfabbe88a9"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 17 13:16:08 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 17 13:16:08 2008 +0100"
      },
      "message": "Merge branch \u0027irq/sparseirq\u0027 into cpus4096\n\nConflicts:\n\tarch/x86/kernel/io_apic.c\n\nMerge irq/sparseirq here, to resolve conflicts.\n"
    },
    {
      "commit": "1f3f424a6bee9de4d839be9951f4296333fac014",
      "tree": "95de90dfdb4a9f64fe470709b82176243537c952",
      "parents": [
        "c8cae544bba6aee0f5cb0756dbab1a71d2c68737",
        "1bda71282ded6a2e09a2db7c8884542fb46bfd4f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 17 13:07:48 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 17 13:07:48 2008 +0100"
      },
      "message": "Merge branch \u0027linus\u0027 into cpus4096\n"
    },
    {
      "commit": "66896a85cf2890b6bbbc4c9ccdcd296600ffbf89",
      "tree": "ad6b0a4df65a59280163f5b8ab0b92b2fe54c283",
      "parents": [
        "2c2d7329d8afa9efa3ec24e19a53e7be9d14f242"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Dec 13 20:18:13 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 17 00:26:36 2008 +0100"
      },
      "message": "tracing/ftrace: add the printk-msg-only option\n\nImpact: display ftrace_printk messages \"as is\"\n\nBy default, ftrace_printk() messages find their output with some other\ninformations like pid, caller, ...\nSometimes a developer just want to have the ftrace_printk left \"as is\", without\nother information.\n\nThis is done by providing a default-off option called printk-msg-only.\nTo enable it, just do `echo printk-msg-only \u003e /debugfs/tracing/trace_options`\n\nBefore the patch:\n\n           \u003c...\u003e-2739  [000]   145.692153: __might_sleep: I\u0027m an ftrace_printk msg in __might_sleep\n           \u003c...\u003e-2739  [000]   145.692155: __might_sleep: I\u0027m another ftrace_printk msg in __might_sleep\n\nAfter the patch and the printk-msg-only option enabled:\n\nI\u0027m an ftrace_printk msg in __might_sleep\nI\u0027m another ftrace_printk msg in __might_sleep\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2c2d7329d8afa9efa3ec24e19a53e7be9d14f242",
      "tree": "12dd840eef0475e81e0dc8f616229a030d7caae4",
      "parents": [
        "9dfc3bc7d21864d47797d64b8d531d4dbbc0b618"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Dec 16 22:08:58 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 17 00:26:35 2008 +0100"
      },
      "message": "tracing/ftrace: use preempt_enable_no_resched_notrace in ring_buffer_time_stamp()\n\nImpact: prevent a trace recursion\n\nAfter some tests with function graph tracer under x86-32, I saw some recursions\ncaused by ring_buffer_time_stamp() that calls preempt_enable_no_notrace() which\ncalls preempt_schedule() which is traced itself.\n\nThis patch re-enables preemption without rescheduling.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "48a1b10aff588833b73994704c47bbd0deb73e9c",
      "tree": "deb3c7b486346c3afa54014b3c3516344c2708f2",
      "parents": [
        "13bd41bc227a48d6cf8992a3286bf6eba3c71a0c"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Thu Dec 11 00:15:01 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 17 00:14:01 2008 +0100"
      },
      "message": "x86, sparseirq: move irq_desc according to smp_affinity, v7\n\nImpact: improve NUMA handling by migrating irq_desc on smp_affinity changes\n\nif CONFIG_NUMA_MIGRATE_IRQ_DESC is set:\n\n-  make irq_desc to go with affinity aka irq_desc moving etc\n-  call move_irq_desc in irq_complete_move()\n-  legacy irq_desc is not moved, because they are allocated via static array\n\nfor logical apic mode, need to add move_desc_in_progress_in_same_domain,\notherwise it will not be moved \u003d\u003d\u003e also could need two phases to get\nirq_desc moved.\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "343e9099c8152daff20e10d6269edec21da44fc0",
      "tree": "1d82d5b90d0c83ab4a5240d0c3c3c74b4e19e227",
      "parents": [
        "29cbda77a67cf263d636feea65d3bbc9c7de2e24"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Dec 15 16:13:07 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 17 00:04:40 2008 +0100"
      },
      "message": "rcu: fix rcutorture behavior during reboot\n\nImpact: fix very rare reboot hang\n\nBecause rcutorture ignored all signals, it does not terminate in\nresponse to the signals sent at shutdown time.  This can cause strange\nfailures due to its continuing to make use of kernel function too late\nin the shutdown sequence.  This patch therefore adds a shutdown notifier\nto rcutorture, causing it to shut down in response to a reboot or an\norderly shutdown.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3ac52669c7a24b93663acfcab606d1065ed1accd",
      "tree": "d71baaa46f0d443176d2f161d10885d916a5c7e8",
      "parents": [
        "1bda71282ded6a2e09a2db7c8884542fb46bfd4f"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sat Dec 13 09:15:27 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 16 23:30:49 2008 +0100"
      },
      "message": "resources: skip sanity check of busy resources\n\nImpact: reduce false positives in iomem_map_sanity_check()\n\nSome drivers (vesafb) only map/reserve a portion of a resource.\nIf then some other driver comes in and maps the whole resource,\nthe current code WARN_ON\u0027s. This is not the intent of the checks\nin iomem_map_sanity_check(); rather these checks want to\nwarn when crossing *hardware* resources only.\n\nThis patch skips BUSY resources as suggested by Linus.\n\nNote: having two drivers talk to the same hardware at the same\ntime is obviously not optimal behavior, but that\u0027s a separate story.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "80f40ee4a07530cc3acbc239a9299ec47025825b",
      "tree": "3feb69ea882c314b518f53fd6eae9db634918003",
      "parents": [
        "1bda71282ded6a2e09a2db7c8884542fb46bfd4f"
      ],
      "author": {
        "name": "Bharata B Rao",
        "email": "bharata@linux.vnet.ibm.com",
        "time": "Mon Dec 15 11:56:48 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 16 21:39:14 2008 +0100"
      },
      "message": "sched: use RCU variant of list traversal in for_each_leaf_rt_rq()\n\nImpact: fix potential of rare crash\n\nfor_each_leaf_rt_rq() walks an RCU protected list (rq-\u003eleaf_rt_rq_list),\nbut doesn\u0027t use list_for_each_entry_rcu(). Fix this.\n\nSigned-off-by: Bharata B Rao \u003cbharata@linux.vnet.ibm.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e9515c3c9feecd74174c2998add0db51e02abb8d",
      "tree": "961e5fc9f0d01a901fd28c548b8f39037611a4ce",
      "parents": [
        "720f54988e17b33f3f477010b3a68ee872d20d5a"
      ],
      "author": {
        "name": "Ken Chen",
        "email": "kenchen@google.com",
        "time": "Mon Dec 15 22:04:15 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 16 12:15:01 2008 +0100"
      },
      "message": "sched, cpuacct: export percpu cpuacct cgroup stats\n\nThis patch export per-cpu CPU cycle usage for a given cpuacct cgroup.\nThere is a need for a user space monitor daemon to track group CPU\nusage on per-cpu base.  It is also useful for monitoring CFS load\nbalancer behavior by tracking per CPU group usage.\n\nSigned-off-by: Ken Chen \u003ckenchen@google.com\u003e\nReviewed-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nReviewed-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "720f54988e17b33f3f477010b3a68ee872d20d5a",
      "tree": "ebb475d1a7af97926c1f469a57bef47c46e9ae98",
      "parents": [
        "34f28ecd0f4bdc733c681294d02d9fab5880591b"
      ],
      "author": {
        "name": "Ken Chen",
        "email": "kenchen@google.com",
        "time": "Mon Dec 15 22:02:01 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 16 12:15:00 2008 +0100"
      },
      "message": "sched, cpuacct: refactoring cpuusage_read / cpuusage_write\n\nImpact: micro-optimize the code on 64-bit architectures\n\nIn the thread regarding to \u0027export percpu cpuacct cgroup stats\u0027\nhttp://lkml.org/lkml/2008/12/7/13\n\nakpm pointed out that current cpuacct code is inefficient.  This patch\nrefactoring the following:\n\n* make cpu_rq locking only on 32-bit\n* change iterator to each_present_cpu instead of each_possible_cpu to\n  make it hotplug friendly.\n\nIt\u0027s a bit of code churn, but I was rewarded with 160 byte code size saving\non x86-64 arch and zero code size change on i386.\n\nSigned-off-by: Ken Chen \u003ckenchen@google.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9dfc3bc7d21864d47797d64b8d531d4dbbc0b618",
      "tree": "fdf0eb86fdb7a7ecfb4f7bc718ac26875f3f94a2",
      "parents": [
        "da485e0cb16726797e99a595a399b9fc721b91bc",
        "cbc34ed1ac36690f75fd272e19e7b4fc29aae5a2",
        "2bed8446819a7c5033aa1da138d9f230ae212edc",
        "ffc2238af8431d930d2c15f16feecf1fd6d75642"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 16 12:03:38 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 16 12:03:38 2008 +0100"
      },
      "message": "Merge branches \u0027tracing/fastboot\u0027, \u0027tracing/ftrace\u0027, \u0027tracing/function-graph-tracer\u0027 and \u0027tracing/hw-branch-tracing\u0027 into tracing/core\n"
    },
    {
      "commit": "34f28ecd0f4bdc733c681294d02d9fab5880591b",
      "tree": "7869949614b6a4f2bf52f01dfaa769ebe22c8aab",
      "parents": [
        "03e89e4574a680af15f59329b061f35d9813aff4"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Dec 16 08:45:31 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 16 09:46:33 2008 +0100"
      },
      "message": "sched: optimize update_curr()\n\nImpact: micro-optimization\n\nSkip the hard work when there is none.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "03e89e4574a680af15f59329b061f35d9813aff4",
      "tree": "2cf03e33021fbf8cf2aaf6ce99314eb45ed34dbc",
      "parents": [
        "d65bd5ecb2bd166cea4952a59b7e16cc3ad6ef6c"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Tue Dec 16 08:45:30 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 16 09:45:38 2008 +0100"
      },
      "message": "sched: fix wakeup preemption clock\n\nImpact: sharpen the wakeup-granularity to always be against current scheduler time\n\nIt was possible to do the preemption check against an old time stamp.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "307257cf475aac25db30b669987f13d90c934e3a",
      "tree": "393a2c87fd1834aed3e686b65ba5479bae871b0d",
      "parents": [
        "38aefbc585c5d86df101e7644bff2c47112783d4"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Mon Dec 15 13:54:22 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 15 16:27:07 2008 -0800"
      },
      "message": "cgroups: fix a race between rmdir and remount\n\nWhen a cgroup is removed, it\u0027s unlinked from its parent\u0027s children list,\nbut not actually freed until the last dentry on it is released (at which\npoint cgrp-\u003eroot-\u003enumber_of_cgroups is decremented).\n\nCurrently rebind_subsystems checks for the top cgroup\u0027s child list being\nempty in order to rebind subsystems into or out of a hierarchy - this can\nresult in the set of subsystems bound to a hierarchy being\nremoved-but-not-freed cgroup.\n\nThe simplest fix for this is to forbid remounts that change the set of\nsubsystems on a hierarchy that has removed-but-not-freed cgroups.  This\nbug can be reproduced via:\n\nmkdir /mnt/cg\nmount -t cgroup -o ns,freezer cgroup /mnt/cg\nmkdir /mnt/cg/foo\nsleep 1h \u003c /mnt/cg/foo \u0026\nrmdir /mnt/cg/foo\nmount -t cgroup -o remount,ns,devices,freezer cgroup /mnt/cg\nkill $!\n\nThough the above will cause oops in -mm only but not mainline, but the bug\ncan cause memory leak in mainline (and even oops)\n\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nReviewed-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": "ca7e716c7833aeaeb8fedd6d004c5f5d5e14d325",
      "tree": "70a7846a35d880ee3efe3d664d71d3711af64a7d",
      "parents": [
        "5279585ff2bedc8180da5bdf8aa3ff1736466de2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 14 15:46:01 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 14 16:23:17 2008 -0800"
      },
      "message": "Revert \"sched_clock: prevent scd-\u003eclock from moving backwards\"\n\nThis reverts commit 5b7dba4ff834259a5623e03a565748704a8fe449, which\ncaused a regression in hibernate, reported by and bisected by Fabio\nComolli.\n\nThis revert fixes\n\n http://bugzilla.kernel.org/show_bug.cgi?id\u003d12155\n http://bugzilla.kernel.org/show_bug.cgi?id\u003d12149\n\nBisected-by: Fabio Comolli \u003cfabio.comolli@gmail.com\u003e\nRequested-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "968ea6d80e395cf11a51143cfa1b9a14ada676df",
      "tree": "dc2acec8c9bdced33afe1e273ee5e0b0b93d2703",
      "parents": [
        "7be7585393d311866653564fbcd10a3232773c0b",
        "8299608f140ae321e4eb5d1306184265d2b9511e"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Dec 13 21:55:51 2008 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Dec 13 21:55:51 2008 +1030"
      },
      "message": "Merge ../linux-2.6-x86\n\nConflicts:\n\n\tarch/x86/kernel/io_apic.c\n\tkernel/sched.c\n\tkernel/sched_stats.h\n"
    },
    {
      "commit": "320ab2b0b1e08e3805a3e1084a2f0eb1938d5d67",
      "tree": "1303d8ca53cca655425d512d65cc9ab043254b31",
      "parents": [
        "0de26520c7cabf36e1de090ea8092f011a6106ce"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Dec 13 21:20:26 2008 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Dec 13 21:20:26 2008 +1030"
      },
      "message": "cpumask: convert struct clock_event_device to cpumask pointers.\n\nImpact: change calling convention of existing clock_event APIs\n\nstruct clock_event_timer\u0027s cpumask field gets changed to take pointer,\nas does the -\u003ebroadcast function.\n\nAnother single-patch change.  For safety, we BUG_ON() in\nclockevents_register_device() if it\u0027s not set.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0de26520c7cabf36e1de090ea8092f011a6106ce",
      "tree": "3d02e509b6315fdfd9cdb8c9e0b9ed0a30cf9384",
      "parents": [
        "29c0177e6a4ac094302bed54a1d4bbb6b740a9ef"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Dec 13 21:20:26 2008 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Dec 13 21:20:26 2008 +1030"
      },
      "message": "cpumask: make irq_set_affinity() take a const struct cpumask\n\nImpact: change existing irq_chip API\n\nNot much point with gentle transition here: the struct irq_chip\u0027s\nsetaffinity method signature needs to change.\n\nFortunately, not widely used code, but hits a few architectures.\n\nNote: In irq_select_affinity() I save a temporary in by mangling\nirq_desc[irq].affinity directly.  Ingo, does this break anything?\n\n(Folded in fix from KOSAKI Motohiro)\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nReviewed-by: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: ralf@linux-mips.org\nCc: grundler@parisc-linux.org\nCc: jeremy@xensource.com\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\n"
    },
    {
      "commit": "29c0177e6a4ac094302bed54a1d4bbb6b740a9ef",
      "tree": "d8ee57c5b40baa3f53d607b719344dd20f8c85a0",
      "parents": [
        "98a79d6a50181ca1ecf7400eda01d5dc1bc0dbf0"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Dec 13 21:20:25 2008 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Dec 13 21:20:25 2008 +1030"
      },
      "message": "cpumask: change cpumask_scnprintf, cpumask_parse_user, cpulist_parse, and cpulist_scnprintf to take pointers.\n\nImpact: change calling convention of existing cpumask APIs\n\nMost cpumask functions started with cpus_: these have been replaced by\ncpumask_ ones which take struct cpumask pointers as expected.\n\nThese four functions don\u0027t have good replacement names; fortunately\nthey\u0027re rarely used, so we just change them over.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: paulus@samba.org\nCc: mingo@redhat.com\nCc: tony.luck@intel.com\nCc: ralf@linux-mips.org\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCc: cl@linux-foundation.org\nCc: srostedt@redhat.com\n"
    },
    {
      "commit": "98a79d6a50181ca1ecf7400eda01d5dc1bc0dbf0",
      "tree": "e8829ee975b77745da153b9d23601e3a1497ad68",
      "parents": [
        "6c34bc2976b30dc8b56392c020e25bae1f363cab"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Dec 13 21:19:41 2008 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Dec 13 21:19:41 2008 +1030"
      },
      "message": "cpumask: centralize cpu_online_map and cpu_possible_map\n\nImpact: cleanup\n\nEach SMP arch defines these themselves.  Move them to a central\nlocation.\n\nTwists:\n1) Some archs (m32, parisc, s390) set possible_map to all 1, so we add a\n   CONFIG_INIT_ALL_POSSIBLE for this rather than break them.\n\n2) mips and sparc32 \u0027#define cpu_possible_map phys_cpu_present_map\u0027.\n   Those archs simply have phys_cpu_present_map replaced everywhere.\n\n3) Alpha defined cpu_possible_map to cpu_present_map; this is tricky\n   so I just manipulate them both in sync.\n\n4) IA64, cris and m32r have gratuitous \u0027extern cpumask_t cpu_possible_map\u0027\n   declarations.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nReviewed-by: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\nTested-by: Tony Luck \u003ctony.luck@intel.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Mike Travis \u003ctravis@sgi.com\u003e\nCc: ink@jurassic.park.msu.ru\nCc: rmk@arm.linux.org.uk\nCc: starvik@axis.com\nCc: tony.luck@intel.com\nCc: takata@linux-m32r.org\nCc: ralf@linux-mips.org\nCc: grundler@parisc-linux.org\nCc: paulus@samba.org\nCc: schwidefsky@de.ibm.com\nCc: lethal@linux-sh.org\nCc: wli@holomorphy.com\nCc: davem@davemloft.net\nCc: jdike@addtoit.com\nCc: mingo@redhat.com\n"
    },
    {
      "commit": "899921025b406a71a8aeb2d7855658ea0cf0ed23",
      "tree": "6faf12eb15231b6a430d0e1e11a4f6fcc581874e",
      "parents": [
        "27af4245b6ce99e08c6a7c38825383bf51119cc9"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Mon Dec 01 14:18:15 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 12 17:00:34 2008 +0100"
      },
      "message": "posix-timers: check -\u003eit_signal instead of -\u003eit_pid to validate the timer\n\nImpact: clean up, speed up\n\n-\u003eit_pid (was -\u003eit_process) has also a special meaning: if it is NULL,\nthe timer is under deletion or it wasn\u0027t initialized yet. We can check\n-\u003eit_signal !\u003d NULL instead, this way we can\n\n\t- simplify sys_timer_create() a bit\n\n\t- remove yet another check from lock_timer()\n\n\t- move put_pid(-\u003eit_pid) into release_posix_timer() which\n\t  runs outside of -\u003eit_lock\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "27af4245b6ce99e08c6a7c38825383bf51119cc9",
      "tree": "07ab6b1da26b4d170ccaa700b2207ec1b1aff0db",
      "parents": [
        "6c34bc2976b30dc8b56392c020e25bae1f363cab"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Mon Dec 01 14:18:13 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 12 17:00:07 2008 +0100"
      },
      "message": "posix-timers: use \"struct pid*\" instead of \"struct task_struct*\"\n\nImpact: restructure, clean up code\n\nk_itimer holds the ref to the -\u003eit_process until sys_timer_delete(). This\nallows to pin up to RLIMIT_SIGPENDING dead task_struct\u0027s. Change the code\nto use \"struct pid *\" instead.\n\nThe patch doesn\u0027t kill -\u003eit_process, it places -\u003eit_pid into the union.\n-\u003eit_process is still used by do_cpu_nanosleep() as before. It would be\ntrivial to change the nanosleep code as well, but since it uses it_process\nin a special way I think it is better to keep this field for grep.\n\nThe patch bloats the kernel by 104 bytes and it also adds the new pointer,\n-\u003eit_signal, to k_itimer. It is used by lock_timer() to verify that the\nfound timer was not created by another process. It is not clear why do we\nuse the global database (and thus the global idr_lock) for posix timers.\nWe still need the signal_struct-\u003eposix_timers which contains all useable\ntimers, perhaps it is better to use some form of per-process array\ninstead.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "001474491fabeca233168a8598f721c808040f90",
      "tree": "858467ce6aed38ba2bd1ea8682e12bbdb182d0f1",
      "parents": [
        "fa116ea35ec7f40e890972324409e99eed008d56"
      ],
      "author": {
        "name": "Woodruff, Richard",
        "email": "r-woodruff2@ti.com",
        "time": "Mon Dec 01 14:18:11 2008 -0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Dec 12 16:55:31 2008 +0100"
      },
      "message": "nohz: suppress needless timer reprogramming\n\nIn my device I get many interrupts from a high speed USB device in a very\nshort period of time.  The system spends a lot of time reprogramming the\nhardware timer which is in a slower timing domain as compared to the CPU. \nThis results in the CPU spending a huge amount of time waiting for the\ntimer posting to be done.  All of this reprogramming is useless as the\nwake up time has not changed.\n\nAs measured using ETM trace this drops my reprogramming penalty from\nalmost 60% CPU load down to 15% during high interrupt rate.  I can send\ntraces to show this.\n\nSuppress setting of duplicate timer event when timer already stopped. \nTimer programming can be very costly and can result in long cpu stall/wait\ntimes.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[tglx@linutronix.de: move the check to the right place and avoid raising\n\t\t     the softirq for nothing]\n\nSigned-off-by: Richard Woodruff \u003cr-woodruff2@ti.com\u003e\nCc: johnstul@us.ibm.com\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "8299608f140ae321e4eb5d1306184265d2b9511e",
      "tree": "830ad1dc2e79c2dcaf8b89e31c51dcc1ee5adf89",
      "parents": [
        "45ab6b0c76d0e4cce5bd608ccf97b0f6b20f18df",
        "30cb367ea2be76bf71dbd275f38d0fd3b6f4142b",
        "69b88afa8d114a43a3c0431722b79e31d9920692",
        "8daa19051e1c7369c89ace7b18e74fe1f55dfa29"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 12 13:49:17 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 12 13:49:24 2008 +0100"
      },
      "message": "Merge branches \u0027irq/sparseirq\u0027, \u0027x86/quirks\u0027 and \u0027x86/reboot\u0027 into cpus4096\n\nWe merge the irq/sparseirq, x86/quirks and x86/reboot trees into the\ncpus4096 tree because the io-apic changes in the sparseirq change\nconflict with the cpumask changes in the cpumask tree, and we\nwant to resolve those.\n"
    },
    {
      "commit": "45ab6b0c76d0e4cce5bd608ccf97b0f6b20f18df",
      "tree": "4d51c73533c386aee16fde1e74b5e3bc22eedc53",
      "parents": [
        "81444a799550214f549caf579cf65a0ca55e70b7",
        "d65bd5ecb2bd166cea4952a59b7e16cc3ad6ef6c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 12 13:48:57 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 12 13:48:57 2008 +0100"
      },
      "message": "Merge branch \u0027sched/core\u0027 into cpus4096\n\nConflicts:\n\tinclude/linux/ftrace.h\n\tkernel/sched.c\n"
    }
  ],
  "next": "d65bd5ecb2bd166cea4952a59b7e16cc3ad6ef6c"
}
