)]}'
{
  "log": [
    {
      "commit": "20dd67407160eac577656cd2f8ee9a1fead960b8",
      "tree": "c3598a848330b8b23e243288f5672c6ef2660333",
      "parents": [
        "e815f0a84fc9a98e5cc3ef0b520122e5e18520e7"
      ],
      "author": {
        "name": "Sergey Senozhatsky",
        "email": "sergey.senozhatsky@gmail.com",
        "time": "Wed Mar 23 13:17:23 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 23 13:27:58 2011 +0100"
      },
      "message": "sched: Remove unused \u0027rq\u0027 variable and cpu_rq() call from alloc_fair_sched_group()\n\nSigned-off-by: Sergey Senozhatsky \u003csergey.senozhatsky@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c20110323111722.GA4244@swordfish.minsk.epam.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e815f0a84fc9a98e5cc3ef0b520122e5e18520e7",
      "tree": "ad4b1df3e1446d293f325b4d0a5a5dfa5f32d1a5",
      "parents": [
        "16addf954d3954a72fd56abc02ffcba3c18529a1"
      ],
      "author": {
        "name": "Jonathan Neuschäfer",
        "email": "j.neuschaefer@gmx.net",
        "time": "Mon Mar 21 20:24:47 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 23 12:10:02 2011 +0100"
      },
      "message": "sched.h: Fix a typo (\"its\")\n\nThe sentence uses the possessive pronoun, which is spelled\nwithout an apostrophe.\n\nSigned-off-by: Jonathan Neuschäfer \u003cj.neuschaefer@gmx.net\u003e\nCc: Jiri Kosina \u003ctrivial@kernel.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c1300735487-2406-1-git-send-email-j.neuschaefer@gmx.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "16addf954d3954a72fd56abc02ffcba3c18529a1",
      "tree": "229d080de7a6f76562b9476e01c78adf9d0b22b5",
      "parents": [
        "58cbe2476abce8b5e3508d23bd05c2e2e8c394da"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Fri Mar 18 09:34:53 2011 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Mar 19 19:19:36 2011 +0100"
      },
      "message": "sched: Fix yield_to kernel-doc\n\nAdd missing function parameters for yield_to():\n\n Warning(kernel/sched.c:5470): No description found for parameter \u0027p\u0027\n Warning(kernel/sched.c:5470): No description found for parameter \u0027preempt\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c20110318093453.8f7489a4.randy.dunlap@oracle.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "58cbe2476abce8b5e3508d23bd05c2e2e8c394da",
      "tree": "1b6cb3a16dd220a9bcd3c9a8e65670a6002bfb42",
      "parents": [
        "d10902812c9cd5583130a4ebb9ad19c60b68149d"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue Mar 15 16:12:30 2011 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 16 14:00:23 2011 +0100"
      },
      "message": "sched, kernel-doc: Fix runqueue_is_locked() description\n\nFix kernel-doc warning for runqueue_is_locked():\n\n  Warning(kernel/sched.c:664): missing initial short description\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLKML-Reference: \u003c20110315161230.c4e1e8e3.rdunlap@xenotime.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d10902812c9cd5583130a4ebb9ad19c60b68149d",
      "tree": "b1b28587970e8cebf74ba4d61edf49537f619ab7",
      "parents": [
        "181f977d134a9f8e3f8839f42af655b045fc059e",
        "25874a299ef8037df03ce4ada570bc4e42f9748f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 20:01:36 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 20:01:36 2011 -0700"
      },
      "message": "Merge branch \u0027x86-platform-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-platform-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (27 commits)\n  x86: Clean up apic.c and apic.h\n  x86: Remove superflous goal definition of tsc_sync\n  x86: dt: Correct local apic documentation in device tree bindings\n  x86: dt: Cleanup local apic setup\n  x86: dt: Fix OLPC\u003dy/INTEL_CE\u003dn build\n  rtc: cmos: Add OF bindings\n  x86: ce4100: Use OF to setup devices\n  x86: ioapic: Add OF bindings for IO_APIC\n  x86: dtb: Add generic bus probe\n  x86: dtb: Add support for PCI devices backed by dtb nodes\n  x86: dtb: Add device tree support for HPET\n  x86: dtb: Add early parsing of IO_APIC\n  x86: dtb: Add irq domain abstraction\n  x86: dtb: Add a device tree for CE4100\n  x86: Add device tree support\n  x86: e820: Remove conditional early mapping in parse_e820_ext\n  x86: OLPC: Make OLPC\u003dn build again\n  x86: OLPC: Remove extra OLPC_OPENFIRMWARE_DT indirection\n  x86: OLPC: Cleanup config maze completely\n  x86: OLPC: Hide OLPC_OPENFIRMWARE config switch\n  ...\n\nFix up conflicts in arch/x86/platform/ce4100/ce4100.c\n"
    },
    {
      "commit": "181f977d134a9f8e3f8839f42af655b045fc059e",
      "tree": "5d9bb67c62ef1476c18ed350106a84c02f0dd8e4",
      "parents": [
        "d5d42399bd7b66bd6b55363b311810504110c967",
        "25542c646afbf14c43fa7d2b443055cadb73b07a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 19:49:10 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 19:49:10 2011 -0700"
      },
      "message": "Merge branch \u0027x86-mm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-mm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (93 commits)\n  x86, tlb, UV: Do small micro-optimization for native_flush_tlb_others()\n  x86-64, NUMA: Don\u0027t call numa_set_distanc() for all possible node combinations during emulation\n  x86-64, NUMA: Don\u0027t assume phys node 0 is always online in numa_emulation()\n  x86-64, NUMA: Clean up initmem_init()\n  x86-64, NUMA: Fix numa_emulation code with node0 without RAM\n  x86-64, NUMA: Revert NUMA affine page table allocation\n  x86: Work around old gas bug\n  x86-64, NUMA: Better explain numa_distance handling\n  x86-64, NUMA: Fix distance table handling\n  mm: Move early_node_map[] reverse scan helpers under HAVE_MEMBLOCK\n  x86-64, NUMA: Fix size of numa_distance array\n  x86: Rename e820_table_* to pgt_buf_*\n  bootmem: Move __alloc_memory_core_early() to nobootmem.c\n  bootmem: Move contig_page_data definition to bootmem.c/nobootmem.c\n  bootmem: Separate out CONFIG_NO_BOOTMEM code into nobootmem.c\n  x86-64, NUMA: Seperate out numa_alloc_distance() from numa_set_distance()\n  x86-64, NUMA: Add proper function comments to global functions\n  x86-64, NUMA: Move NUMA emulation into numa_emulation.c\n  x86-64, NUMA: Prepare numa_emulation() for moving NUMA emulation into a separate file\n  x86-64, NUMA: Do not scan two times for setup_node_bootmem()\n  ...\n\nFix up conflicts in arch/x86/kernel/smpboot.c\n"
    },
    {
      "commit": "d5d42399bd7b66bd6b55363b311810504110c967",
      "tree": "bd676b8b8f2c85cecbe3777d7bb8c9a95e4cde98",
      "parents": [
        "209b6c8fa72e8b726a0cd273a56aded55be22bfa",
        "9599ec0471deae24044241e2173090d2cbc0e899"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 19:41:42 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 19:41:42 2011 -0700"
      },
      "message": "Merge branch \u0027x86-mem-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-mem-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86-64, mem: Convert memmove() to assembly file and fix return value bug\n"
    },
    {
      "commit": "209b6c8fa72e8b726a0cd273a56aded55be22bfa",
      "tree": "64bb034958516bd6750dfe11efb4168ba8941e29",
      "parents": [
        "0310e437182568a9e0aa862f2a9d13908069df73",
        "1396fa9cd2e34669253b7ca8c75f12103481f71c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 19:40:53 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 19:40:53 2011 -0700"
      },
      "message": "Merge branch \u0027x86-microcode-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-microcode-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, microcode, AMD: Fix signedness bug in generic_load_microcode()\n  x86, microcode, AMD: Extend ucode size verification\n  x86, microcode, AMD: Cleanup dmesg output\n  x86, microcode, AMD: Remove unneeded memset call\n  x86, microcode, AMD: Simplify get_next_ucode\n  x86, microcode, AMD: Simplify install_equiv_cpu_table\n  x86, microcode, AMD: Release firmware on error\n  x86, microcode: Correct sysdev_add error path\n"
    },
    {
      "commit": "0310e437182568a9e0aa862f2a9d13908069df73",
      "tree": "f89c072cbf26bc886ff3d1202545e0361ab7cf59",
      "parents": [
        "5f6fb45466b2273ffb91c9cf209f164f666c33b1",
        "53c39ce56d203d80ba8217a16bb024b25185fb7e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 19:40:35 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 19:40:35 2011 -0700"
      },
      "message": "Merge branch \u0027um-irq-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027um-irq-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  um: Select GENERIC_HARDIRQS_NO_DEPRECATED\n  um: Use proper accessors in show_interrupts()\n  um: Convert irq_chips to new functions\n  um: Remove stale irq_chip.end\n"
    },
    {
      "commit": "5f6fb45466b2273ffb91c9cf209f164f666c33b1",
      "tree": "2b19f24b678ae379be1b19338c3095c1f76ed41d",
      "parents": [
        "3904afb41d4316f7a2968c615d689e19149a4f84",
        "c0185808eb85139f45dbfd0de66963c498d0c4db"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 19:23:40 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 19:23:40 2011 -0700"
      },
      "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: (116 commits)\n  x86: Enable forced interrupt threading support\n  x86: Mark low level interrupts IRQF_NO_THREAD\n  x86: Use generic show_interrupts\n  x86: ioapic: Avoid redundant lookup of irq_cfg\n  x86: ioapic: Use new move_irq functions\n  x86: Use the proper accessors in fixup_irqs()\n  x86: ioapic: Use irq_data-\u003estate\n  x86: ioapic: Simplify irq chip and handler setup\n  x86: Cleanup the genirq name space\n  genirq: Add chip flag to force mask on suspend\n  genirq: Add desc-\u003eirq_data accessor\n  genirq: Add comments to Kconfig switches\n  genirq: Fixup fasteoi handler for oneshot mode\n  genirq: Provide forced interrupt threading\n  sched: Switch wait_task_inactive to schedule_hrtimeout()\n  genirq: Add IRQF_NO_THREAD\n  genirq: Allow shared oneshot interrupts\n  genirq: Prepare the handling of shared oneshot interrupts\n  genirq: Make warning in handle_percpu_event useful\n  x86: ioapic: Move trigger defines to io_apic.h\n  ...\n\nFix up trivial(?) conflicts in arch/x86/pci/xen.c due to genirq name\nspace changes clashing with the Xen cleanups.  The set_irq_msi() had\nmoved to xen_bind_pirq_msi_to_irq().\n"
    },
    {
      "commit": "3904afb41d4316f7a2968c615d689e19149a4f84",
      "tree": "0b10c467879019295d100908218e40265957fe88",
      "parents": [
        "502f4d4f74219749a9758b9bbc27fb665b2e83ab",
        "fd8fa4d3ddc4cc04ec8097e632b995d535c52beb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 19:16:00 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 19:16:00 2011 -0700"
      },
      "message": "Merge branch \u0027x86-debug-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-debug-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86: Combine printk()s in show_regs_common()\n  x86: Don\u0027t call dump_stack() from arch_trigger_all_cpu_backtrace_handler()\n"
    },
    {
      "commit": "502f4d4f74219749a9758b9bbc27fb665b2e83ab",
      "tree": "78076e71ea6e455354913005f04b53cff124553f",
      "parents": [
        "da849abeb86ddaa093b0935fde595e8e4dd21ffc",
        "e5fea868e6c04343e501176a373d568c1c0094aa"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 19:00:53 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 19:00:53 2011 -0700"
      },
      "message": "Merge branch \u0027x86-cpu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-cpu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86: Fix and clean up generic_processor_info()\n  x86: Don\u0027t copy per_cpu cpuinfo for BSP two times\n  x86: Move llc_shared_map out of cpu_info\n"
    },
    {
      "commit": "da849abeb86ddaa093b0935fde595e8e4dd21ffc",
      "tree": "f985f6b1858f3abce274f267bfde051810215ed0",
      "parents": [
        "21a32816b2e13eafb6d8a4589a84c6e629adc392",
        "371c394af27ab7d1e58a66bc19d9f1f3ac1f67b4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 18:59:56 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 18:59:56 2011 -0700"
      },
      "message": "Merge branch \u0027x86-asm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-asm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, binutils, xen: Fix another wrong size directive\n  x86: Remove dead config option X86_CPU\n  x86: Really print supported CPUs if PROCESSOR_SELECT\u003dy\n  x86: Fix a bogus unwind annotation in lib/semaphore_32.S\n  um, x86-64: Fix UML build after adding CFI annotations to lib/rwsem_64.S\n  x86: Remove unused bits from lib/thunk_*.S\n  x86: Use {push,pop}_cfi in more places\n  x86-64: Add CFI annotations to lib/rwsem_64.S\n  x86, asm: Cleanup unnecssary macros in asm-offsets.c\n  x86, system.h: Drop unused __SAVE/__RESTORE macros\n  x86: Use bitmap library functions\n  x86: Partly unify asm-offsets_{32,64}.c\n  x86: Reduce back the alignment of the per-CPU data section\n"
    },
    {
      "commit": "21a32816b2e13eafb6d8a4589a84c6e629adc392",
      "tree": "8cfd2b8ffd355ef0954d6fef36aaffbc6fd53215",
      "parents": [
        "420c1c572d4ceaa2f37b6311b7017ac6cf049fe2",
        "ea04683f592e6200b52e191b7e2842aedcfd88b6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 18:59:21 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 18:59:21 2011 -0700"
      },
      "message": "Merge branch \u0027timers-rtc-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-rtc-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  RTC: Fix up rtc.txt documentation to reflect changes to generic rtc layer\n  RTC: sa1100: Update the sa1100 RTC driver.\n  RTC: Fix the cross interrupt issue on rtc-test.\n  RTC: Remove UIE and PIE information from the sa1100 driver proc.\n  RTC: Include information about UIE and PIE in RTC driver proc.\n  RTC: Clean out UIE icotl implementations\n  RTC: Cleanup rtc_class_ops-\u003eupdate_irq_enable()\n  RTC: Cleanup rtc_class_ops-\u003eirq_set_freq()\n  RTC: Cleanup rtc_class_ops-\u003eirq_set_state\n  RTC: Initialize kernel state from RTC\n"
    },
    {
      "commit": "420c1c572d4ceaa2f37b6311b7017ac6cf049fe2",
      "tree": "df04e6b4b756b7a46d9887462d54a3ad0e1f91d5",
      "parents": [
        "9620639b7ea3843983f4ced8b4c81eb4d8974838",
        "6e6823d17b157f185be09f4c70181299f9273f0b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 18:53:35 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 18:53:35 2011 -0700"
      },
      "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: (62 commits)\n  posix-clocks: Check write permissions in posix syscalls\n  hrtimer: Remove empty hrtimer_init_hres_timer()\n  hrtimer: Update hrtimer-\u003estate documentation\n  hrtimer: Update base[CLOCK_BOOTTIME].offset correctly\n  timers: Export CLOCK_BOOTTIME via the posix timers interface\n  timers: Add CLOCK_BOOTTIME hrtimer base\n  time: Extend get_xtime_and_monotonic_offset() to also return sleep\n  time: Introduce get_monotonic_boottime and ktime_get_boottime\n  hrtimers: extend hrtimer base code to handle more then 2 clockids\n  ntp: Remove redundant and incorrect parameter check\n  mn10300: Switch do_timer() to xtimer_update()\n  posix clocks: Introduce dynamic clocks\n  posix-timers: Cleanup namespace\n  posix-timers: Add support for fd based clocks\n  x86: Add clock_adjtime for x86\n  posix-timers: Introduce a syscall for clock tuning.\n  time: Splitout compat timex accessors\n  ntp: Add ADJ_SETOFFSET mode bit\n  time: Introduce timekeeping_inject_offset\n  posix-timer: Update comment\n  ...\n\nFix up new system-call-related conflicts in\n\tarch/x86/ia32/ia32entry.S\n\tarch/x86/include/asm/unistd_32.h\n\tarch/x86/include/asm/unistd_64.h\n\tarch/x86/kernel/syscall_table_32.S\n(name_to_handle_at()/open_by_handle_at() vs clock_adjtime()), and some\ndue to movement of get_jiffies_64() in:\n\tkernel/time.c\n"
    },
    {
      "commit": "9620639b7ea3843983f4ced8b4c81eb4d8974838",
      "tree": "54266fac3bcf89e61ae06c7d36ca708df6e0ea33",
      "parents": [
        "a926021cb1f8a99a275eaf6eb546102e9469dc59",
        "6d1cafd8b56ea726c10a5a104de57cc3ed8fa953"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 18:37:30 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 18:37:30 2011 -0700"
      },
      "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: (26 commits)\n  sched: Resched proper CPU on yield_to()\n  sched: Allow users with sufficient RLIMIT_NICE to change from SCHED_IDLE policy\n  sched: Allow SCHED_BATCH to preempt SCHED_IDLE tasks\n  sched: Clean up the IRQ_TIME_ACCOUNTING code\n  sched: Add #ifdef around irq time accounting functions\n  sched, autogroup: Stop claiming ownership of the root task group\n  sched, autogroup: Stop going ahead if autogroup is disabled\n  sched, autogroup, sysctl: Use proc_dointvec_minmax() instead\n  sched: Fix the group_imb logic\n  sched: Clean up some f_b_g() comments\n  sched: Clean up remnants of sd_idle\n  sched: Wholesale removal of sd_idle logic\n  sched: Add yield_to(task, preempt) functionality\n  sched: Use a buddy to implement yield_task_fair()\n  sched: Limit the scope of clear_buddies\n  sched: Check the right -\u003enr_running in yield_task_fair()\n  sched: Avoid expensive initial update_cfs_load(), on UP too\n  sched: Fix switch_from_fair()\n  sched: Simplify the idle scheduling class\n  softirqs: Account ksoftirqd time as cpustat softirq\n  ...\n"
    },
    {
      "commit": "a926021cb1f8a99a275eaf6eb546102e9469dc59",
      "tree": "c6d0300cd4b1a1fd658708476db4577b68b4de31",
      "parents": [
        "0586bed3e8563c2eb89bc7256e30ce633ae06cfb",
        "5e814dd597c42daeb8d2a276e64a6ec986ad0e2a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 18:31:30 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 18:31:30 2011 -0700"
      },
      "message": "Merge branch \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (184 commits)\n  perf probe: Clean up probe_point_lazy_walker() return value\n  tracing: Fix irqoff selftest expanding max buffer\n  tracing: Align 4 byte ints together in struct tracer\n  tracing: Export trace_set_clr_event()\n  tracing: Explain about unstable clock on resume with ring buffer warning\n  ftrace/graph: Trace function entry before updating index\n  ftrace: Add .ref.text as one of the safe areas to trace\n  tracing: Adjust conditional expression latency formatting.\n  tracing: Fix event alignment: skb:kfree_skb\n  tracing: Fix event alignment: mce:mce_record\n  tracing: Fix event alignment: kvm:kvm_hv_hypercall\n  tracing: Fix event alignment: module:module_request\n  tracing: Fix event alignment: ftrace:context_switch and ftrace:wakeup\n  tracing: Remove lock_depth from event entry\n  perf header: Stop using \u0027self\u0027\n  perf session: Use evlist/evsel for managing perf.data attributes\n  perf top: Don\u0027t let events to eat up whole header line\n  perf top: Fix events overflow in top command\n  ring-buffer: Remove unused #include \u003clinux/trace_irq.h\u003e\n  tracing: Add an \u0027overwrite\u0027 trace_option.\n  ...\n"
    },
    {
      "commit": "0586bed3e8563c2eb89bc7256e30ce633ae06cfb",
      "tree": "7a59610f45f7222f25b3212c53fa28636bb4427c",
      "parents": [
        "b80cd62b7d4406bbe8c573fe4381dcc71a2850fd",
        "dbebbfbb1605f0179e7c0d900d941cc9c45de569"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 18:28:30 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 18:28:30 2011 -0700"
      },
      "message": "Merge branch \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  rtmutex: tester: Remove the remaining BKL leftovers\n  lockdep/timers: Explain in detail the locking problems del_timer_sync() may cause\n  rtmutex: Simplify PI algorithm and make highest prio task get lock\n  rwsem: Remove redundant asmregparm annotation\n  rwsem: Move duplicate function prototypes to linux/rwsem.h\n  rwsem: Unify the duplicate rwsem_is_locked() inlines\n  rwsem: Move duplicate init macros and functions to linux/rwsem.h\n  rwsem: Move duplicate struct rwsem declaration to linux/rwsem.h\n  x86: Cleanup rwsem_count_t typedef\n  rwsem: Cleanup includes\n  locking: Remove deprecated lock initializers\n  cred: Replace deprecated spinlock initialization\n  kthread: Replace deprecated spinlock initialization\n  xtensa: Replace deprecated spinlock initialization\n  um: Replace deprecated spinlock initialization\n  sparc: Replace deprecated spinlock initialization\n  mips: Replace deprecated spinlock initialization\n  cris: Replace deprecated spinlock initialization\n  alpha: Replace deprecated spinlock initialization\n  rtmutex-tester: Remove BKL tests\n"
    },
    {
      "commit": "b80cd62b7d4406bbe8c573fe4381dcc71a2850fd",
      "tree": "b3fbd9dcaac45feefc554b5a46888b2cbec0c51d",
      "parents": [
        "c345f60a5f58a65004f22fb0d257d65ec1528310",
        "07d5ecae2940ddd77746e2fb597dcf57d3c2e277"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 18:23:52 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 18:23:52 2011 -0700"
      },
      "message": "Merge branch \u0027core-futexes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-futexes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  arm: Remove bogus comment in futex_atomic_cmpxchg_inatomic()\n  futex: Deobfuscate handle_futex_death()\n  plist: Add priority list test\n  plist: Shrink struct plist_head\n  futex,plist: Remove debug lock assignment from plist_node\n  futex,plist: Pass the real head of the priority list to plist_del()\n  futex: Sanitize futex ops argument types\n  futex: Sanitize cmpxchg_futex_value_locked API\n  futex: Remove redundant pagefault_disable in futex_atomic_cmpxchg_inatomic()\n  futex: Avoid redudant evaluation of task_pid_vnr()\n  futex: Update futex_wait_setup comments about locking\n"
    },
    {
      "commit": "c345f60a5f58a65004f22fb0d257d65ec1528310",
      "tree": "d82d4a9de6034534a4408495c63f992ed9b524b5",
      "parents": [
        "422e6c4bc4b48c15b3cb57a1ca71431abfc57e54",
        "997772884036e6e121de39322179989154437d9f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 18:23:25 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 18:23:25 2011 -0700"
      },
      "message": "Merge branch \u0027core-debugobjects-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-debugobjects-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  debugobjects: Add hint for better object identification\n"
    },
    {
      "commit": "422e6c4bc4b48c15b3cb57a1ca71431abfc57e54",
      "tree": "81ceb21f84a79e796ee33b5d17e17406f096abcb",
      "parents": [
        "c83ce989cb5ff86575821992ea82c4df5c388ebc",
        "574197e0de46a8a4db5c54ef7b65e43ffa8873a7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 15:48:13 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 15:48:13 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (57 commits)\n  tidy the trailing symlinks traversal up\n  Turn resolution of trailing symlinks iterative everywhere\n  simplify link_path_walk() tail\n  Make trailing symlink resolution in path_lookupat() iterative\n  update nd-\u003einode in __do_follow_link() instead of after do_follow_link()\n  pull handling of one pathname component into a helper\n  fs: allow AT_EMPTY_PATH in linkat(), limit that to CAP_DAC_READ_SEARCH\n  Allow passing O_PATH descriptors via SCM_RIGHTS datagrams\n  readlinkat(), fchownat() and fstatat() with empty relative pathnames\n  Allow O_PATH for symlinks\n  New kind of open files - \"location only\".\n  ext4: Copy fs UUID to superblock\n  ext3: Copy fs UUID to superblock.\n  vfs: Export file system uuid via /proc/\u003cpid\u003e/mountinfo\n  unistd.h: Add new syscalls numbers to asm-generic\n  x86: Add new syscalls for x86_64\n  x86: Add new syscalls for x86_32\n  fs: Remove i_nlink check from file system link callback\n  fs: Don\u0027t allow to create hardlink for deleted file\n  vfs: Add open by file handle support\n  ...\n"
    },
    {
      "commit": "c83ce989cb5ff86575821992ea82c4df5c388ebc",
      "tree": "29741017daffb074fbe09c3aec6d937f2f0c140d",
      "parents": [
        "c826cb7dfce80512c26c984350077a25046bd215"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Mar 15 13:36:43 2011 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 15:46:11 2011 -0700"
      },
      "message": "VFS: Fix the nfs sillyrename regression in kernel 2.6.38\n\nThe new vfs locking scheme introduced in 2.6.38 breaks NFS sillyrename\nbecause the latter relies on being able to determine the parent\ndirectory of the dentry in the -\u003eiput() callback in order to send the\nappropriate unlink rpc call.\n\nLooking at the code that cares about races with dput(), there doesn\u0027t\nseem to be anything that specifically uses d_parent as a test for\nwhether or not there is a race:\n  - __d_lookup_rcu(), __d_lookup() all test for d_hashed() after d_parent\n  - shrink_dcache_for_umount() is safe since nothing else can rearrange\n    the dentries in that super block.\n  - have_submount(), select_parent() and d_genocide() can test for a\n    deletion if we set the DCACHE_DISCONNECTED flag when the dentry\n    is removed from the parent\u0027s d_subdirs list.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: stable@kernel.org (2.6.38, needs commit c826cb7dfce8 \"dcache.c:\n\tcreate helper function for duplicated functionality\" )\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c826cb7dfce80512c26c984350077a25046bd215",
      "tree": "6230dc7babebfa008d67bd309de7562a0292ab8b",
      "parents": [
        "76ca07832842100b14a31ad8996dab7b0c28aa42"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 15:29:21 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 15:29:21 2011 -0700"
      },
      "message": "dcache.c: create helper function for duplicated functionality\n\nThis creates a helper function for he \"try to ascend into the parent\ndirectory\" case, which was written out in triplicate before.  With all\nthe locking and subtle sequence number stuff, we really don\u0027t want to\nduplicate that kind of code.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "574197e0de46a8a4db5c54ef7b65e43ffa8873a7",
      "tree": "c7669dd50705785f4632ff9b054bcd2e4614ea46",
      "parents": [
        "b356379a020bb7197603118bb1cbc903963aa198"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Mar 14 22:20:34 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 15 17:16:25 2011 -0400"
      },
      "message": "tidy the trailing symlinks traversal up\n\n* pull the handling of current-\u003etotal_link_count into\n__do_follow_link()\n* put the common \"do -\u003eput_link() if needed and path_put() the link\"\n  stuff into a helper (put_link(nd, link, cookie))\n* rename __do_follow_link() to follow_link(), while we are at it\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b356379a020bb7197603118bb1cbc903963aa198",
      "tree": "834722d850b2f6a82a07464680244847ed477755",
      "parents": [
        "ce0525449da56444948c368f52e10f3db0465338"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Mar 14 21:54:55 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 15 17:16:25 2011 -0400"
      },
      "message": "Turn resolution of trailing symlinks iterative everywhere\n\nThe last remaining place (resolution of nested symlink) converted\nto the loop of the same kind we have in path_lookupat() and\npath_openat().\n\nNote that we still *do* have a recursion in pathname resolution;\ncan\u0027t avoid it, really.  However, it\u0027s strictly for nested symlinks\nnow - i.e. ones in the middle of a pathname.\n\nlink_path_walk() has lost the tail now - it always walks everything\nexcept the last component.\n\ndo_follow_link() renamed to nested_symlink() and moved down.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ce0525449da56444948c368f52e10f3db0465338",
      "tree": "df50f16b0af733738b39c9430145d94e35a2abdb",
      "parents": [
        "bd92d7fed877ed1e6997e4f3f13dbcd872947653"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Mar 14 21:28:04 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 15 17:16:25 2011 -0400"
      },
      "message": "simplify link_path_walk() tail\n\nNow that link_path_walk() is called without LOOKUP_PARENT\nonly from do_follow_link(), we can simplify the checks in\nlast component handling.  First of all, checking if we\u0027d\narrived to a directory is not needed - the caller will check\nit anyway.  And LOOKUP_FOLLOW is guaranteed to be there,\nsince we only get to that place with nd-\u003edepth \u003e 0.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "bd92d7fed877ed1e6997e4f3f13dbcd872947653",
      "tree": "184223c18695fd1b543850dc186e89faf71bb461",
      "parents": [
        "b21041d0f72899ed815bd2cbf7275339c74737b6"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Mar 14 19:54:59 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 15 17:16:25 2011 -0400"
      },
      "message": "Make trailing symlink resolution in path_lookupat() iterative\n\nNow the only caller of link_path_walk() that does *not* pass\nLOOKUP_PARENT is do_follow_link()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b21041d0f72899ed815bd2cbf7275339c74737b6",
      "tree": "e9dddabedc599175926ea29603ca366cdc50dbaa",
      "parents": [
        "ce57dfc1791221ef58b6d6b8f5437fccefc4e187"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Mar 14 20:01:51 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 15 17:16:25 2011 -0400"
      },
      "message": "update nd-\u003einode in __do_follow_link() instead of after do_follow_link()\n\n... and note that we only need to do it for LAST_BIND symlinks\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ce57dfc1791221ef58b6d6b8f5437fccefc4e187",
      "tree": "f4745174c126231bbd2c4a652d37f086ad035e3c",
      "parents": [
        "11a7b371b64ef39fc5fb1b6f2218eef7c4d035e3"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Mar 13 19:58:58 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 15 17:16:20 2011 -0400"
      },
      "message": "pull handling of one pathname component into a helper\n\nnew helper: walk_component().  Handles everything except symlinks;\nreturns negative on error, 0 on success and 1 on symlinks we decided\nto follow.  Drops out of RCU mode on such symlinks.\n\nlink_path_walk() and do_last() switched to using that.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "11a7b371b64ef39fc5fb1b6f2218eef7c4d035e3",
      "tree": "7d2059c9570e24c7d742eedfeedf19743d05a744",
      "parents": [
        "326be7b484843988afe57566b627fb7a70beac56"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Sat Jan 29 18:43:42 2011 +0530"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 15 17:16:05 2011 -0400"
      },
      "message": "fs: allow AT_EMPTY_PATH in linkat(), limit that to CAP_DAC_READ_SEARCH\n\nWe don\u0027t want to allow creation of private hardlinks by different application\nusing the fd passed to them via SCM_RIGHTS. So limit the null relative name\nusage in linkat syscall to CAP_DAC_READ_SEARCH\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "5e814dd597c42daeb8d2a276e64a6ec986ad0e2a",
      "tree": "e06a7c18e840745869ffa72d568d4c125c7e3fb4",
      "parents": [
        "137ee20ddd10fdc20600c389fe63edab0c39cb1a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 15 20:51:09 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 15 20:51:09 2011 +0100"
      },
      "message": "perf probe: Clean up probe_point_lazy_walker() return value\n\nNewer compilers (gcc 4.6) complains about:\n\n        return ret \u003c 0 ?: 0;\n\nFor the following reason:\n\n  util/probe-finder.c: In function ‘probe_point_lazy_walker’:\n  util/probe-finder.c:1331:18: error: the omitted middle operand in ?: will always be ‘true’, suggest explicit middle operand [-Werror\u003dparentheses]\n\nAnd indeed the return value is a somewhat obscure (but correct) value\nof \u0027true\u0027, so return \u0027ret\u0027 instead - this is cleaner and unconfuses\nGCC as well.\n\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "76ca07832842100b14a31ad8996dab7b0c28aa42",
      "tree": "496df81083fda9be38f8ff88cdc3ef59c2d72a8d",
      "parents": [
        "27d2a8b97ebc4467e47722415b81ebe72d5f654f",
        "b056b6a0144de90707cd22cf7b4f60bf69c86d59"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 10:59:09 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 10:59:09 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://xenbits.xen.org/people/sstabellini/linux-pvhvm\n\n* \u0027for-linus\u0027 of git://xenbits.xen.org/people/sstabellini/linux-pvhvm:\n  xen: suspend: remove xen_hvm_suspend\n  xen: suspend: pull pre/post suspend hooks out into suspend_info\n  xen: suspend: move arch specific pre/post suspend hooks into generic hooks\n  xen: suspend: refactor non-arch specific pre/post suspend hooks\n  xen: suspend: add \"arch\" to pre/post suspend hooks\n  xen: suspend: pass extra hypercall argument via suspend_info struct\n  xen: suspend: refactor cancellation flag into a structure\n  xen: suspend: use HYPERVISOR_suspend for PVHVM case instead of open coding\n  xen: switch to new schedop hypercall by default.\n  xen: use new schedop interface for suspend\n  xen: do not respond to unknown xenstore control requests\n  xen: fix compile issue if XEN is enabled but XEN_PVHVM is disabled\n  xen: PV on HVM: support PV spinlocks and IPIs\n  xen: make the ballon driver work for hvm domains\n  xen-blkfront: handle Xen major numbers other than XENVBD\n  xen: do not use xen_info on HVM, set pv_info name to \"Xen HVM\"\n  xen: no need to delay xen_setup_shutdown_event for hvm guests anymore\n"
    },
    {
      "commit": "27d2a8b97ebc4467e47722415b81ebe72d5f654f",
      "tree": "043cbe45ba6ecc6a0bc714aee4e03e3cec097645",
      "parents": [
        "010b8f4e264b0b6f596186574956dde2fa02df1c",
        "44e69767cb7c3bc46e5370c39532c205d4347d80",
        "51de69523ffe1c17994dc2f260369f29dfdce71c",
        "44b46c3ef805793ab3a7730dc71c72d0f258ea8e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 10:49:16 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 10:49:16 2011 -0700"
      },
      "message": "Merge branches \u0027stable/ia64\u0027, \u0027stable/blkfront-cleanup\u0027 and \u0027stable/cleanup\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen\n\n* \u0027stable/ia64\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:\n  xen: ia64 build broken due to \"xen: switch to new schedop hypercall by default.\"\n\n* \u0027stable/blkfront-cleanup\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:\n  xen: Union the blkif_request request specific fields\n\n* \u0027stable/cleanup\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:\n  xen: annotate functions which only call into __init at start of day\n  xen p2m: annotate variable which appears unused\n  xen: events: mark cpu_evtchn_mask_p as __refdata\n"
    },
    {
      "commit": "010b8f4e264b0b6f596186574956dde2fa02df1c",
      "tree": "277d599cc0147be3a3d5bfdf676510c0add154c0",
      "parents": [
        "397fae081869784d07cd4edde0ddf436ca2011e0",
        "71eef7d1e3d9df760897fdd2cad6949a8bcf1620"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 10:47:56 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 10:47:56 2011 -0700"
      },
      "message": "Merge branch \u0027stable/irq.cleanup\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen\n\n* \u0027stable/irq.cleanup\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:\n  xen: events: remove dom0 specific xen_create_msi_irq\n  xen: events: use xen_bind_pirq_msi_to_irq from xen_create_msi_irq\n  xen: events: push set_irq_msi down into xen_create_msi_irq\n  xen: events: update pirq_to_irq in xen_create_msi_irq\n  xen: events: refactor xen_create_msi_irq slightly\n  xen: events: separate MSI PIRQ allocation from PIRQ binding to IRQ\n  xen: events: assume PHYSDEVOP_get_free_pirq exists\n  xen: pci: collapse apic_register_gsi_xen_hvm and xen_hvm_register_pirq\n  xen: events: return irq from xen_allocate_pirq_msi\n  xen: events: drop XEN_ALLOC_IRQ flag to xen_allocate_pirq_msi\n  xen: events: do not leak IRQ from xen_allocate_pirq_msi when no pirq available.\n  xen: pci: only define xen_initdom_setup_msi_irqs if CONFIG_XEN_DOM0\n"
    },
    {
      "commit": "397fae081869784d07cd4edde0ddf436ca2011e0",
      "tree": "e6869f145a83e75bff957a3e5a2f72d8b847b75c",
      "parents": [
        "c7146dd0090b9c98ae8525900abf1c38fc7e4e0d",
        "1aa0b51a033d4a1ec6d29d06487e053398afa21b",
        "3d74a539ae07a8f3c061332e426fc07b2310cf05"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 10:47:16 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 10:47:16 2011 -0700"
      },
      "message": "Merge branches \u0027stable/irq.rework\u0027 and \u0027stable/pcifront-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen\n\n* \u0027stable/irq.rework\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:\n  xen/irq: Cleanup up the pirq_to_irq for DomU PV PCI passthrough guests as well.\n  xen: Use IRQF_FORCE_RESUME\n  xen/timer: Missing IRQF_NO_SUSPEND in timer code broke suspend.\n  xen: Fix compile error introduced by \"switch to new irq_chip functions\"\n  xen: Switch to new irq_chip functions\n  xen: Remove stale irq_chip.end\n  xen: events: do not free legacy IRQs\n  xen: events: allocate GSIs and dynamic IRQs from separate IRQ ranges.\n  xen: events: add xen_allocate_irq_{dynamic, gsi} and xen_free_irq\n  xen:events: move find_unbound_irq inside CONFIG_PCI_MSI\n  xen: handled remapped IRQs when enabling a pcifront PCI device.\n  genirq: Add IRQF_FORCE_RESUME\n\n* \u0027stable/pcifront-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:\n  pci/xen: When free-ing MSI-X/MSI irq-\u003edesc also use generic code.\n  pci/xen: Cleanup: convert int** to int[]\n  pci/xen: Use xen_allocate_pirq_msi instead of xen_allocate_pirq\n  xen-pcifront: Sanity check the MSI/MSI-X values\n  xen-pcifront: don\u0027t use flush_scheduled_work()\n"
    },
    {
      "commit": "c7146dd0090b9c98ae8525900abf1c38fc7e4e0d",
      "tree": "adf7835f39694f1c575a288e0f206825d73ed538",
      "parents": [
        "521cb40b0c44418a4fd36dc633f575813d59a43d",
        "706cc9d2a4cb9b03217e15b0bb3d117f4d5109ee",
        "86b32122fd54addc9af01f8b919c65d3f49090a3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 10:32:15 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 10:32:15 2011 -0700"
      },
      "message": "Merge branches \u0027stable/p2m-identity.v4.9.1\u0027 and \u0027stable/e820\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen\n\n* \u0027stable/p2m-identity.v4.9.1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:\n  xen/m2p: Check whether the MFN has IDENTITY_FRAME bit set..\n  xen/m2p: No need to catch exceptions when we know that there is no RAM\n  xen/debug: WARN_ON when identity PFN has no _PAGE_IOMAP flag set.\n  xen/debugfs: Add \u0027p2m\u0027 file for printing out the P2M layout.\n  xen/setup: Set identity mapping for non-RAM E820 and E820 gaps.\n  xen/mmu: WARN_ON when racing to swap middle leaf.\n  xen/mmu: Set _PAGE_IOMAP if PFN is an identity PFN.\n  xen/mmu: Add the notion of identity (1-1) mapping.\n  xen: Mark all initial reserved pages for the balloon as INVALID_P2M_ENTRY.\n\n* \u0027stable/e820\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:\n  xen/e820: Don\u0027t mark balloon memory as E820_UNUSABLE when running as guest and fix overflow.\n  xen/setup: Inhibit resource API from using System RAM E820 gaps as PCI mem gaps.\n"
    },
    {
      "commit": "25542c646afbf14c43fa7d2b443055cadb73b07a",
      "tree": "bb49d9918ecf8b2677282bcdbf222949399a5d06",
      "parents": [
        "8460b3e5bc64955aeefdd8357b3bf7b5ff79b3f2"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Tue Mar 15 09:57:37 2011 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 15 08:30:34 2011 +0100"
      },
      "message": "x86, tlb, UV: Do small micro-optimization for native_flush_tlb_others()\n\nnative_flush_tlb_others() is called from:\n\n flush_tlb_current_task()\n flush_tlb_mm()\n flush_tlb_page()\n\nAll these functions disable preemption explicitly, so we can use\nsmp_processor_id() instead of get_cpu() and put_cpu().\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nCc: Cliff Wickman \u003ccpw@sgi.com\u003e\nLKML-Reference: \u003c4D7EC791.4040003@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8460b3e5bc64955aeefdd8357b3bf7b5ff79b3f2",
      "tree": "7e5f6d050b72ab08a4497e82a4a103fefb086e80",
      "parents": [
        "56396e6823fe9b42fe9cf9403d6ed67756255f70",
        "521cb40b0c44418a4fd36dc633f575813d59a43d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 15 08:29:44 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 15 08:29:44 2011 +0100"
      },
      "message": "Merge commit \u0027v2.6.38\u0027 into x86/mm\n\nConflicts:\n\tarch/x86/mm/numa_64.c\n\nMerge reason: Resolve the conflict, update the branch to .38.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "326be7b484843988afe57566b627fb7a70beac56",
      "tree": "04a15bfdb681ad09444cf2f3d72ae0d38fb0432b",
      "parents": [
        "65cfc6722361570bfe255698d9cd4dccaf47570d"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Mar 13 17:08:22 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 15 02:21:45 2011 -0400"
      },
      "message": "Allow passing O_PATH descriptors via SCM_RIGHTS datagrams\n\nJust need to make sure that AF_UNIX garbage collector won\u0027t\nconfuse O_PATHed socket on filesystem for real AF_UNIX opened\nsocket.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "65cfc6722361570bfe255698d9cd4dccaf47570d",
      "tree": "d98ac0a392cf9abc1bbc3363448c8e072504c6a4",
      "parents": [
        "bcda76524cd1fa32af748536f27f674a13e56700"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Mar 13 15:56:26 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 15 02:21:45 2011 -0400"
      },
      "message": "readlinkat(), fchownat() and fstatat() with empty relative pathnames\n\nFor readlinkat() we simply allow empty pathname; it will fail unless\nwe have dfd equal to O_PATH-opened symlink, so we are outside of\nPOSIX scope here.  For fchownat() and fstatat() we allow AT_EMPTY_PATH;\nlet the caller explicitly ask for such behaviour.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "bcda76524cd1fa32af748536f27f674a13e56700",
      "tree": "37dbc7fb50b515f3dff820e14d92e768fb1cda31",
      "parents": [
        "1abf0c718f15a56a0a435588d1b104c7a37dc9bd"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Mar 13 16:42:14 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 15 02:21:45 2011 -0400"
      },
      "message": "Allow O_PATH for symlinks\n\nAt that point we can\u0027t do almost nothing with them.  They can be opened\nwith O_PATH, we can manipulate such descriptors with dup(), etc. and\nwe can see them in /proc/*/{fd,fdinfo}/*.\n\nWe can\u0027t (and won\u0027t be able to) follow /proc/*/fd/* symlinks for those;\nthere\u0027s simply not enough information for pathname resolution to go on\nfrom such point - to resolve a symlink we need to know which directory\ndoes it live in.\n\nWe will be able to do useful things with them after the next commit, though -\nreadlinkat() and fchownat() will be possible to use with dfd being an\nO_PATH-opened symlink and empty relative pathname.  Combined with\nopen_by_handle() it\u0027ll give us a way to do realink-by-handle and\nlchown-by-handle without messing with more redundant syscalls.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1abf0c718f15a56a0a435588d1b104c7a37dc9bd",
      "tree": "91a6fae3218686b9a945569a7fa7fad120f64e94",
      "parents": [
        "f2fa2ffc2046fdc35f96366d1ec8675f4d578522"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Mar 13 03:51:11 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 15 02:21:45 2011 -0400"
      },
      "message": "New kind of open files - \"location only\".\n\nNew flag for open(2) - O_PATH.  Semantics:\n\t* pathname is resolved, but the file itself is _NOT_ opened\nas far as filesystem is concerned.\n\t* almost all operations on the resulting descriptors shall\nfail with -EBADF.  Exceptions are:\n\t1) operations on descriptors themselves (i.e.\n\t\tclose(), dup(), dup2(), dup3(), fcntl(fd, F_DUPFD),\n\t\tfcntl(fd, F_DUPFD_CLOEXEC, ...), fcntl(fd, F_GETFD),\n\t\tfcntl(fd, F_SETFD, ...))\n\t2) fcntl(fd, F_GETFL), for a common non-destructive way to\n\t\tcheck if descriptor is open\n\t3) \"dfd\" arguments of ...at(2) syscalls, i.e. the starting\n\t\tpoints of pathname resolution\n\t* closing such descriptor does *NOT* affect dnotify or\nposix locks.\n\t* permissions are checked as usual along the way to file;\nno permission checks are applied to the file itself.  Of course,\ngiving such thing to syscall will result in permission checks (at\nthe moment it means checking that starting point of ....at() is\na directory and caller has exec permissions on it).\n\nfget() and fget_light() return NULL on such descriptors; use of\nfget_raw() and fget_raw_light() is needed to get them.  That protects\nexisting code from dealing with those things.\n\nThere are two things still missing (they come in the next commits):\none is handling of symlinks (right now we refuse to open them that\nway; see the next commit for semantics related to those) and another\nis descriptor passing via SCM_RIGHTS datagrams.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "f2fa2ffc2046fdc35f96366d1ec8675f4d578522",
      "tree": "b1215682f5fbb99cf975cee3fb827909ee4a1c97",
      "parents": [
        "03cb5f03dcb26846fcad345d8c15aae91579a53d"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Sat Jan 29 18:43:40 2011 +0530"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 15 02:21:45 2011 -0400"
      },
      "message": "ext4: Copy fs UUID to superblock\n\nFile system UUID is made available to application\nvia  /proc/\u003cpid\u003e/mountinfo\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "03cb5f03dcb26846fcad345d8c15aae91579a53d",
      "tree": "cf95badfa17be432388dd75d975339954b7bcf50",
      "parents": [
        "93f1c20bc8cdb757be50566eff88d65c3b26881f"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Sat Jan 29 18:43:39 2011 +0530"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 15 02:21:45 2011 -0400"
      },
      "message": "ext3: Copy fs UUID to superblock.\n\nFile system UUID is made available to application\nvia  /proc/\u003cpid\u003e/mountinfo\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "93f1c20bc8cdb757be50566eff88d65c3b26881f",
      "tree": "15e812c8127ddd795b8112f76832f6411953be62",
      "parents": [
        "a51571ccb8be1b88aea502ebba8350519682c16d"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Sat Jan 29 18:43:38 2011 +0530"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 15 02:21:45 2011 -0400"
      },
      "message": "vfs: Export file system uuid via /proc/\u003cpid\u003e/mountinfo\n\nWe add a per superblock uuid field. File systems should\nupdate the uuid in the fill_super callback\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a51571ccb8be1b88aea502ebba8350519682c16d",
      "tree": "4c9625cb7838be6e26f793bf77ec97dd3407f651",
      "parents": [
        "6aae5f2b2085c5c90964bb78676ea8a6a336e037"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Sat Jan 29 18:43:38 2011 +0530"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 15 02:21:45 2011 -0400"
      },
      "message": "unistd.h: Add new syscalls numbers to asm-generic\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6aae5f2b2085c5c90964bb78676ea8a6a336e037",
      "tree": "b0195b302c89b0500fa24200b24ebad7b7a9e878",
      "parents": [
        "7dadb755b082c259f7dd4a95a3a6eb21646a28d5"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Sat Jan 29 18:43:37 2011 +0530"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 15 02:21:44 2011 -0400"
      },
      "message": "x86: Add new syscalls for x86_64\n\nThis patch add new syscalls to x86_64\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "7dadb755b082c259f7dd4a95a3a6eb21646a28d5",
      "tree": "3fcc8b2d7ae3dac371d6d6fe7648103c0928177e",
      "parents": [
        "f17b6042073e7000a90063f7edbca59a5bd1caa2"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Sat Jan 29 18:43:35 2011 +0530"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 15 02:21:44 2011 -0400"
      },
      "message": "x86: Add new syscalls for x86_32\n\nThis patch adds new syscalls to x86_32\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "f17b6042073e7000a90063f7edbca59a5bd1caa2",
      "tree": "e893485df882c770da602030c6c1098b11ea3d56",
      "parents": [
        "aae8a97d3ec30788790d1720b71d76fd8eb44b73"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Sat Jan 29 18:43:30 2011 +0530"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 15 02:21:44 2011 -0400"
      },
      "message": "fs: Remove i_nlink check from file system link callback\n\nNow that VFS check for inode-\u003ei_nlink \u003d\u003d 0 and returns proper\nerror, remove similar check from file system\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "aae8a97d3ec30788790d1720b71d76fd8eb44b73",
      "tree": "12dbe7afc10da3eee7ce5dfcf389b655634737e0",
      "parents": [
        "becfd1f37544798cbdfd788f32c827160fab98c1"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Sat Jan 29 18:43:27 2011 +0530"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 15 02:21:44 2011 -0400"
      },
      "message": "fs: Don\u0027t allow to create hardlink for deleted file\n\nAdd inode-\u003ei_nlink \u003d\u003d 0 check in VFS. Some of the file systems\ndo this internally. A followup patch will remove those instance.\nThis is needed to ensure that with link by handle we don\u0027t allow\nto create hardlink of an unlinked file. The check also prevent a race\nbetween unlink and link\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "becfd1f37544798cbdfd788f32c827160fab98c1",
      "tree": "80353bdc7e59c661e841d2d0029bb308c0ed4da0",
      "parents": [
        "990d6c2d7aee921e3bce22b2d6a750fd552262be"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Sat Jan 29 18:43:26 2011 +0530"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 15 02:21:44 2011 -0400"
      },
      "message": "vfs: Add open by file handle support\n\n[AV: duplicate of open() guts removed; file_open_root() used instead]\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "990d6c2d7aee921e3bce22b2d6a750fd552262be",
      "tree": "af273c4bfbfd0342d39d05d5a017382eb32a7538",
      "parents": [
        "f52e0c11305aa09ed56cad97ffc8f0cdc3d78b5d"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Sat Jan 29 18:43:26 2011 +0530"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 15 02:21:37 2011 -0400"
      },
      "message": "vfs: Add name to file handle conversion support\n\nThe syscall also return mount id which can be used\nto lookup file system specific information such as uuid\nin /proc/\u003cpid\u003e/mountinfo\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "521cb40b0c44418a4fd36dc633f575813d59a43d",
      "tree": "fec2224bffa4c1ffa38c3d60af17fd6d9be3fb0c",
      "parents": [
        "59766edc79da0583eff7d0a9e1049b0d3c5676b0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 14 18:20:32 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 14 18:20:32 2011 -0700"
      },
      "message": "Linux 2.6.38\n"
    },
    {
      "commit": "f52e0c11305aa09ed56cad97ffc8f0cdc3d78b5d",
      "tree": "b04070034f8a941fe5d7e9e1b335a02784686bd5",
      "parents": [
        "5fe0c2378884e68beb532f5890cc0e3539ac747b"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Mar 14 18:56:51 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Mar 14 19:12:20 2011 -0400"
      },
      "message": "New AT_... flag: AT_EMPTY_PATH\n\nFor name_to_handle_at(2) we\u0027ll want both ...at()-style syscall that\nwould be usable for non-directory descriptors (with empty relative\npathname).  Introduce new flag (AT_EMPTY_PATH) to deal with that and\ncorresponding LOOKUP_EMPTY; teach user_path_at() and path_init() to\ndeal with the latter.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "59766edc79da0583eff7d0a9e1049b0d3c5676b0",
      "tree": "0a8261248b89c54667f7eeb367bbcddde5c694d4",
      "parents": [
        "2990821d0e38d2bfc556ad39d709b5f8a83c2ebd",
        "af794206542e03d62138a107ee0ffb5e7d631881"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 14 15:20:39 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 14 15:20:39 2011 -0700"
      },
      "message": "Merge branch \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-2.6-mn10300\n\n* \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-2.6-mn10300:\n  MN10300: atomic_read() should ensure it emits a load\n  MN10300: The SMP_ICACHE_INV_FLUSH_RANGE IPI command does not exist\n  MN10300: Proper use of macros get_user() in the case of incremented pointers\n"
    },
    {
      "commit": "2990821d0e38d2bfc556ad39d709b5f8a83c2ebd",
      "tree": "666da0573384cf73e8a6e2e60e4ef79ff92a2b5b",
      "parents": [
        "869c34f5208adde010065c387354f2ebe4ec3bfc",
        "9ced975711d605d7deb27ef027e0f9816a51b479"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 14 15:20:12 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 14 15:20:12 2011 -0700"
      },
      "message": "Merge branch \u0027upstream\u0027 of git://git.linux-mips.org/pub/scm/upstream-linus\n\n* \u0027upstream\u0027 of git://git.linux-mips.org/pub/scm/upstream-linus: (26 commits)\n  MIPS: Alchemy: Fix reset for MTX-1 and XXS1500\n  MIPS: MTX-1: Make au1000_eth probe all PHY addresses\n  MIPS: Jz4740: Add HAVE_CLK\n  MIPS: Move idle task creation to work queue\n  MIPS, Perf-events: Use unsigned delta for right shift in event update\n  MIPS, Perf-events: Work with the new callchain interface\n  MIPS, Perf-events: Fix event check in validate_event()\n  MIPS, Perf-events: Work with the new PMU interface\n  MIPS, Perf-events: Work with irq_work\n  MIPS: Fix always CONFIG_LOONGSON_UART_BASE\u003dy\n  MIPS: Loongson: Fix potentially wrong string handling\n  MIPS: Fix GCC-4.6 \u0027set but not used\u0027 warning in arch/mips/mm/init.c\n  MIPS: Fix GCC-4.6 \u0027set but not used\u0027 warning in ieee754int.h\n  MIPS: Remove unused code from arch/mips/kernel/syscall.c\n  MIPS: Fix GCC-4.6 \u0027set but not used\u0027 warning in signal*.c\n  MIPS: MSP: Fix MSP71xx bpci interrupt handler return value\n  MIPS: Select R4K timer lib for all MSP platforms\n  MIPS: Loongson: Remove ad-hoc cmdline default\n  MIPS: Clear the correct flag in sysmips(MIPS_FIXADE, ...).\n  MIPS: Add an unreachable return statement to satisfy buggy GCCs.\n  ...\n"
    },
    {
      "commit": "869c34f5208adde010065c387354f2ebe4ec3bfc",
      "tree": "6c427732d93fbb7357b68747bbbc182ba3b1fe9b",
      "parents": [
        "52d3c03675fdbe1965b9b1909072b40ad2f80063",
        "03150171dcf9492a96f57cbb2aef088bafcfcd2e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 14 15:19:09 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 14 15:19:09 2011 -0700"
      },
      "message": "Merge branch \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86: ce4100: Set pci ops via callback instead of module init\n  x86/mm: Fix pgd_lock deadlock\n  x86/mm: Handle mm_fault_error() in kernel space\n  x86: Don\u0027t check for BIOS corruption in first 64K when there\u0027s no need to\n"
    },
    {
      "commit": "52d3c03675fdbe1965b9b1909072b40ad2f80063",
      "tree": "2261f8576d1317c5810edc326be0dfff964c254f",
      "parents": [
        "dc1b83ab08f1954335692cdcd499f78c94f4c42a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 14 15:17:07 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 14 15:17:07 2011 -0700"
      },
      "message": "Revert \"oom: oom_kill_process: fix the child_points logic\"\n\nThis reverts the parent commit.  I hate doing that, but it\u0027s generating\nsome discussion (\"half of it is right\"), and since I am planning on\ndoing the 2.6.38 release later today we can punt it to stable if\nrequired. Let\u0027s not rock the boat right now.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dc1b83ab08f1954335692cdcd499f78c94f4c42a",
      "tree": "e05f9760a40c2560e500762b13ef81b37f153b9d",
      "parents": [
        "5f40d4209461f23a15d88c6b55993bb8b0fa2670"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Mon Mar 14 20:05:30 2011 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 14 13:38:35 2011 -0700"
      },
      "message": "oom: oom_kill_process: fix the child_points logic\n\noom_kill_process() starts with victim_points \u003d\u003d 0.  This means that\n(most likely) any child has more points and can be killed erroneously.\n\nAlso, \"children has a different mm\" doesn\u0027t match the reality, we should\ncheck child-\u003emm !\u003d t-\u003emm.  This check is not exactly correct if t-\u003emm \u003d\u003d\nNULL but this doesn\u0027t really matter, oom_kill_task() will kill them\nanyway.\n\nNote: \"Kill all processes sharing p-\u003emm\" in oom_kill_task() is wrong\ntoo.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "07d5ecae2940ddd77746e2fb597dcf57d3c2e277",
      "tree": "2755106df53db441230d1e5356a65bde0274f20c",
      "parents": [
        "6e0aa9f8a8190e0879a29bd67aa606b51734a122"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Mar 14 20:00:30 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Mar 14 21:10:26 2011 +0100"
      },
      "message": "arm: Remove bogus comment in futex_atomic_cmpxchg_inatomic()\n\ncommit 522d7dec(futex: Remove redundant pagefault_disable in\nfutex_atomic_cmpxchg_inatomic()) added a bogus comment.\n\n/* Note that preemption is disabled by futex_atomic_cmpxchg_inatomic\n * call sites. */\n\nBogus in two aspects:\n\n1) pagefault_disable !\u003d preempt_disable even if the mechanism we use\n   is the same\n\n2) we have a call site which deliberately does not disable pagefaults\n   as it wants the possible fault to be handled - though that has been\n   changed for consistency reasons now.\n\nSigh. I really should have seen that when committing the above. :(\n\nCatched-by-and-rightfully-ranted-at-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLKML-Reference: \u003calpine.LFD.2.00.1103141126590.2787@localhost6.localdomain6\u003e\nCc: Michel Lespinasse \u003cwalken@google.com\u003e\nCc: Darren Hart \u003cdarren@dvhart.com\u003e\n"
    },
    {
      "commit": "6e0aa9f8a8190e0879a29bd67aa606b51734a122",
      "tree": "66b92176051147b87031cc2755639c39f8a900f8",
      "parents": [
        "995612178c88407d8330f580ba6572cb8b284dd8"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Mar 14 10:34:35 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Mar 14 21:08:47 2011 +0100"
      },
      "message": "futex: Deobfuscate handle_futex_death()\n\nhandle_futex_death() uses futex_atomic_cmpxchg_inatomic() without\ndisabling page faults. That\u0027s ok, but totally non obvious.\n\nWe don\u0027t hold locks so we actually can and want to fault here, because\nthe get_user() before futex_atomic_cmpxchg_inatomic() does not\nguarantee a R/W mapping.\n\nWe could just add a big fat comment to explain this, but actually\nchanging the code so that the functionality is entirely clear is\nbetter.\n\nUse the helper function which disables page faults around the\nfutex_atomic_cmpxchg_inatomic() and handle a fault with a call to\nfault_in_user_writeable() as all other places in the futex code do as\nwell.\n\nPointed-out-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Darren Hart \u003cdarren@dvhart.com\u003e\nCc: Michel Lespinasse \u003cwalken@google.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Matt Turner \u003cmattst88@gmail.com\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Michal Simek \u003cmonstr@monstr.eu\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: \"James E.J. Bottomley\" \u003cjejb@parisc-linux.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nLKML-Reference: \u003calpine.LFD.2.00.1103141126590.2787@localhost6.localdomain6\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "9ced975711d605d7deb27ef027e0f9816a51b479",
      "tree": "d7f83301bd4d2b54319051899b1ade5c5237005f",
      "parents": [
        "bf3a1eb85967dcbaae42f4fcb53c2392cec32677"
      ],
      "author": {
        "name": "Florian Fainelli",
        "email": "florian@openwrt.org",
        "time": "Mon Feb 21 14:28:02 2011 +0100"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Mar 14 21:07:28 2011 +0100"
      },
      "message": "MIPS: Alchemy: Fix reset for MTX-1 and XXS1500\n\nSince commit 32fd6901 (MIPS: Alchemy: get rid of common/reset.c)\nAlchemy-based boards use their own reset function. For MTX-1 and XXS1500,\nthe reset function pokes at the BCSR.SYSTEM_RESET register, but this does\nnot work. According to Bruno Randolf, this was not tested when written.\n\nPreviously, the generic au1000_restart() routine called the board specific\nreset function, which for MTX-1 and XXS1500 did not work, but finally made\na jump to the reset vector, which really triggers a system restart. Fix\nreboot for both targets by jumping to the reset vector.\n\nSigned-off-by: Florian Fainelli \u003cflorian@openwrt.org\u003e\nTo: linux-mips@linux-mips.org\nPatchwork: https://patchwork.linux-mips.org/patch/2093/\nAcked-by: Bruno Randolf \u003cbr1@einfach.org\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "bf3a1eb85967dcbaae42f4fcb53c2392cec32677",
      "tree": "9be1360731809174407c4ffa581123b863014e2d",
      "parents": [
        "ab5330eb26327675d28df19a8ab257c928c6a3bd"
      ],
      "author": {
        "name": "Florian Fainelli",
        "email": "florian@openwrt.org",
        "time": "Sun Feb 27 19:53:53 2011 +0100"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Mar 14 21:07:27 2011 +0100"
      },
      "message": "MIPS: MTX-1: Make au1000_eth probe all PHY addresses\n\nWhen au1000_eth probes the MII bus for PHY address, if we do not set\nau1000_eth platform data\u0027s phy_search_highest_address, the MII probing\nlogic will exit early and will assume a valid PHY is found at address 0.\nFor MTX-1, the PHY is at address 31, and without this patch, the link\ndetection/speed/duplex would not work correctly.\n\nCC: stable@kernel.org\nSigned-off-by: Florian Fainelli \u003cflorian@openwrt.org\u003e\nTo: linux-mips@linux-mips.org\nPatchwork: https://patchwork.linux-mips.org/patch/2111/\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "ab5330eb26327675d28df19a8ab257c928c6a3bd",
      "tree": "000b6115afd3506c9cd246b99790325d3b6ad68d",
      "parents": [
        "6667deb69ee3b8a31ea88e1303cf3ad7d4f221da"
      ],
      "author": {
        "name": "Maurus Cuelenaere",
        "email": "mcuelenaere@gmail.com",
        "time": "Tue Mar 01 00:20:01 2011 +0100"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Mar 14 21:07:27 2011 +0100"
      },
      "message": "MIPS: Jz4740: Add HAVE_CLK\n\nJz4740 supports the clock framework but doesn\u0027t have HAVE_CLK defined,\nso define it!\n\nSigned-off-by: Maurus Cuelenaere \u003cmcuelenaere@gmail.com\u003e\nTo: linux-mips@linux-mips.org\nTo: linux-kernel@vger.kernel.org\nPatchwork: https://patchwork.linux-mips.org/patch/2112/\nAcked-by: Lars-Peter Clausen \u003clars@metafoo.de\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "6667deb69ee3b8a31ea88e1303cf3ad7d4f221da",
      "tree": "575e660bec3cdb905f31940ab3ca64d7185202be",
      "parents": [
        "ba9786f32473410bbec256db9745a7fbcaace69f"
      ],
      "author": {
        "name": "Maksim Rayskiy",
        "email": "mrayskiy@broadcom.com",
        "time": "Sat Feb 12 10:21:32 2011 -0800"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Mar 14 21:07:27 2011 +0100"
      },
      "message": "MIPS: Move idle task creation to work queue\n\nTo avoid forking usermode thread when creating an idle task, move fork_idle\nto a work queue.\n\nIf kernel starts with maxcpus\u003d option which does not bring all available\ncpus online at boot time, idle tasks for offline cpus are not created. If\nlater offline cpus are hotplugged through sysfs, __cpu_up is called in\nthe context of the user task, and fork_idle copies its non-zero mm\npointer.  This causes BUG() in per_cpu_trap_init.\n\nThis also avoids issues with resource limits of the CPU writing to sysfs,\ncontainers, maybe others.\n\nSigned-off-by: Maksim Rayskiy \u003cmrayskiy@broadcom.com\u003e\nTo: linux-mips@linux-mips.org\nPatchwork: https://patchwork.linux-mips.org/patch/2070/\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "ba9786f32473410bbec256db9745a7fbcaace69f",
      "tree": "a07e486f5e018b5e816109ec6d935ed5bd7762b4",
      "parents": [
        "98f92f2f9e2fd959157b1d52f7ae160683812740"
      ],
      "author": {
        "name": "Deng-Cheng Zhu",
        "email": "dengcheng.zhu@gmail.com",
        "time": "Fri Jan 21 16:19:21 2011 +0800"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Mar 14 21:07:27 2011 +0100"
      },
      "message": "MIPS, Perf-events: Use unsigned delta for right shift in event update\n\nLeverage the commit for ARM by Will Deacon:\n\n- 446a5a8b1eb91a6990e5c8fe29f14e7a95b69132\n    ARM: 6205/1: perf: ensure counter delta is treated as unsigned\n\n    Hardware performance counters on ARM are 32-bits wide but atomic64_t\n    variables are used to represent counter data in the hw_perf_event structure.\n\n    The armpmu_event_update function right-shifts a signed 64-bit delta variable\n    and adds the result to the event count. This can lead to shifting in sign-bits\n    if the MSB of the 32-bit counter value is set. This results in perf output\n    such as:\n\n     Performance counter stats for \u0027sleep 20\u0027:\n\n     18446744073460670464  cycles             \u003c-- 0xFFFFFFFFF12A6000\n            7783773  instructions             #      0.000 IPC\n                465  context-switches\n                161  page-faults\n            1172393  branches\n\n       20.154242147  seconds time elapsed\n\n    This patch ensures that the delta value is treated as unsigned so that the\n    right shift sets the upper bits to zero.\n\nAcked-by: Will Deacon \u003cwill.deacon@arm.com\u003e\nAcked-by: David Daney \u003cddaney@caviumnetworks.com\u003e\nSigned-off-by: Deng-Cheng Zhu \u003cdengcheng.zhu@gmail.com\u003e\nTo: a.p.zijlstra@chello.nl\nTo: fweisbec@gmail.com\nTo: will.deacon@arm.com\nCc: linux-mips@linux-mips.org\nCc: linux-kernel@vger.kernel.org\nCc: wuzhangjin@gmail.com\nCc: paulus@samba.org\nCc: mingo@elte.hu\nCc: acme@redhat.com\nCc: matt@console-pimps.org\nCc: sshtylyov@mvista.com\nPatchwork: http://patchwork.linux-mips.org/patch/2015/\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "98f92f2f9e2fd959157b1d52f7ae160683812740",
      "tree": "7da1f14de06c1b052cb3c3057fcf5fa6b9078fed",
      "parents": [
        "c049b6a5f2d8ca16094a4f2a6d8ad39f888a551a"
      ],
      "author": {
        "name": "Deng-Cheng Zhu",
        "email": "dengcheng.zhu@gmail.com",
        "time": "Fri Jan 21 16:19:20 2011 +0800"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Mar 14 21:07:27 2011 +0100"
      },
      "message": "MIPS, Perf-events: Work with the new callchain interface\n\nThis is the MIPS part of the following commits by Frederic Weisbecker:\n\n- f72c1a931e311bb7780fee19e41a89ac42cab50e\n    perf: Factorize callchain context handling\n\n    Store the kernel and user contexts from the generic layer instead\n    of archs, this gathers some repetitive code.\n\n- 56962b4449af34070bb1994621ef4f0265eed4d8\n    perf: Generalize some arch callchain code\n\n    - Most archs use one callchain buffer per cpu, except x86 that needs\n      to deal with NMIs. Provide a default perf_callchain_buffer()\n      implementation that x86 overrides.\n\n    - Centralize all the kernel/user regs handling and invoke new arch\n      handlers from there: perf_callchain_user() / perf_callchain_kernel()\n      That avoid all the user_mode(), current-\u003emm checks and so...\n\n    - Invert some parameters in perf_callchain_*() helpers: entry to the\n      left, regs to the right, following the traditional (dst, src).\n\n- 70791ce9ba68a5921c9905ef05d23f62a90bc10c\n    perf: Generalize callchain_store()\n\n    callchain_store() is the same on every archs, inline it in\n    perf_event.h and rename it to perf_callchain_store() to avoid\n    any collision.\n\n    This removes repetitive code.\n\n- c1a65932fd7216fdc9a0db8bbffe1d47842f862c\n    perf: Drop unappropriate tests on arch callchains\n\n    Drop the TASK_RUNNING test on user tasks for callchains as\n    this check doesn\u0027t seem to make any sense.\n\n    Also remove the tests for !current that is not supposed to\n    happen and current-\u003epid as this should be handled at the\n    generic level, with exclude_idle attribute.\n\nReported-by: Wu Zhangjin \u003cwuzhangjin@gmail.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: David Daney \u003cddaney@caviumnetworks.com\u003e\nSigned-off-by: Deng-Cheng Zhu \u003cdengcheng.zhu@gmail.com\u003e\nTo: a.p.zijlstra@chello.nl\nTo: will.deacon@arm.com\nCc: linux-mips@linux-mips.org\nCc: linux-kernel@vger.kernel.org\nCc: paulus@samba.org\nCc: mingo@elte.hu\nCc: acme@redhat.com\nCc: dengcheng.zhu@gmail.com\nCc: matt@console-pimps.org\nCc: sshtylyov@mvista.com\nPatchwork: http://patchwork.linux-mips.org/patch/2014/\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "c049b6a5f2d8ca16094a4f2a6d8ad39f888a551a",
      "tree": "16947cc5f9e688534f9cf265d1a62118532e394e",
      "parents": [
        "404ff638403e9286691b9b1f86d514c1d7737e8f"
      ],
      "author": {
        "name": "Deng-Cheng Zhu",
        "email": "dengcheng.zhu@gmail.com",
        "time": "Fri Jan 21 16:19:19 2011 +0800"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Mar 14 21:07:27 2011 +0100"
      },
      "message": "MIPS, Perf-events: Fix event check in validate_event()\n\nIgnore events that are in off/error state or belong to a different PMU.\n\nThis patch originates from the following commit for ARM by Will Deacon:\n\n- 65b4711ff513767341aa1915c822de6ec0de65cb\n    ARM: 6352/1: perf: fix event validation\n\n    The validate_event function in the ARM perf events backend has the\n    following problems:\n\n    1.) Events that are disabled count towards the cost.\n    2.) Events associated with other PMUs [for example, software events or\n        breakpoints] do not count towards the cost, but do fail validation,\n        causing the group to fail.\n\n    This patch changes validate_event so that it ignores events in the\n    PERF_EVENT_STATE_OFF state or that are scheduled for other PMUs.\n\nAcked-by: Will Deacon \u003cwill.deacon@arm.com\u003e\nAcked-by: David Daney \u003cddaney@caviumnetworks.com\u003e\nSigned-off-by: Deng-Cheng Zhu \u003cdengcheng.zhu@gmail.com\u003e\nTo: a.p.zijlstra@chello.nl\nTo: fweisbec@gmail.com\nTo: will.deacon@arm.com\nCc: linux-mips@linux-mips.org\nCc: linux-kernel@vger.kernel.org\nCc: wuzhangjin@gmail.com\nCc: paulus@samba.org\nCc: mingo@elte.hu\nCc: acme@redhat.com\nCc: dengcheng.zhu@gmail.com\nCc: matt@console-pimps.org\nCc: sshtylyov@mvista.com\nCc: ddaney@caviumnetworks.com\nPatchwork: http://patchwork.linux-mips.org/patch/2013/\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "404ff638403e9286691b9b1f86d514c1d7737e8f",
      "tree": "32693abc5579103cb4b393b81a04d43b4b134b1b",
      "parents": [
        "91f017372a48d2d128d08964bcfeafbd98b6d739"
      ],
      "author": {
        "name": "Deng-Cheng Zhu",
        "email": "dengcheng.zhu@gmail.com",
        "time": "Fri Jan 21 16:19:18 2011 +0800"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Mar 14 21:07:26 2011 +0100"
      },
      "message": "MIPS, Perf-events: Work with the new PMU interface\n\nThis is the MIPS part of the following commits by Peter Zijlstra:\n\n- a4eaf7f14675cb512d69f0c928055e73d0c6d252\n    perf: Rework the PMU methods\n\n    Replace pmu::{enable,disable,start,stop,unthrottle} with\n    pmu::{add,del,start,stop}, all of which take a flags argument.\n\n    The new interface extends the capability to stop a counter while\n    keeping it scheduled on the PMU. We replace the throttled state with\n    the generic stopped state.\n\n    This also allows us to efficiently stop/start counters over certain\n    code paths (like IRQ handlers).\n\n    It also allows scheduling a counter without it starting, allowing for\n    a generic frozen state (useful for rotating stopped counters).\n\n    The stopped state is implemented in two different ways, depending on\n    how the architecture implemented the throttled state:\n\n     1) We disable the counter:\n        a) the pmu has per-counter enable bits, we flip that\n        b) we program a NOP event, preserving the counter state\n\n     2) We store the counter state and ignore all read/overflow events\n\nFor MIPSXX, the stopped state is implemented in the way of 1.b as above.\n\n- 33696fc0d141bbbcb12f75b69608ea83282e3117\n    perf: Per PMU disable\n\n    Changes perf_disable() into perf_pmu_disable().\n\n- 24cd7f54a0d47e1d5b3de29e2456bfbd2d8447b7\n    perf: Reduce perf_disable() usage\n\n    Since the current perf_disable() usage is only an optimization,\n    remove it for now. This eases the removal of the __weak\n    hw_perf_enable() interface.\n\n- b0a873ebbf87bf38bf70b5e39a7cadc96099fa13\n    perf: Register PMU implementations\n\n    Simple registration interface for struct pmu, this provides the\n    infrastructure for removing all the weak functions.\n\n- 51b0fe39549a04858001922919ab355dee9bdfcf\n    perf: Deconstify struct pmu\n\n    sed -ie \u0027s/const struct pmu\\\u003e/struct pmu/g\u0027 `git grep -l \"const struct pmu\\\u003e\"`\n\nReported-by: Wu Zhangjin \u003cwuzhangjin@gmail.com\u003e\nAcked-by: David Daney \u003cddaney@caviumnetworks.com\u003e\nSigned-off-by: Deng-Cheng Zhu \u003cdengcheng.zhu@gmail.com\u003e\nTo: a.p.zijlstra@chello.nl\nTo: fweisbec@gmail.com\nTo: will.deacon@arm.com\nCc: linux-mips@linux-mips.org\nCc: linux-kernel@vger.kernel.org\nCc: wuzhangjin@gmail.com\nCc: paulus@samba.org\nCc: mingo@elte.hu\nCc: acme@redhat.com\nCc: dengcheng.zhu@gmail.com\nCc: matt@console-pimps.org\nCc: sshtylyov@mvista.com\nCc: ddaney@caviumnetworks.com\nPatchwork: http://patchwork.linux-mips.org/patch/2012/\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "91f017372a48d2d128d08964bcfeafbd98b6d739",
      "tree": "ca10991ee9566fe1801c41b0b4813b0d88b50e11",
      "parents": [
        "efe8dc556cd0f22e04c453188ffbc408b492eb82"
      ],
      "author": {
        "name": "Deng-Cheng Zhu",
        "email": "dengcheng.zhu@gmail.com",
        "time": "Fri Jan 21 16:19:17 2011 +0800"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Mar 14 21:07:26 2011 +0100"
      },
      "message": "MIPS, Perf-events: Work with irq_work\n\nThis is the MIPS part of the following commit by Peter Zijlstra:\n\n- e360adbe29241a0194e10e20595360dd7b98a2b3\n    irq_work: Add generic hardirq context callbacks\n\n    Provide a mechanism that allows running code in IRQ context. It is\n    most useful for NMI code that needs to interact with the rest of the\n    system -- like wakeup a task to drain buffers.\n\n    Perf currently has such a mechanism, so extract that and provide it as\n    a generic feature, independent of perf so that others may also\n    benefit.\n\n    The IRQ context callback is generated through self-IPIs where\n    possible, or on architectures like powerpc the decrementer (the\n    built-in timer facility) is set to generate an interrupt immediately.\n\n    Architectures that don\u0027t have anything like this get to do with a\n    callback from the timer tick. These architectures can call\n    irq_work_run() at the tail of any IRQ handlers that might enqueue such\n    work (like the perf IRQ handler) to avoid undue latencies in\n    processing the work.\n\nFor MIPSXX, we need to call irq_work_run() at the tail of the perf IRQ\nhandler as described above.\n\nReported-by: Wu Zhangjin \u003cwuzhangjin@gmail.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: David Daney \u003cddaney@caviumnetworks.com\u003e\nSigned-off-by: Deng-Cheng Zhu \u003cdengcheng.zhu@gmail.com\u003e\nTo: fweisbec@gmail.com\nTo: will.deacon@arm.com\nCc: linux-mips@linux-mips.org\nCc: linux-kernel@vger.kernel.org\nCc: paulus@samba.org\nCc: mingo@elte.hu\nCc: acme@redhat.com\nCc: matt@console-pimps.org\nCc: sshtylyov@mvista.com,\nPatchwork: http://patchwork.linux-mips.org/patch/2011/\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "efe8dc556cd0f22e04c453188ffbc408b492eb82",
      "tree": "c0715ffdc93e3f96ae4adb3e6710bd08d5654b0b",
      "parents": [
        "994fed2dd2166f86b62ec53c7424660145f138ee"
      ],
      "author": {
        "name": "Yoichi Yuasa",
        "email": "yuasa@linux-mips.org",
        "time": "Mon Feb 07 11:31:36 2011 +0900"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Mar 14 21:07:26 2011 +0100"
      },
      "message": "MIPS: Fix always CONFIG_LOONGSON_UART_BASE\u003dy\n\nSigned-off-by: Yoichi Yuasa \u003cyuasa@linux-mips.org\u003e\nCc: linux-mips \u003clinux-mips@linux-mips.org\u003e\nPatchwork: https://patchwork.linux-mips.org/patch/2055/\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "994fed2dd2166f86b62ec53c7424660145f138ee",
      "tree": "693b4a0483d0a4ec10a4b2ab911213c4b892b7a2",
      "parents": [
        "d3ce0e98b7fe17bb1dec9f6d7c50213db01e7189"
      ],
      "author": {
        "name": "Stefan Weil",
        "email": "weil@mail.berlios.de",
        "time": "Sun Jan 30 21:41:44 2011 +0100"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Mar 14 21:07:26 2011 +0100"
      },
      "message": "MIPS: Loongson: Fix potentially wrong string handling\n\nThis error was reported by cppcheck:\narch/mips/loongson/common/machtype.c:56: error: Dangerous usage of \u0027str\u0027 (strncpy doesn\u0027t always 0-terminate it)\n\nIf strncpy copied MACHTYPE_LEN bytes, the destination string str\nwas not terminated.\n\nThe patch adds one more byte to str and makes sure that this byte is\nalways 0.\n\nSigned-off-by: Stefan Weil \u003cweil@mail.berlios.de\u003e\nCc: Wu Zhangjin \u003cwuzhangjin@gmail.com\u003e\nCc: Arnaud Patard \u003capatard@mandriva.com\u003e\nCc: linux-mips@linux-mips.org\nCc: linux-kernel@vger.kernel.org\nPatchwork: https://patchwork.linux-mips.org/patch/2053/\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "d3ce0e98b7fe17bb1dec9f6d7c50213db01e7189",
      "tree": "7be0c825c8f8e894c4bec17762046d1f774bb4e9",
      "parents": [
        "91b51f30084911754aed004bd3792f71f7bf0843"
      ],
      "author": {
        "name": "David Daney",
        "email": "ddaney@caviumnetworks.com",
        "time": "Mon Jan 24 14:51:37 2011 -0800"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Mar 14 21:07:26 2011 +0100"
      },
      "message": "MIPS: Fix GCC-4.6 \u0027set but not used\u0027 warning in arch/mips/mm/init.c\n\nUnder some combinations of CONFIG_*, lastpfn in page_is_ram is \u0027set\nbut not used\u0027.  Mark it as __maybe_unused to quiet the warning/error.\n\nSigned-off-by: David Daney \u003cddaney@caviumnetworks.com\u003e\nTo: linux-mips@linux-mips.org\nPatchwork: https://patchwork.linux-mips.org/patch/2033/\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "91b51f30084911754aed004bd3792f71f7bf0843",
      "tree": "f44e09bcf3d725f384062abdece7b913f267d19a",
      "parents": [
        "7a6e4ca1eea8dc364f60ac55884f450a132cd100"
      ],
      "author": {
        "name": "David Daney",
        "email": "ddaney@caviumnetworks.com",
        "time": "Mon Jan 24 14:51:36 2011 -0800"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Mar 14 21:07:26 2011 +0100"
      },
      "message": "MIPS: Fix GCC-4.6 \u0027set but not used\u0027 warning in ieee754int.h\n\nGCC-4.6 can find more unused code than previous versions could.\n\nIn the case of arch/mips/math-emu/ieee754int.h, the COMPXSP and\nCOMPXDP macros are used in several places, but a couple of them leave\nxs unused.  The easiest thing to do is mark it as __maybe_unused to\nquiet the warning.\n\nSigned-off-by: David Daney \u003cddaney@caviumnetworks.com\u003e\nTo: linux-mips@linux-mips.org\nPatchwork: https://patchwork.linux-mips.org/patch/2032/\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "7a6e4ca1eea8dc364f60ac55884f450a132cd100",
      "tree": "5a8cfad8ea5bb60ba7cd4375261a036bdd82c282",
      "parents": [
        "c726b822131e7fdb62745a5585449e6a159395e8"
      ],
      "author": {
        "name": "David Daney",
        "email": "ddaney@caviumnetworks.com",
        "time": "Mon Jan 24 14:51:35 2011 -0800"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Mar 14 21:07:26 2011 +0100"
      },
      "message": "MIPS: Remove unused code from arch/mips/kernel/syscall.c\n\nThe variable arg3 in _sys_sysmips() is unused.  Remove it.\n\nSigned-off-by: David Daney \u003cddaney@caviumnetworks.com\u003e\nTo: linux-mips@linux-mips.org\nPatchwork: https://patchwork.linux-mips.org/patch/2034/\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "c726b822131e7fdb62745a5585449e6a159395e8",
      "tree": "f71f25b0444db1a00eca9985f19956eb18fe2aa5",
      "parents": [
        "a18059ace1eee8c4755bcce22163d137425db607"
      ],
      "author": {
        "name": "David Daney",
        "email": "ddaney@caviumnetworks.com",
        "time": "Mon Jan 24 14:51:34 2011 -0800"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Mar 14 21:07:25 2011 +0100"
      },
      "message": "MIPS: Fix GCC-4.6 \u0027set but not used\u0027 warning in signal*.c\n\nGCC-4.6 can find more unused code than previous versions could.\n\nIn the case of protected_restore_fp_context{,32}, the variable tmp is\nreally used.  Its use is tricky in that we really care about the side\neffects of the __put_user() calls.  So we must mark tmp with\n__maybe_unused to quiet the warning.\n\nSigned-off-by: David Daney \u003cddaney@caviumnetworks.com\u003e\nTo: linux-mips@linux-mips.org\nPatchwork: https://patchwork.linux-mips.org/patch/2035/\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "a18059ace1eee8c4755bcce22163d137425db607",
      "tree": "1a5569df35aee2d6ccd0ac3b3596a5bb67d27211",
      "parents": [
        "39d30c13767cbe9d7e77e05886c399b40c76cb1e"
      ],
      "author": {
        "name": "Anoop P A",
        "email": "anoop.pa@gmail.com",
        "time": "Thu Nov 18 16:02:50 2010 +0530"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Mar 14 21:07:25 2011 +0100"
      },
      "message": "MIPS: MSP: Fix MSP71xx bpci interrupt handler return value\n\nSigned-off-by: Anoop P A \u003canoop.pa@gmail.com\u003e\nTo: Ben Hutchings \u003cben@decadent.org.uk\u003e\nTo: linux-mips@linux-mips.org\nTo: linux-kernel@vger.kernel.org\nPatchwork: https://patchwork.linux-mips.org/patch/1804/\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "39d30c13767cbe9d7e77e05886c399b40c76cb1e",
      "tree": "ed60a5147fc8ecbb478ef6ee70eea9fc13b48b59",
      "parents": [
        "597c6740185c44686b5476a251eb53a13f685ae9"
      ],
      "author": {
        "name": "Anoop P A",
        "email": "anoop.pa@gmail.com",
        "time": "Thu Nov 18 13:42:28 2010 +0530"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Mar 14 21:07:25 2011 +0100"
      },
      "message": "MIPS: Select R4K timer lib for all MSP platforms\n\nSigned-off-by: Anoop P A \u003canoop.pa@gmail.com\u003e\nTo: linux-mips@linux-mips.org\nTo: linux-kernel@vger.kernel.org\nPatchwork: https://patchwork.linux-mips.org/patch/1803/\nTested-by: Shane McDonald \u003cmcdonald.shane@gmail.com\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "597c6740185c44686b5476a251eb53a13f685ae9",
      "tree": "829e9b7f7f8cad7817942f5ab63ef35dac5dd025",
      "parents": [
        "e56293b129607be089f2c12906d709e3c84b68c4"
      ],
      "author": {
        "name": "Robert Millan",
        "email": "rmh@gnu.org",
        "time": "Sun Nov 07 13:38:29 2010 +0100"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Mar 14 21:07:25 2011 +0100"
      },
      "message": "MIPS: Loongson: Remove ad-hoc cmdline default\n\nLoongson builds have an ad-hoc cmdline default of \"console\u003dttyS0,115200\nroot\u003d/dev/hda1\". These settings come from a vendor; I remember builds\nfrom Lemote branch requiring a \"console\u003dtty\" override in order to get a\nworking console.\n\nAt least on Yeeloong, they\u0027re particularly useless: there\u0027s no external\nserial port, and the IDE drive is now recognised as /dev/sda.\n\nSigned-off-by: Robert Millan \u003crmh@gnu.org\u003e\nTo: linux-mips@linux-mips.org\nPatchwork: https://patchwork.linux-mips.org/patch/1759/\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "e56293b129607be089f2c12906d709e3c84b68c4",
      "tree": "9cf33f0305c4ad54d5bf4623b578d802c2e4c7f9",
      "parents": [
        "e1c87d2a5567c7940d129a6045efadc4b8c0f888"
      ],
      "author": {
        "name": "Stefan Oberhumer",
        "email": "stefan@obssys.com",
        "time": "Mon Jan 17 09:19:53 2011 +0100"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Mar 14 21:07:25 2011 +0100"
      },
      "message": "MIPS: Clear the correct flag in sysmips(MIPS_FIXADE, ...).\n\nThe sysmips(MIPS_FIXADE, ...) case contains an obvious copy-and-paste\nerror in the handling of the TIF_LOGADE flag. Fix that\n\nPatchwork: https://patchwork.linux-mips.org/patch/1997/\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "e1c87d2a5567c7940d129a6045efadc4b8c0f888",
      "tree": "d5f224e735c2e6f2fdda82e56f9e0a4bc0e2fcf0",
      "parents": [
        "b9f07eb2f25a64098e2ba223c1a2fe2a8f249e01"
      ],
      "author": {
        "name": "David Daney",
        "email": "ddaney@caviumnetworks.com",
        "time": "Wed Jan 19 15:24:42 2011 -0800"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Mar 14 21:07:24 2011 +0100"
      },
      "message": "MIPS: Add an unreachable return statement to satisfy buggy GCCs.\n\nIt was reported that GCC-4.3.3 (with CodeSourcery extensions) fails\nwithout this.\n\nReported-by: Jonas Gorski \u003cjonas.gorski@gmail.com\u003e\nSigned-off-by: David Daney \u003cddaney@caviumnetworks.com\u003e\nCc: linux-mips@linux-mips.org\nPatchwork: https://patchwork.linux-mips.org/patch/2010/\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "b9f07eb2f25a64098e2ba223c1a2fe2a8f249e01",
      "tree": "1b52def8282e9faa067acb9fc360cbc10ff03fc1",
      "parents": [
        "7f21a60968221eabad5c53fe760db3d094994011"
      ],
      "author": {
        "name": "Wu Zhangjin",
        "email": "wuzhangjin@gmail.com",
        "time": "Sat Jan 22 02:01:53 2011 +0800"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Mar 14 21:07:24 2011 +0100"
      },
      "message": "MIPS, Tracing: Fix set_graph_function of function graph tracer\n\ntrace.func should be set to the recorded ip of the mcount calling site\nin the __mcount_loc section to filter the function entries configured\nthrough the tracing/set_graph_function interface, but before, this is\nset to the self_ra(the return address of mcount), which has made\nset_graph_function not work as expected.\n\nThis fixes it via calculating the right recorded ip in the __mcount_loc\nsection and assign it to trace.func.\n\nReported-by: Zhiping Zhong \u003cxzhong86@163.com\u003e\nSigned-off-by: Wu Zhangjin \u003cwuzhangjin@gmail.com\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Sergei Shtylyov \u003csshtylyov@mvista.com\u003e\nCc: linux-mips@linux-mips.org\nPatchwork: https://patchwork.linux-mips.org/patch/2017/\nSigned-off-by: Ralf Baechle \u003cralf@duck.linux-mips.net\u003e\n"
    },
    {
      "commit": "7f21a60968221eabad5c53fe760db3d094994011",
      "tree": "0b87d690d60ff0292d0088bfee6f1b3ca7ff3910",
      "parents": [
        "2816e325969396af5bd1d5f70c7360074ae1d63c"
      ],
      "author": {
        "name": "Wu Zhangjin",
        "email": "wuzhangjin@gmail.com",
        "time": "Thu Jan 20 03:28:31 2011 +0800"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Mar 14 21:07:24 2011 +0100"
      },
      "message": "MIPS, Tracing: Clean up ftrace_make_nop()\n\nThis moves the comments out of ftrace_make_nop() and cleans it.  At the\nsame time, a macro MCOUNT_OFFSET_INSNS is defined for sharing with the\nnext patch.\n\nSigned-off-by: Wu Zhangjin \u003cwuzhangjin@gmail.com\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: linux-mips@linux-mips.org\nPatchwork: https://patchwork.linux-mips.org/patch/2008/\nSigned-off-by: Ralf Baechle \u003cralf@duck.linux-mips.net\u003e\n"
    },
    {
      "commit": "2816e325969396af5bd1d5f70c7360074ae1d63c",
      "tree": "229cc2f5bed2e39ac1ff8ae46b9d1e82b2060b32",
      "parents": [
        "d9cdb2f1038143c945fcb1a366aae4fa2998419e"
      ],
      "author": {
        "name": "Wu Zhangjin",
        "email": "wuzhangjin@gmail.com",
        "time": "Thu Jan 20 03:28:30 2011 +0800"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Mar 14 21:07:24 2011 +0100"
      },
      "message": "MIPS, Tracing: Clean up prepare_ftrace_return()\n\nThe old prepare_ftrace_return() for MIPS is confused and have introduced\nsome problem. This patch cleans up the names of the arguments, variables\nand related functions.\n\nFor MIPS, the 2nd argument of prepare_ftrace_return() is not really the\n\u0027selfpc\u0027 described in ftrace-design.txt but instead it is the self\nreturn address. This did break the compatibility of the generic\ninterface but really reduced one unneeded calculation for to get the\ncurrent function name, the parent return address and the self return\naddress are enough, no need to tranform the self return address to the\nself address.\n\nBut set_graph_function of function graph tracer is an exception, it does\nneed the 2nd argument of prepare_ftrace_return() as \u0027selfpc\u0027, for it\nwill use \u0027selfpc\u0027 to match user\u0027s configuration of function graph\nentries, but in reality, it doesn\u0027t need the \u0027selfpc\u0027 but the recorded\nip address of the mcount calling site in the __mcount_loc section. So,\nthe 2nd argument of prepare_ftrace_return() is not important, the real\nrequirement is the right recorded ip address should be calculated and\nassign to trace.func, this will be fixed in the next patches.\n\nReported-by: Zhiping Zhong \u003cxzhong86@163.com\u003e\nSigned-off-by: Wu Zhangjin \u003cwuzhangjin@gmail.com\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: linux-mips@linux-mips.org\nPatchwork: https://patchwork.linux-mips.org/patch/2007/\nSigned-off-by: Ralf Baechle \u003cralf@duck.linux-mips.net\u003e\n"
    },
    {
      "commit": "d9cdb2f1038143c945fcb1a366aae4fa2998419e",
      "tree": "f6b0e9b0dd338e1c704cd9f4c7013d9af3476acf",
      "parents": [
        "9a620a559be65023b5fd5d0eaf37dae884c4f404"
      ],
      "author": {
        "name": "Wu Zhangjin",
        "email": "wuzhangjin@gmail.com",
        "time": "Thu Jan 20 03:28:29 2011 +0800"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Mar 14 21:07:24 2011 +0100"
      },
      "message": "MIPS, Tracing: Substitute in_kernel_space() for in_module()\n\nThe old in_module() may not work in some situations(e.g. when module \u0026\nkernel are in the same address space when CONFIG_MAPPED_KERNEL\u003dy), The\nin_kernel_space() is more generic and it is also easy to be implemented\nvia cloning the existing core_kernel_text(), so, replace the in_module()\nwith in_kernel_space().\n\nSigned-off-by: Wu Zhangjin \u003cwuzhangjin@gmail.com\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: linux-mips@linux-mips.org\nPatchwork: https://patchwork.linux-mips.org/patch/2005/\nSigned-off-by: Ralf Baechle \u003cralf@duck.linux-mips.net\u003e\n"
    },
    {
      "commit": "9a620a559be65023b5fd5d0eaf37dae884c4f404",
      "tree": "3c7e7d69c6ee14088ac8bf08499d9e8afce2710c",
      "parents": [
        "52bd080d5c87af556bf71e3b07bdd8586166c43b"
      ],
      "author": {
        "name": "Wu Zhangjin",
        "email": "wuzhangjin@gmail.com",
        "time": "Thu Jan 20 03:28:27 2011 +0800"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Mar 14 21:07:24 2011 +0100"
      },
      "message": "MIPS, Tracing: Speed up function graph tracer\n\nThis simply moves the \"ip-\u003d4\" statement down to the end of the do { ...\n} while (...); loop, which reduces one unneeded subtration and the\nsubsequent memory loading and comparison.\n\nSigned-off-by: Wu Zhangjin \u003cwuzhangjin@gmail.com\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: linux-mips@linux-mips.org\nPatchwork: https://patchwork.linux-mips.org/patch/2006/\nSigned-off-by: Ralf Baechle \u003cralf@duck.linux-mips.net\u003e\n"
    },
    {
      "commit": "52bd080d5c87af556bf71e3b07bdd8586166c43b",
      "tree": "01ab3cb144b063f259aa8844cb7f218140ef4f79",
      "parents": [
        "c44ed965be7a84afaa07543c04eb97a5dfe93422"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Jan 23 15:17:00 2011 +0000"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Mar 14 21:07:24 2011 +0100"
      },
      "message": "MIPS: Replace deprecated spinlock initialization\n\nSPIN_LOCK_UNLOCK is deprecated. Use the lockdep capable variant instead.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: linux-mips@linux-mips.org\nPatchwork: https://patchwork.linux-mips.org/patch/2025/\nSigned-off-by: Ralf Baechle \u003cralf@duck.linux-mips.net\u003e\n"
    },
    {
      "commit": "5f40d4209461f23a15d88c6b55993bb8b0fa2670",
      "tree": "2261f8576d1317c5810edc326be0dfff964c254f",
      "parents": [
        "215fd2fa8879247ac6e3af1dc44af7cae8c06f1e",
        "53d4737580535e073963b91ce87d4216e434fab5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 14 11:19:50 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 14 11:19:50 2011 -0700"
      },
      "message": "Merge branch \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:\n  NFS: NFSROOT should default to \"proto\u003dudp\"\n  nfs4: remove duplicated #include\n  NFSv4: nfs4_state_mark_reclaim_nograce() should be static\n  NFSv4: Fix the setlk error handler\n  NFSv4.1: Fix the handling of the SEQUENCE status bits\n  NFSv4/4.1: Fix nfs4_schedule_state_recovery abuses\n  NFSv4.1 reclaim complete must wait for completion\n  NFSv4: remove duplicate clientid in struct nfs_client\n  NFSv4.1: Retry CREATE_SESSION on NFS4ERR_DELAY\n  sunrpc: Propagate errors from xs_bind() through xs_create_sock()\n  (try3-resend) Fix nfs_compat_user_ino64 so it doesn\u0027t cause problems if bit 31 or 63 are set in fileid\n  nfs: fix compilation warning\n  nfs: add kmalloc return value check in decode_and_add_ds\n  SUNRPC: Remove resource leak in svc_rdma_send_error()\n  nfs: close NFSv4 COMMIT vs. CLOSE race\n  SUNRPC: Close a race in __rpc_wait_for_completion_task()\n"
    },
    {
      "commit": "215fd2fa8879247ac6e3af1dc44af7cae8c06f1e",
      "tree": "0d32dd1a8ff736a8b3a35df51256ab763c8daee9",
      "parents": [
        "786c58b7275ae885a3cee9d5bcf8721d962861ac",
        "5359533801e3dd3abca5b7d3d985b0b33fd9fe8b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 14 11:17:43 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 14 11:17:43 2011 -0700"
      },
      "message": "Merge branch \u0027drm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6\n\n* \u0027drm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:\n  drm/radeon: fix problem with changing active VRAM size. (v2)\n"
    },
    {
      "commit": "786c58b7275ae885a3cee9d5bcf8721d962861ac",
      "tree": "40997a988f66d449ff02f5c22853526aac35d773",
      "parents": [
        "1eafbfeb7bdf59cfe173304c76188f3fd5f1fd05",
        "b77b708868c23737a4d25a474736cc924deb44f1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 14 10:15:43 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 14 10:15:43 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog:\n  watchdog: hpwdt: eliminate section mismatch warning\n  watchdog: w83697ug_wdt: Fix set bit 0 to activate GPIO2\n  watchdog: sch311x_wdt: fix printk condition\n  watchdog: sch311x_wdt: Fix LDN active check\n  watchdog: cpwd: Fix buffer-overflow\n"
    },
    {
      "commit": "1eafbfeb7bdf59cfe173304c76188f3fd5f1fd05",
      "tree": "eae0a7cdf358b1b0396e9c3ec935d0e6be72bdb2",
      "parents": [
        "2fbfac4e053861925fa3fffcdc327649b09af54c"
      ],
      "author": {
        "name": "Timo Warns",
        "email": "Warns@pre-sense.de",
        "time": "Mon Mar 14 14:59:33 2011 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 14 10:14:28 2011 -0700"
      },
      "message": "Fix corrupted OSF partition table parsing\n\nThe kernel automatically evaluates partition tables of storage devices.\nThe code for evaluating OSF partitions contains a bug that leaks data\nfrom kernel heap memory to userspace for certain corrupted OSF\npartitions.\n\nIn more detail:\n\n  for (i \u003d 0 ; i \u003c le16_to_cpu(label-\u003ed_npartitions); i++, partition++) {\n\niterates from 0 to d_npartitions - 1, where d_npartitions is read from\nthe partition table without validation and partition is a pointer to an\narray of at most 8 d_partitions.\n\nAdd the proper and obvious validation.\n\nSigned-off-by: Timo Warns \u003cwarns@pre-sense.de\u003e\nCc: stable@kernel.org\n[ Changed the patch trivially to not repeat the whole le16_to_cpu()\n  thing, and to use an explicit constant for the magic value \u00278\u0027 ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2fbfac4e053861925fa3fffcdc327649b09af54c",
      "tree": "36d9da87f5a42d61cd8be2fd02bab666cb8ac145",
      "parents": [
        "c44ed965be7a84afaa07543c04eb97a5dfe93422"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Mon Mar 14 01:08:47 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 14 08:29:50 2011 -0700"
      },
      "message": "thp+memcg-numa: fix BUG at include/linux/mm.h:370!\n\nTHP\u0027s collapse_huge_page() has an understandable but ugly difference\nin when its huge page is allocated: inside if NUMA but outside if not.\nIt\u0027s hardly surprising that the memcg failure path forgot that, freeing\nthe page in the non-NUMA case, then hitting a VM_BUG_ON in get_page()\n(or even worse, using the freed page).\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "706cc9d2a4cb9b03217e15b0bb3d117f4d5109ee",
      "tree": "60075b399bdbb0a6f4b9d27bcfc17813e5c72734",
      "parents": [
        "146c4e511717e581065800938537b276173d8548"
      ],
      "author": {
        "name": "Stefano Stabellini",
        "email": "stefano.stabellini@eu.citrix.com",
        "time": "Wed Feb 02 18:32:59 2011 +0000"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Mon Mar 14 11:17:14 2011 -0400"
      },
      "message": "xen/m2p: Check whether the MFN has IDENTITY_FRAME bit set..\n\nIf there is no proper PFN value in the M2P for the MFN\n(so we get 0xFFFFF.. or 0x55555, or 0x0), we should\nconsult the M2P override to see if there is an entry for this.\n[Note: we also consult the M2P override if the MFN\nis past our machine_to_phys size].\n\nWe consult the P2M with the PFN. In case the returned\nMFN is one of the special values: 0xFFF.., 0x5555\n(which signify that the MFN can be either \"missing\" or it\nbelongs to DOMID_IO) or the p2m(m2p(mfn)) !\u003d mfn, we check\nthe M2P override. If we fail the M2P override check, we reset\nthe PFN value to INVALID_P2M_ENTRY.\n\nNext we try to find the MFN in the P2M using the MFN\nvalue (not the PFN value) and if found, we know\nthat this MFN is an identity value and return it as so.\n\nOtherwise we have exhausted all the posibilities and we\nreturn the PFN, which at this stage can either be a real\nPFN value found in the machine_to_phys.. array, or\nINVALID_P2M_ENTRY value.\n\n[v1: Added Review-by tag]\n\nReviewed-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "146c4e511717e581065800938537b276173d8548",
      "tree": "7894b82558b3c5c3fd6e939a73bd99bc3d16468b",
      "parents": [
        "fc25151d9ac7d809239fe68de0a1490b504bb94a"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Fri Jan 14 17:55:44 2011 -0500"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Mon Mar 14 11:17:13 2011 -0400"
      },
      "message": "xen/m2p: No need to catch exceptions when we know that there is no RAM\n\n.. beyound what we think is the end of memory. However there might\nbe more System RAM - but assigned to a guest. Hence jump to the\nM2P override check and consult.\n\n[v1: Added Review-by tag]\n\nReviewed-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "fc25151d9ac7d809239fe68de0a1490b504bb94a",
      "tree": "cd9ef4fdd796c49affe1c3d432a0fd9581c58d64",
      "parents": [
        "2222e71bd6eff7b2ad026d4ee663b6327c5a49f5"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu Dec 23 16:25:29 2010 -0500"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Mon Mar 14 11:17:12 2011 -0400"
      },
      "message": "xen/debug: WARN_ON when identity PFN has no _PAGE_IOMAP flag set.\n\nOnly enabled if XEN_DEBUG is enabled. We print a warning\nwhen:\n\n pfn_to_mfn(pfn) \u003d\u003d pfn, but no VM_IO (_PAGE_IOMAP) flag set\n\t(and pfn is an identity mapped pfn)\n pfn_to_mfn(pfn) !\u003d pfn, and VM_IO flag is set.\n\t(ditto, pfn is an identity mapped pfn)\n\n[v2: Make it dependent on CONFIG_XEN_DEBUG instead of ..DEBUG_FS]\n[v3: Fix compiler warning]\n\nReviewed-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "2222e71bd6eff7b2ad026d4ee663b6327c5a49f5",
      "tree": "4c6f6c29e0d879ea0222a7294fa8c03b6af8ce24",
      "parents": [
        "68df0da7f42be6ae017fe9f48ac414c43a7b9d32"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Wed Dec 22 08:57:30 2010 -0500"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Mon Mar 14 11:17:11 2011 -0400"
      },
      "message": "xen/debugfs: Add \u0027p2m\u0027 file for printing out the P2M layout.\n\nWe walk over the whole P2M tree and construct a simplified view of\nwhich PFN regions belong to what level and what type they are.\n\nOnly enabled if CONFIG_XEN_DEBUG_FS is set.\n\n[v2: UNKN-\u003eUNKNOWN, use uninitialized_var]\n[v3: Rebased on top of mmu-\u003ep2m code split]\n[v4: Fixed the else if]\nReviewed-by: Ian Campbell \u003cIan.Campbell@eu.citrix.com\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "68df0da7f42be6ae017fe9f48ac414c43a7b9d32",
      "tree": "9f4d774a788400d339794a2359b92f145bc21c1a",
      "parents": [
        "c7617798771ad588d585986d896197c04b737621"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Tue Feb 01 17:15:30 2011 -0500"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Mon Mar 14 11:17:10 2011 -0400"
      },
      "message": "xen/setup: Set identity mapping for non-RAM E820 and E820 gaps.\n\nWe walk the E820 region and start at 0 (for PV guests we start\nat ISA_END_ADDRESS) and skip any E820 RAM regions. For all other\nregions and as well the gaps we set them to be identity mappings.\n\nThe reasons we do not want to set the identity mapping from 0-\u003e\nISA_END_ADDRESS when running as PV is b/c that the kernel would\ntry to read DMI information and fail (no permissions to read that).\nThere is a lot of gnarly code to deal with that weird region so\nwe won\u0027t try to do a cleanup in this patch.\n\nThis code ends up calling \u0027set_phys_to_identity\u0027 with the start\nand end PFN of the the E820 that are non-RAM or have gaps.\nOn 99% of machines that means one big region right underneath the\n4GB mark. Usually starts at 0xc0000 (or 0x80000) and goes to\n0x100000.\n\n[v2: Fix for E820 crossing 1MB region and clamp the start]\n[v3: Squshed in code that does this over ranges]\n[v4: Moved the comment to the correct spot]\n[v5: Use the \"raw\" E820 from the hypervisor]\n[v6: Added Review-by tag]\n\nReviewed-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "c7617798771ad588d585986d896197c04b737621",
      "tree": "120b3d73e9e8c808083489770e5324c60e1ce8ec",
      "parents": [
        "fb38923ead10aa8a28db191548e176e8856614d7"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Tue Jan 18 20:17:10 2011 -0500"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Mon Mar 14 11:17:09 2011 -0400"
      },
      "message": "xen/mmu: WARN_ON when racing to swap middle leaf.\n\nThe initial bootup code uses set_phys_to_machine quite a lot, and after\nbootup it would be used by the balloon driver. The balloon driver does have\nmutex lock so this should not be necessary - but just in case, add\na WARN_ON if we do hit this scenario. If we do fail this, it is OK\nto continue as there is a backup mechanism (VM_IO) that can bypass\nthe P2M and still set the _PAGE_IOMAP flags.\n\n[v2: Change from WARN to BUG_ON]\n[v3: Rebased on top of xen-\u003ep2m code split]\n[v4: Change from BUG_ON to WARN]\nReviewed-by: Ian Campbell \u003cIan.Campbell@eu.citrix.com\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "fb38923ead10aa8a28db191548e176e8856614d7",
      "tree": "320b63258f4a109d91e6836347ce2bb46ad720fd",
      "parents": [
        "f4cec35b0d4b90d96e3770a3d1e68ea882e7a7c8"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Wed Jan 05 15:46:31 2011 -0500"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Mon Mar 14 11:17:08 2011 -0400"
      },
      "message": "xen/mmu: Set _PAGE_IOMAP if PFN is an identity PFN.\n\nIf we find that the PFN is within the P2M as an identity\nPFN make sure to tack on the _PAGE_IOMAP flag.\n\nReviewed-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "f4cec35b0d4b90d96e3770a3d1e68ea882e7a7c8",
      "tree": "d2c9b9e2d11de6418c4c3ba52c3f5c74eb845b09",
      "parents": [
        "6eaa412f2753d98566b777836a98c6e7f672a3bb"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Tue Jan 18 20:15:21 2011 -0500"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Mon Mar 14 11:16:41 2011 -0400"
      },
      "message": "xen/mmu: Add the notion of identity (1-1) mapping.\n\nOur P2M tree structure is a three-level. On the leaf nodes\nwe set the Machine Frame Number (MFN) of the PFN. What this means\nis that when one does: pfn_to_mfn(pfn), which is used when creating\nPTE entries, you get the real MFN of the hardware. When Xen sets\nup a guest it initially populates a array which has descending\n(or ascending) MFN values, as so:\n\n idx: 0,  1,       2\n [0x290F, 0x290E, 0x290D, ..]\n\nso pfn_to_mfn(2)\u003d\u003d0x290D. If you start, restart many guests that list\nstarts looking quite random.\n\nWe graft this structure on our P2M tree structure and stick in\nthose MFN in the leafs. But for all other leaf entries, or for the top\nroot, or middle one, for which there is a void entry, we assume it is\n\"missing\". So\n pfn_to_mfn(0xc0000)\u003dINVALID_P2M_ENTRY.\n\nWe add the possibility of setting 1-1 mappings on certain regions, so\nthat:\n pfn_to_mfn(0xc0000)\u003d0xc0000\n\nThe benefit of this is, that we can assume for non-RAM regions (think\nPCI BARs, or ACPI spaces), we can create mappings easily b/c we\nget the PFN value to match the MFN.\n\nFor this to work efficiently we introduce one new page p2m_identity and\nallocate (via reserved_brk) any other pages we need to cover the sides\n(1GB or 4MB boundary violations). All entries in p2m_identity are set to\nINVALID_P2M_ENTRY type (Xen toolstack only recognizes that and MFNs,\nno other fancy value).\n\nOn lookup we spot that the entry points to p2m_identity and return the identity\nvalue instead of dereferencing and returning INVALID_P2M_ENTRY. If the entry\npoints to an allocated page, we just proceed as before and return the PFN.\nIf the PFN has IDENTITY_FRAME_BIT set we unmask that in appropriate functions\n(pfn_to_mfn).\n\nThe reason for having the IDENTITY_FRAME_BIT instead of just returning the\nPFN is that we could find ourselves where pfn_to_mfn(pfn)\u003d\u003dpfn for a\nnon-identity pfn. To protect ourselves against we elect to set (and get) the\nIDENTITY_FRAME_BIT on all identity mapped PFNs.\n\nThis simplistic diagram is used to explain the more subtle piece of code.\nThere is also a digram of the P2M at the end that can help.\nImagine your E820 looking as so:\n\n                   1GB                                           2GB\n/-------------------+---------\\/----\\         /----------\\    /---+-----\\\n| System RAM        | Sys RAM ||ACPI|         | reserved |    | Sys RAM |\n\\-------------------+---------/\\----/         \\----------/    \\---+-----/\n                              ^- 1029MB                       ^- 2001MB\n\n[1029MB \u003d 263424 (0x40500), 2001MB \u003d 512256 (0x7D100), 2048MB \u003d 524288 (0x80000)]\n\nAnd dom0_mem\u003dmax:3GB,1GB is passed in to the guest, meaning memory past 1GB\nis actually not present (would have to kick the balloon driver to put it in).\n\nWhen we are told to set the PFNs for identity mapping (see patch: \"xen/setup:\nSet identity mapping for non-RAM E820 and E820 gaps.\") we pass in the start\nof the PFN and the end PFN (263424 and 512256 respectively). The first step is\nto reserve_brk a top leaf page if the p2m[1] is missing. The top leaf page\ncovers 512^2 of page estate (1GB) and in case the start or end PFN is not\naligned on 512^2*PAGE_SIZE (1GB) we loop on aligned 1GB PFNs from start pfn to\nend pfn.  We reserve_brk top leaf pages if they are missing (means they point\nto p2m_mid_missing).\n\nWith the E820 example above, 263424 is not 1GB aligned so we allocate a\nreserve_brk page which will cover the PFNs estate from 0x40000 to 0x80000.\nEach entry in the allocate page is \"missing\" (points to p2m_missing).\n\nNext stage is to determine if we need to do a more granular boundary check\non the 4MB (or 2MB depending on architecture) off the start and end pfn\u0027s.\nWe check if the start pfn and end pfn violate that boundary check, and if\nso reserve_brk a middle (p2m[x][y]) leaf page. This way we have a much finer\ngranularity of setting which PFNs are missing and which ones are identity.\nIn our example 263424 and 512256 both fail the check so we reserve_brk two\npages. Populate them with INVALID_P2M_ENTRY (so they both have \"missing\" values)\nand assign them to p2m[1][2] and p2m[1][488] respectively.\n\nAt this point we would at minimum reserve_brk one page, but could be up to\nthree. Each call to set_phys_range_identity has at maximum a three page\ncost. If we were to query the P2M at this stage, all those entries from\nstart PFN through end PFN (so 1029MB -\u003e 2001MB) would return INVALID_P2M_ENTRY\n(\"missing\").\n\nThe next step is to walk from the start pfn to the end pfn setting\nthe IDENTITY_FRAME_BIT on each PFN. This is done in \u0027set_phys_range_identity\u0027.\nIf we find that the middle leaf is pointing to p2m_missing we can swap it over\nto p2m_identity - this way covering 4MB (or 2MB) PFN space.  At this point we\ndo not need to worry about boundary aligment (so no need to reserve_brk a middle\npage, figure out which PFNs are \"missing\" and which ones are identity), as that\nhas been done earlier.  If we find that the middle leaf is not occupied by\np2m_identity or p2m_missing, we dereference that page (which covers\n512 PFNs) and set the appropriate PFN with IDENTITY_FRAME_BIT. In our example\n263424 and 512256 end up there, and we set from p2m[1][2][256-\u003e511] and\np2m[1][488][0-\u003e256] with IDENTITY_FRAME_BIT set.\n\nAll other regions that are void (or not filled) either point to p2m_missing\n(considered missing) or have the default value of INVALID_P2M_ENTRY (also\nconsidered missing). In our case, p2m[1][2][0-\u003e255] and p2m[1][488][257-\u003e511]\ncontain the INVALID_P2M_ENTRY value and are considered \"missing.\"\n\nThis is what the p2m ends up looking (for the E820 above) with this\nfabulous drawing:\n\n   p2m         /--------------\\\n /-----\\       | \u0026mfn_list[0],|                           /-----------------\\\n |  0  |------\u003e| \u0026mfn_list[1],|    /---------------\\      | ~0, ~0, ..      |\n |-----|       |  ..., ~0, ~0 |    | ~0, ~0, [x]---+-----\u003e| IDENTITY [@256] |\n |  1  |---\\   \\--------------/    | [p2m_identity]+\\     | IDENTITY [@257] |\n |-----|    \\                      | [p2m_identity]+\\\\    | ....            |\n |  2  |--\\  \\--------------------\u003e|  ...          | \\\\   \\----------------/\n |-----|   \\                       \\---------------/  \\\\\n |  3  |\\   \\                                          \\\\  p2m_identity\n |-----| \\   \\--------------------\u003e/---------------\\   /-----------------\\\n | ..  +-\u003e+                        | [p2m_identity]+--\u003e| ~0, ~0, ~0, ... |\n \\-----/ /                         | [p2m_identity]+--\u003e| ..., ~0         |\n        / /---------------\\        | ....          |   \\-----------------/\n       /  | IDENTITY[@0]  |      /-+-[x], ~0, ~0.. |\n      /   | IDENTITY[@256]|\u003c----/  \\---------------/\n     /    | ~0, ~0, ....  |\n    |     \\---------------/\n    |\n    p2m_missing             p2m_missing\n/------------------\\     /------------\\\n| [p2m_mid_missing]+----\u003e| ~0, ~0, ~0 |\n| [p2m_mid_missing]+----\u003e| ..., ~0    |\n\\------------------/     \\------------/\n\nwhere ~0 is INVALID_P2M_ENTRY. IDENTITY is (PFN | IDENTITY_BIT)\n\nReviewed-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\n[v5: Changed code to use ranges, added ASCII art]\n[v6: Rebased on top of xen-\u003ep2m code split]\n[v4: Squished patches in just this one]\n[v7: Added RESERVE_BRK for potentially allocated pages]\n[v8: Fixed alignment problem]\n[v9: Changed 1\u003c\u003c3X to 1\u003c\u003cBITS_PER_LONG-X]\n[v10: Copied git commit description in the p2m code + Add Review tag]\n[v11: Title had \u00272-1\u0027 - should be \u00271-1\u0027 mapping]\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    }
  ],
  "next": "af794206542e03d62138a107ee0ffb5e7d631881"
}
