)]}'
{
  "log": [
    {
      "commit": "fc82e1d59a24cbac01c49d4eb3b28d6abc26a5f4",
      "tree": "5e01479d69e69dbbe483044b39afd2aa99d4f2b2",
      "parents": [
        "48d5f6731837f0ec9a0e19ca763aa17d58385a98",
        "bea3864fb627d110933cfb8babe048b63c4fc76e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 09:24:44 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 09:24:44 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6: (21 commits)\n  PM / Hibernate: Reduce autotuned default image size\n  PM / Core: Introduce struct syscore_ops for core subsystems PM\n  PM QoS: Make pm_qos settings readable\n  PM / OPP: opp_find_freq_exact() documentation fix\n  PM: Documentation/power/states.txt: fix repetition\n  PM: Make system-wide PM and runtime PM treat subsystems consistently\n  PM: Simplify kernel/power/Kconfig\n  PM: Add support for device power domains\n  PM: Drop pm_flags that is not necessary\n  PM: Allow pm_runtime_suspend() to succeed during system suspend\n  PM: Clean up PM_TRACE dependencies and drop unnecessary Kconfig option\n  PM: Remove CONFIG_PM_OPS\n  PM: Reorder power management Kconfig options\n  PM: Make CONFIG_PM depend on (CONFIG_PM_SLEEP || CONFIG_PM_RUNTIME)\n  PM / ACPI: Remove references to pm_flags from bus.c\n  PM: Do not create wakeup sysfs files for devices that cannot wake up\n  USB / Hub: Do not call device_set_wakeup_capable() under spinlock\n  PM: Use appropriate printk() priority level in trace.c\n  PM / Wakeup: Don\u0027t update events_check_enabled in pm_get_wakeup_count()\n  PM / Wakeup: Make pm_save_wakeup_count() work as documented\n  ...\n"
    },
    {
      "commit": "0f6e0e8448a16d8d22119ce91d8dd24b44865b51",
      "tree": "7c295c02db035fc6a0b867465911a2bc9dc6b1ef",
      "parents": [
        "0d2ecee2bdb2a19d04bc5cefac0f86e790f1aad4",
        "a002951c97ff8da49938c982a4c236bf2fafdc9f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 09:15:43 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 09:15:43 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: (33 commits)\n  AppArmor: kill unused macros in lsm.c\n  AppArmor: cleanup generated files correctly\n  KEYS: Add an iovec version of KEYCTL_INSTANTIATE\n  KEYS: Add a new keyctl op to reject a key with a specified error code\n  KEYS: Add a key type op to permit the key description to be vetted\n  KEYS: Add an RCU payload dereference macro\n  AppArmor: Cleanup make file to remove cruft and make it easier to read\n  SELinux: implement the new sb_remount LSM hook\n  LSM: Pass -o remount options to the LSM\n  SELinux: Compute SID for the newly created socket\n  SELinux: Socket retains creator role and MLS attribute\n  SELinux: Auto-generate security_is_socket_class\n  TOMOYO: Fix memory leak upon file open.\n  Revert \"selinux: simplify ioctl checking\"\n  selinux: drop unused packet flow permissions\n  selinux: Fix packet forwarding checks on postrouting\n  selinux: Fix wrong checks for selinux_policycap_netpeer\n  selinux: Fix check for xfrm selinux context algorithm\n  ima: remove unnecessary call to ima_must_measure\n  IMA: remove IMA imbalance checking\n  ...\n"
    },
    {
      "commit": "26a992dbc24e34cbdd03621d1c97ce571ad74e65",
      "tree": "cbb3171eb715b7c1ed28ed3ca29f1f03165e2faa",
      "parents": [
        "abab012a52237693ae48a655ece30cacb2ce4cf7",
        "7c9e592e1f6a994d2903c9b055e488ec90f58159"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 08:58:09 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 08:58:09 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs: (46 commits)\n  fs/9p: Make the writeback_fid owned by root\n  fs/9p: Writeback dirty data before setattr\n  fs/9p: call vmtruncate before setattr 9p opeation\n  fs/9p: Properly update inode attributes on link\n  fs/9p: Prevent multiple inclusion of same header\n  fs/9p: Workaround vfs rename rehash bug\n  fs/9p: Mark directory inode invalid for many directory inode operations\n  fs/9p: Add . and .. dentry revalidation flag\n  fs/9p: mark inode attribute invalid on rename, unlink and setattr\n  fs/9p: Add support for marking inode attribute invalid\n  fs/9p: Initialize root inode number for dotl\n  fs/9p: Update link count correctly on different file system operations\n  fs/9p: Add drop_inode 9p callback\n  fs/9p: Add direct IO support in cached mode\n  fs/9p: Fix inode i_size update in file_write\n  fs/9p: set default readahead pages in cached mode\n  fs/9p: Move writeback fid to v9fs_inode\n  fs/9p: Add v9fs_inode\n  fs/9p: Don\u0027t set stat.st_blocks based on nrpages\n  fs/9p: Add inode hashing\n  ...\n"
    },
    {
      "commit": "abab012a52237693ae48a655ece30cacb2ce4cf7",
      "tree": "6e687bd30b18ba564c22b41b04a742c4175e7802",
      "parents": [
        "79d8a8f736151b12129984b1250fd708440e742c",
        "50be5e3657cd2851a297dc0b3fd459f25829d29b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 08:57:32 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 08:57:32 2011 -0700"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: (29 commits)\n  ahci: add another PCI ID for marvell\n  libata: Use \u0027bool\u0027 return value for ata_id_XXX\n  sata_fsl: Update RX_WATER_MARK for TRANSCFG\n  sata_fsl: Fix wrong Device Error Register usage\n  libata: Include WWN ID in inquiry VPD emulation\n  ata/pata_arasan_cf: fill dma chan-\u003eprivate from pdata-\u003edma_priv\n  ata: pata: Convert pr_*(DRV_NAME ...) to pr_fmt/pr_\u003clevel\u003e\n  pata_arasan_cf: fix printk format string warning\n  pata_arasan_cf: Adding support for arasan compact flash host controller\n  libata-sff: add ata_sff_queue_work() \u0026 ata_sff_queue_delayed_work()\n  ahci: AHCI mode SATA patch for Intel Patsburg SATA RAID controller\n  ahci: recognize Marvell 88se9125 PCIe SATA 6.0 Gb/s controller\n  libata: remove ATA_FLAG_LPM\n  libata: remove ATA_FLAG_NO_LEGACY\n  libata: remove ATA_FLAG_MMIO\n  libata: remove ATA_FLAG_{SRST|SATA_RESET}\n  ipr/sas_ata: use mode mask macros from \u003clinux/ata.h\u003e\n  sata_dwc_460ex: add debugging options\n  sata_dwc_460ex: fix misuse of ata_get_cmd_descript()\n  sata_dwc_460ex: fix return value of dma_dwc_xfer_setup()\n  ...\n"
    },
    {
      "commit": "79d8a8f736151b12129984b1250fd708440e742c",
      "tree": "f67eebe2bafca8820955ee9f851985a41fb32e66",
      "parents": [
        "bd2895eeade5f11f3e5906283c630bbdb4b57454",
        "b9ec40af0e18fb7d02106be148036c2ea490fdf9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 08:22:41 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 08:22:41 2011 -0700"
      },
      "message": "Merge branch \u0027for-2.6.39\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu\n\n* \u0027for-2.6.39\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:\n  percpu, x86: Add arch-specific this_cpu_cmpxchg_double() support\n  percpu: Generic support for this_cpu_cmpxchg_double()\n  alpha: use L1_CACHE_BYTES for cacheline size in the linker script\n  percpu: align percpu readmostly subsection to cacheline\n\nFix up trivial conflict in arch/x86/kernel/vmlinux.lds.S due to the\npercpu alignment having changed (\"x86: Reduce back the alignment of the\nper-CPU data section\")\n"
    },
    {
      "commit": "bd2895eeade5f11f3e5906283c630bbdb4b57454",
      "tree": "4d98f4fcd80c7d062afce28823d08aee53e66f82",
      "parents": [
        "016aa2ed1cc9cf704cf76d8df07751b6daa9750f",
        "24d51add7438f9696a7205927bf9de3c5c787a58"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 08:20:19 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 08:20:19 2011 -0700"
      },
      "message": "Merge branch \u0027for-2.6.39\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\n* \u0027for-2.6.39\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:\n  workqueue: fix build failure introduced by s/freezeable/freezable/\n  workqueue: add system_freezeable_wq\n  rds/ib: use system_wq instead of rds_ib_fmr_wq\n  net/9p: replace p9_poll_task with a work\n  net/9p: use system_wq instead of p9_mux_wq\n  xfs: convert to alloc_workqueue()\n  reiserfs: make commit_wq use the default concurrency level\n  ocfs2: use system_wq instead of ocfs2_quota_wq\n  ext4: convert to alloc_workqueue()\n  scsi/scsi_tgt_lib: scsi_tgtd isn\u0027t used in memory reclaim path\n  scsi/be2iscsi,qla2xxx: convert to alloc_workqueue()\n  misc/iwmc3200top: use system_wq instead of dedicated workqueues\n  i2o: use alloc_workqueue() instead of create_workqueue()\n  acpi: kacpi*_wq don\u0027t need WQ_MEM_RECLAIM\n  fs/aio: aio_wq isn\u0027t used in memory reclaim path\n  input/tps6507x-ts: use system_wq instead of dedicated workqueue\n  cpufreq: use system_wq instead of dedicated workqueues\n  wireless/ipw2x00: use system_wq instead of dedicated workqueues\n  arm/omap: use system_wq in mailbox\n  workqueue: use WQ_MEM_RECLAIM instead of WQ_RESCUER\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": "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": "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": "a002951c97ff8da49938c982a4c236bf2fafdc9f",
      "tree": "d43e7885ea7376df0a47a0fc8ceca66dc5bfa357",
      "parents": [
        "521cb40b0c44418a4fd36dc633f575813d59a43d",
        "c151694b2c48d956ac8c8c59c6927f89cc29ef70"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Wed Mar 16 09:41:17 2011 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Wed Mar 16 09:41:17 2011 +1100"
      },
      "message": "Merge branch \u0027next\u0027 into for-linus\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": "c0aa4caf4c8b87fa85c67538974a14b07e81a23f",
      "tree": "2b7f98d7cbdcc0b2ab4498ba327d9c05094195d3",
      "parents": [
        "db5841d4a505d1ecb087dc37462926a80511ae8b"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Feb 28 17:03:59 2011 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Tue Mar 15 09:57:38 2011 -0500"
      },
      "message": "net/9p: Implement syncfs 9P operation\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "f735195d51e10b2550097f7b0ac12219060e962b",
      "tree": "96e752ebf09cad819b9f5dcb178fc016a4dfdd86",
      "parents": [
        "ca41bb3e21d7b3cb2079e225e3a7e62e6c776518"
      ],
      "author": {
        "name": "Venkateswararao Jujjuri (JV)",
        "email": "jvrao@linux.vnet.ibm.com",
        "time": "Wed Feb 16 12:54:22 2011 -0800"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Tue Mar 15 09:57:36 2011 -0500"
      },
      "message": "[net/9p] Small non-IO PDUs for zero-copy supporting transports.\n\nIf a transport prefers payload to be sent separate from the PDU\n(P9_TRANS_PREF_PAYLOAD_SEP), there is no need to allocate msize\nPDU buffers(struct p9_fcall).\n\nThis patch allocates only upto 4k buffers for this kind of transports\nand there won\u0027t be any change to the legacy transports.\n\nHence, this patch on top of zero copy changes allows user to\nspecify higher msizes through the mount option\nwithout hogging the kernel heap.\n\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "6f69c395cefb26ebba2c9bb725296a3a4a9200ec",
      "tree": "7012a54d7bef23aef8a14b938d329d87609d8937",
      "parents": [
        "4038866dab4e461e0ef144458bad9d70ce0c98c1"
      ],
      "author": {
        "name": "Venkateswararao Jujjuri (JV)",
        "email": "jvrao@linux.vnet.ibm.com",
        "time": "Sun Feb 06 12:08:01 2011 -0800"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Tue Mar 15 09:57:35 2011 -0500"
      },
      "message": "[net/9p] Add preferences to transport layer.\n\nThis patch adds preferences field to the p9_trans_module.\nThrough this, now transport layer can express its preference about the\npayload. i.e if payload neds to be part of the PDU or it prefers it\nto be sent sepearetly so that the transport layer can handle it in\na better way.\n\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "022cae36551ba805bf82084047945b2901d75f36",
      "tree": "5d8a8ff0eb2102d0449f58ddfcb8907bd3625682",
      "parents": [
        "6752a1ebd13f69b9d5ff08914fe29ee2813cbeea"
      ],
      "author": {
        "name": "Venkateswararao Jujjuri (JV)",
        "email": "jvrao@linux.vnet.ibm.com",
        "time": "Fri Jan 28 14:11:13 2011 -0800"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Tue Mar 15 09:57:34 2011 -0500"
      },
      "message": "[net/9p] Preparation and helper functions for zero copy\n\nThis patch prepares p9_fcall structure for zero copy. Added\nfields send the payload buffer information to the transport layer.\nIn addition it adds a \u0027private\u0027 field for the transport layer to\nstore mapped/pinned page information so that it can be freed/unpinned\nduring req_done.\n\nThis patch also creates trans_common.[ch] to house helper functions.\nIt adds the following helper functions.\n\np9_release_req_pages - Release pages after the transaction.\np9_nr_pages - Return number of pages needed to accomodate the payload.\npayload_gup - Translates user buffer into kernel pages.\n\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\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": "4dce8ba94c751dd25f1d9b2d35c04312b046e5d6",
      "tree": "58f79870815f08108ce0199a938bffba81a6234b",
      "parents": [
        "578ca87c9d18d344b449a8eefee40c10e4fc319f"
      ],
      "author": {
        "name": "Hannes Reinecke",
        "email": "hare@suse.de",
        "time": "Mon Mar 14 08:54:20 2011 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Mar 15 02:42:32 2011 -0400"
      },
      "message": "libata: Use \u0027bool\u0027 return value for ata_id_XXX\n\nMost ata_id_XXX inlines are simple tests, so we should set\nthe return value to \u0027bool\u0027 here.\n\nSigned-off-by: Hannes Reinecke \u003chare@suse.de\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\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": "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": "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": "40dc166cb5dddbd36aa4ad11c03915ea538f5a61",
      "tree": "0a778159cf89ddee9e7d3134ae40569bdccd2a24",
      "parents": [
        "f9b9e806ae0ede772cbb9916d9ac7354a123d044"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Mar 15 00:43:46 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Mar 15 00:43:46 2011 +0100"
      },
      "message": "PM / Core: Introduce struct syscore_ops for core subsystems PM\n\nSome subsystems need to carry out suspend/resume and shutdown\noperations with one CPU on-line and interrupts disabled.  The only\nway to register such operations is to define a sysdev class and\na sysdev specifically for this purpose which is cumbersome and\ninefficient.  Moreover, the arguments taken by sysdev suspend,\nresume and shutdown callbacks are practically never necessary.\n\nFor this reason, introduce a simpler interface allowing subsystems\nto register operations to be executed very late during system suspend\nand shutdown and very early during resume in the form of\nstrcut syscore_ops objects.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "7538e3db6e015e890825fbd9f8659952896ddd5b",
      "tree": "01a6d8c97599474d9c5fc1ed0eb6f0addaec5652",
      "parents": [
        "6831c6edc7b272a08dd2a6c71bb183a48fe98ae6"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Feb 16 21:53:17 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Mar 15 00:43:16 2011 +0100"
      },
      "message": "PM: Add support for device power domains\n\nThe platform bus type is often used to handle Systems-on-a-Chip (SoC)\nwhere all devices are represented by objects of type struct\nplatform_device.  In those cases the same \"platform\" device driver\nmay be used with multiple different system configurations, but the\nactions needed to put the devices it handles into a low-power state\nand back into the full-power state may depend on the design of the\ngiven SoC.  The driver, however, cannot possibly include all the\ninformation necessary for the power management of its device on all\nthe systems it is used with.  Moreover, the device hierarchy in its\ncurrent form also is not suitable for representing this kind of\ninformation.\n\nThe patch below attempts to address this problem by introducing\nobjects of type struct dev_power_domain that can be used for\nrepresenting power domains within a SoC.  Every struct\ndev_power_domain object provides a sets of device power\nmanagement callbacks that can be used to perform what\u0027s needed for\ndevice power management in addition to the operations carried out by\nthe device\u0027s driver and subsystem.\n\nNamely, if a struct dev_power_domain object is pointed to by the\npwr_domain field in a struct device, the callbacks provided by its\nops member will be executed in addition to the corresponding\ncallbacks provided by the device\u0027s subsystem and driver during all\npower transitions.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nTested-and-acked-by: Kevin Hilman \u003ckhilman@ti.com\u003e\n"
    },
    {
      "commit": "6831c6edc7b272a08dd2a6c71bb183a48fe98ae6",
      "tree": "fc3ef253f12bd9f2d211271c09a5475ed19b18b0",
      "parents": [
        "e8665002477f0278f84f898145b1f141ba26ee26"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Feb 15 21:22:24 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Mar 15 00:43:16 2011 +0100"
      },
      "message": "PM: Drop pm_flags that is not necessary\n\nThe variable pm_flags is used to prevent APM from being enabled\nalong with ACPI, which would lead to problems.  However, acpi_init()\nis always called before apm_init() and after acpi_init() has\nreturned, it is known whether or not ACPI will be used.  Namely, if\nacpi_disabled is not set after acpi_init() has returned, this means\nthat ACPI is enabled.  Thus, it is sufficient to check acpi_disabled\nin apm_init() to prevent APM from being enabled in parallel with\nACPI.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "aa33860158114d0df3c7997bc1dd41c0168e1c2a",
      "tree": "a1ae98c42232835780618b0a5dea78c5478ed58c",
      "parents": [
        "196ec243224bb38fc5c41d9fa4050f70708b7fb4"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Feb 11 00:06:54 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Mar 15 00:43:15 2011 +0100"
      },
      "message": "PM: Remove CONFIG_PM_OPS\n\nAfter redefining CONFIG_PM to depend on (CONFIG_PM_SLEEP ||\nCONFIG_PM_RUNTIME) the CONFIG_PM_OPS option is redundant and can be\nreplaced with CONFIG_PM.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "cd51e61cf4e8b220da37dc35e9c2dc2dc258b4de",
      "tree": "f2cb7a54e59b0bc238ac14f226214e0fc0817891",
      "parents": [
        "cb8f51bdadb7969139c2e39c2defd4cde98c1ea8"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Feb 11 00:04:52 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Mar 15 00:43:15 2011 +0100"
      },
      "message": "PM / ACPI: Remove references to pm_flags from bus.c\n\nIf direct references to pm_flags are removed from drivers/acpi/bus.c,\nCONFIG_ACPI will not need to depend on CONFIG_PM any more.  Make that\nhappen.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "cb8f51bdadb7969139c2e39c2defd4cde98c1ea8",
      "tree": "a6d6e20878460d50b8f61d5fe3237818c54065eb",
      "parents": [
        "4681b17154b3fd81f898802262985f662344e6ed"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Feb 08 23:26:02 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Mar 15 00:43:14 2011 +0100"
      },
      "message": "PM: Do not create wakeup sysfs files for devices that cannot wake up\n\nCurrently, wakeup sysfs attributes are created for all devices,\nregardless of whether or not they are wakeup-capable.  This is\nexcessive and complicates wakeup device identification from user\nspace (i.e. to identify wakeup-capable devices user space has to read\n/sys/devices/.../power/wakeup for all devices and see if they are not\nempty).\n\nFix this issue by avoiding to create wakeup sysfs files for devices\nthat cannot wake up the system from sleep states (i.e. whose\npower.can_wakeup flags are unset during registration) and modify\ndevice_set_wakeup_capable() so that it adds (or removes) the relevant\nsysfs attributes if a device\u0027s wakeup capability status is changed.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\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": "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": "5fe0c2378884e68beb532f5890cc0e3539ac747b",
      "tree": "be25414052184e146049ea6466854366559d5528",
      "parents": [
        "c8b91accfa1059d5565443193d89572eca2f5dd6"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Sat Jan 29 18:43:25 2011 +0530"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Mar 14 09:15:28 2011 -0400"
      },
      "message": "exportfs: Return the minimum required handle size\n\nThe exportfs encode handle function should return the minimum required\nhandle size. This helps user to find out the handle size by passing 0\nhandle size in the first step and then redoing to the call again with\nthe returned handle size value.\n\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\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": "c8b91accfa1059d5565443193d89572eca2f5dd6",
      "tree": "74f6061a20accac87a5f349ae8a34c4815cde88d",
      "parents": [
        "73d049a40fc6269189c4e2ba6792cb5dd054883c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 12 10:41:39 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Mar 14 09:15:28 2011 -0400"
      },
      "message": "clean statfs-like syscalls up\n\nNew helpers: user_statfs() and fd_statfs(), taking userland pathname and\ndescriptor resp. and filling struct kstatfs.  Syscalls of statfs family\n(native, compat and foreign - osf and hpux on alpha and parisc resp.)\nswitched to those.  Removes some boilerplate code, simplifies cleanup\non errors...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "73d049a40fc6269189c4e2ba6792cb5dd054883c",
      "tree": "a713747cd06926ad89bfa9b36ea13dd20bbc507f",
      "parents": [
        "5b6ca027d85b7438c84b78a54ccdc2e53f2909cd"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Mar 11 12:08:24 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Mar 14 09:15:28 2011 -0400"
      },
      "message": "open-style analog of vfs_path_lookup()\n\nnew function: file_open_root(dentry, mnt, name, flags) opens the file\nvfs_path_lookup would arrive to.\n\nNote that name can be empty; in that case the usual requirement that\ndentry should be a directory is lifted.\n\nopen-coded equivalents switched to it, may_open() got down exactly\none caller and became static.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "5b6ca027d85b7438c84b78a54ccdc2e53f2909cd",
      "tree": "e35b870101fbc6a2ea6e0399429d9c23707697f3",
      "parents": [
        "5a18fff2090c3af830d699c8ccb230498a1e37e5"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Mar 09 23:04:47 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Mar 14 09:15:27 2011 -0400"
      },
      "message": "reduce vfs_path_lookup() to do_path_lookup()\n\nNew lookup flag: LOOKUP_ROOT.  nd-\u003eroot is set (and held) by caller,\npath_init() starts walking from that place and all pathname resolution\nmachinery never drops nd-\u003eroot if that flag is set.  That turns\nvfs_path_lookup() into a special case of do_path_lookup() *and*\ngets us down to 3 callers of link_path_walk(), making it finally\nfeasible to rip the handling of trailing symlink out of link_path_walk().\nThat will not only simply the living hell out of it, but make life\nmuch simpler for unionfs merge.  Trailing symlink handling will\nbecome iterative, which is a good thing for stack footprint in\na lot of situations as well.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "70e9b3571107b88674cd55ae4bed33f76261e7d3",
      "tree": "a22a2cd29b3075ddb9fed4305fd0ff88c07d5963",
      "parents": [
        "951361f954596bd134d4270df834f47d151f98a6"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 05 21:12:22 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Mar 14 09:15:26 2011 -0400"
      },
      "message": "get rid of nd-\u003efile\n\nDon\u0027t stash the struct file * used as starting point of walk in nameidata;\npass file ** to path_init() instead.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "47c805dc2d2dff686962f5f0baa6bac2d703ba19",
      "tree": "b596e0a1aadb1550ef2099df95832196cd0eeda1",
      "parents": [
        "c3e380b0b3cfa613189fb91513efd88a65e1d9d8"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Feb 23 17:44:09 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Mar 14 09:15:25 2011 -0400"
      },
      "message": "switch do_filp_open() to struct open_flags\n\ntake calculation of open_flags by open(2) arguments into new helper\nin fs/open.c, move filp_open() over there, have it and do_sys_open()\nuse that helper, switch exec.c callers of do_filp_open() to explicit\n(and constant) struct open_flags.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "16c2cd7179881d5dd87779512ca5a0d657c64f62",
      "tree": "822d14ecf505cb3f53e2afe3e1e7867bb32ca346",
      "parents": [
        "fe479a580dc9c737c4eb49ff7fdb31d41d2c7003"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Feb 22 15:50:10 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Mar 14 09:15:24 2011 -0400"
      },
      "message": "untangle the \"need_reval_dot\" mess\n\ninstead of ad-hackery around need_reval_dot(), do the following:\nset a flag (LOOKUP_JUMPED) in the beginning of path, on absolute\nsymlink traversal, on \"..\" and on procfs-style symlinks.  Clear on\nnormal components, leave unchanged on \".\".  Non-nested callers of\nlink_path_walk() call handle_reval_path(), which checks that flag\nis set and that fs does want the final revalidate thing, then does\n-\u003ed_revalidate().  In link_path_walk() all the return_reval stuff\nis gone.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c9c6cac0c2bdbda42e7b804838648d0bc60ddb13",
      "tree": "c2d9b41eb24026d6769175e9ba3c17c8093b6aad",
      "parents": [
        "15a9155fe3e8215c02b80df51ec2cac7c0d726ad"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Feb 16 15:15:47 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Mar 14 09:15:23 2011 -0400"
      },
      "message": "kill path_lookup()\n\nall remaining callers pass LOOKUP_PARENT to it, so\nflags argument can die; renamed to kern_path_parent()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6b3b9d73e08d8939aaf54f85bb47495171f49e20",
      "tree": "585aa0ee0cee78b1fb773073712bae5fd2467d72",
      "parents": [
        "60a230e4a62be6837335911b09101bd8aeb7c95a"
      ],
      "author": {
        "name": "Hannes Reinecke",
        "email": "hare@suse.de",
        "time": "Mon Mar 07 08:56:44 2011 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Mon Mar 14 02:59:37 2011 -0400"
      },
      "message": "libata: Include WWN ID in inquiry VPD emulation\n\nAs per SAT-3 the WWN ID should be included in the VPD page 0x83\n(device identification) emulation.\n\nSigned-off-by: Hannes Reinecke \u003chare@suse.de\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "60a230e4a62be6837335911b09101bd8aeb7c95a",
      "tree": "81eaf5ffaef68320dbbdd62bec7142f603609420",
      "parents": [
        "8d7b1c70b3c1aac4b63109f5c73f732f1d63fad6"
      ],
      "author": {
        "name": "Viresh Kumar",
        "email": "viresh.kumar@st.com",
        "time": "Fri Mar 04 16:39:29 2011 +0530"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Mon Mar 14 02:58:03 2011 -0400"
      },
      "message": "ata/pata_arasan_cf: fill dma chan-\u003eprivate from pdata-\u003edma_priv\n\nSome DMA controllers (eg: drivers/dma/dw_dmac*) allow platform specific\nconfiguration for dma transfers. User drivers need to set chan-\u003eprivate field\nof channel with pointer to configuration data. This patch takes dma_priv data\nfrom platform data and passes it to chan-\u003eprivate_data, in order to pass\nplatform specific configuration to DMAC controller.\n\nSigned-off-by: Viresh Kumar \u003cviresh.kumar@st.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "a480167b23ef9b35ec0299bb3e1b11b4ed6b3508",
      "tree": "a445375d94ce680339b88365e0b2d1c3945492d9",
      "parents": [
        "64b97594251bb909d74d64012a2b9e5cc32bb11d"
      ],
      "author": {
        "name": "Viresh Kumar",
        "email": "viresh.kumar@st.com",
        "time": "Tue Feb 22 15:46:07 2011 +0530"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Mon Mar 14 02:52:46 2011 -0400"
      },
      "message": "pata_arasan_cf: Adding support for arasan compact flash host controller\n\nThe Arasan CompactFlash Device Controller has three basic modes of\noperation: PC card ATA using I/O mode, PC card ATA using memory mode, PC card\nATA using true IDE modes.\n\nCurrently driver supports only True IDE mode.\n\nSigned-off-by: Viresh Kumar \u003cviresh.kumar@st.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "64b97594251bb909d74d64012a2b9e5cc32bb11d",
      "tree": "c1b857de305f0fc403efaab8b17ddf1711010656",
      "parents": [
        "64a3903d0885879ba8706a8bcf71c5e3e7664db2"
      ],
      "author": {
        "name": "Viresh Kumar",
        "email": "viresh.kumar@st.com",
        "time": "Tue Feb 22 14:32:38 2011 +0530"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Mon Mar 14 02:52:41 2011 -0400"
      },
      "message": "libata-sff: add ata_sff_queue_work() \u0026 ata_sff_queue_delayed_work()\n\nThis patch adds ata_sff_queue_work() \u0026 ata_sff_queue_delayed_work() routine in\nlibata-sff.c file. This routine can be used by ata drivers to use ata_sff_wq.\n\nSigned-off-by: Viresh Kumar \u003cviresh.kumar@st.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "eebea5d13d391981061d6ef069a841002eba4a7a",
      "tree": "aa4e9feb10e365b7ce0c635532d4545a89d33591",
      "parents": [
        "7840fea200cd1ad93ed19853a83752a21f691326",
        "52208ae3fc60cbcb214c10fb8b82304199e2cc3a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 13 16:00:28 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 13 16:00:28 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6:\n  [SCSI] target: Fix t_transport_aborted handling in LUN_RESET + active I/O shutdown\n"
    },
    {
      "commit": "c1c5e4d463f844e5d44cafab752049267c102ca3",
      "tree": "c3adcef156731dba704ec05505df9200569e8987",
      "parents": [
        "cfe08bba1e0017d94a8f738a195d3a2b479327e3",
        "d209a699a0b975ad47f399d70ddc3791f1b84496"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Mar 12 13:23:37 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Mar 12 13:23:40 2011 +0100"
      },
      "message": "Merge branch \u0027irq/core\u0027 into x86/irq\n\nReason: Enabling irq threads and update to latest genirq functionality\n\trequires the core code\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "995612178c88407d8330f580ba6572cb8b284dd8",
      "tree": "ea19d21342814758a729ba931180146422393d15",
      "parents": [
        "8d7718aa082aaf30a0b4989e1f04858952f941bc",
        "6d55da53db3d9b911f69f2ce1e5fb8943eafe057"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Mar 12 11:37:14 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Mar 12 11:43:32 2011 +0100"
      },
      "message": "Merge branch \u0027tip/futex/devel\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-rt into core/futexes\n\n futex,plist: Pass the real head of the priority list to plist_del()\n futex,plist: Remove debug lock assignment from plist_node\n plist: Shrink struct plist_head\n plist: Add priority list test\n"
    },
    {
      "commit": "d209a699a0b975ad47f399d70ddc3791f1b84496",
      "tree": "225ee2dd5e51acc769cd272ce86d36405e933ed2",
      "parents": [
        "d9936bb3952a08d701f7b03f8f62d158f94d8085"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Mar 11 21:22:14 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Mar 12 11:12:58 2011 +0100"
      },
      "message": "genirq: Add chip flag to force mask on suspend\n\nOn suspend we disable all interrupts in the core code, but this does\nnot mask the interrupt line in the default implementation as we use a\nlazy disable approach. That means we mark the interrupt disabled, but\nleave the hardware unmasked. That\u0027s an optimization because we avoid\nthe hardware access for the common case where no interrupt happens\nafter we marked it disabled. If an interrupt happens, then the\ninterrupt flow handler masks the line at the hardware level and marks\nit pending.\n\nSuspend makes use of this delayed disable as it \"disables\" all\ninterrupts when preparing the suspend transition. Right before the\nsystem goes into hardware suspend state it checks whether one of the\ninterrupts which is marked as a wakeup interrupt came in after\ndisabling it.\n\nMost interrupt chips have a separate register which selects the\ninterrupts which can wake up the system from suspend, so we don\u0027t have\nto mask any on the non wakeup interrupts.\n\nBut now we have to deal with brilliant designed hardware which lacks\nsuch a wakeup configuration facility. For such hardware it\u0027s necessary\nto mask all non wakeup interrupts before going into suspend in order\nto avoid the wakeup from random interrupts.\n\nRather than working around this in the affected interrupt chip\nimplementations we can solve this elegant in the core code itself.\n\nAdd a flag IRQCHIP_MASK_ON_SUSPEND which can be set by the irq chip\nimplementation to indicate, that the interrupts which are not selected\nas wakeup sources must be masked in the suspend path. Mask them in the\nloop which checks the wakeup interrupts pending flag.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReviewed-by: Abhijeet Dharmapurikar \u003cadharmap@codeaurora.org\u003e\nLKML-Reference: \u003calpine.LFD.2.00.1103112112310.2787@localhost6.localdomain6\u003e\n\n"
    },
    {
      "commit": "0400a6b0cb756f976bae32ae8db47bfa9853897c",
      "tree": "ec1393f7e5eeec02a0cc4504d98a138ae458f443",
      "parents": [
        "c34c32ea97718bb24fc06158733580003ba89211"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Mar 09 16:00:53 2011 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 11 15:18:22 2011 -0500"
      },
      "message": "NFSv4/4.1: Fix nfs4_schedule_state_recovery abuses\n\nnfs4_schedule_state_recovery() should only be used when we need to force\nthe state manager to check the lease. If we just want to start the\nstate manager in order to handle a state recovery situation, we should be\nusing nfs4_schedule_state_manager().\n\nThis patch fixes the abuses of nfs4_schedule_state_recovery() by replacing\nits use with a set of helper functions that do the right thing.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bf6a9b8336ba12672755c2ae898b0abe42c7a5ac",
      "tree": "c85f2b2acac9bf9b88e0c19d90d252b1780e0d35",
      "parents": [
        "017f2b239dabb2740b91df162e004371b861f371"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Tue Dec 21 17:55:14 2010 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 11 15:13:26 2011 -0500"
      },
      "message": "plist: Shrink struct plist_head\n\nstruct plist_head is used in struct task_struct as well as struct\nrtmutex. If we can make it smaller, it will also make these structures\nsmaller as well.\n\nThe field prio_list in struct plist_head is seldom used and we can get\nits information from the plist_nodes. Removing this field will decrease\nthe size of plist_head by half.\n\nSigned-off-by:  Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4D107982.9090700@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "d9936bb3952a08d701f7b03f8f62d158f94d8085",
      "tree": "6d6e5f45fd36340a4027d8e866a8f7ec9eaac881",
      "parents": [
        "c68fd4f3ca90de7d18c567e70b2c164078aefadf"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Mar 11 14:15:35 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Mar 11 14:15:35 2011 +0100"
      },
      "message": "genirq: Add desc-\u003eirq_data accessor\n\nWe have accessors for all fields in irq_data based on irq_desc, but\nnot for irq_data itself.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "8d7718aa082aaf30a0b4989e1f04858952f941bc",
      "tree": "f006a565d138cec2b497c2bd619f570ad1a11f6e",
      "parents": [
        "37a9d912b24f96a0591773e6e6c3642991ae5a70"
      ],
      "author": {
        "name": "Michel Lespinasse",
        "email": "walken@google.com",
        "time": "Thu Mar 10 18:50:58 2011 -0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Mar 11 12:23:31 2011 +0100"
      },
      "message": "futex: Sanitize futex ops argument types\n\nChange futex_atomic_op_inuser and futex_atomic_cmpxchg_inatomic\nprototypes to use u32 types for the futex as this is the data type the\nfutex core code uses all over the place.\n\nSigned-off-by: Michel Lespinasse \u003cwalken@google.com\u003e\nCc: Darren Hart \u003cdarren@dvhart.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\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLKML-Reference: \u003c20110311025058.GD26122@google.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "37a9d912b24f96a0591773e6e6c3642991ae5a70",
      "tree": "5c4d5b9a52e2c533269e589115afbd25b6c8534b",
      "parents": [
        "522d7decc0370070448a8c28982c8dfd8970489e"
      ],
      "author": {
        "name": "Michel Lespinasse",
        "email": "walken@google.com",
        "time": "Thu Mar 10 18:48:51 2011 -0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Mar 11 12:23:08 2011 +0100"
      },
      "message": "futex: Sanitize cmpxchg_futex_value_locked API\n\nThe cmpxchg_futex_value_locked API was funny in that it returned either\nthe original, user-exposed futex value OR an error code such as -EFAULT.\nThis was confusing at best, and could be a source of livelocks in places\nthat retry the cmpxchg_futex_value_locked after trying to fix the issue\nby running fault_in_user_writeable().\n    \nThis change makes the cmpxchg_futex_value_locked API more similar to the\nget_futex_value_locked one, returning an error code and updating the\noriginal value through a reference argument.\n    \nSigned-off-by: Michel Lespinasse \u003cwalken@google.com\u003e\nAcked-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e  [tile]\nAcked-by: Tony Luck \u003ctony.luck@intel.com\u003e  [ia64]\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nTested-by: Michal Simek \u003cmonstr@monstr.eu\u003e  [microblaze]\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e [frv]\nCc: Darren Hart \u003cdarren@dvhart.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: 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: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLKML-Reference: \u003c20110311024851.GC26122@google.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "114f64b5f24abac33a42f4f1856eb3a9766d497e",
      "tree": "a3f5129bec4e2d7cf2afa0848798a5e74f422a3e",
      "parents": [
        "7d6d63d6427090cbb1d282364b65b12634ca59bd"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Mar 09 13:13:45 2011 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 10 15:05:00 2011 -0500"
      },
      "message": "NFSv4: remove duplicate clientid in struct nfs_client\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bf294b41cefcb22fc3139e0f42c5b3f06728bd5e",
      "tree": "250251c040a2d2e278b5a2ddd03c8d20a27be129",
      "parents": [
        "214d93b02c4fe93638ad268613c9702a81ed9192"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 21 11:05:41 2011 -0800"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 10 15:04:52 2011 -0500"
      },
      "message": "SUNRPC: Close a race in __rpc_wait_for_completion_task()\n\nAlthough they run as rpciod background tasks, under normal operation\n(i.e. no SIGKILL), functions like nfs_sillyrename(), nfs4_proc_unlck()\nand nfs4_do_close() want to be fully synchronous. This means that when we\nexit, we want all references to the rpc_task to be gone, and we want\nany dentry references etc. held by that task to be released.\n\nFor this reason these functions call __rpc_wait_for_completion_task(),\nfollowed by rpc_put_task() in the expectation that the latter will be\nreleasing the last reference to the rpc_task, and thus ensuring that the\ncallback_ops-\u003erpc_release() has been called synchronously.\n\nThis patch fixes a race which exists due to the fact that\nrpciod calls rpc_complete_task() (in order to wake up the callers of\n__rpc_wait_for_completion_task()) and then subsequently calls\nrpc_put_task() without ensuring that these two steps are done atomically.\n\nIn order to avoid adding new spin locks, the patch uses the existing\nwaitqueue spin lock to order the rpc_task reference count releases between\nthe waiting process and rpciod.\nThe common case where nobody is waiting for completion is optimised for by\nchecking if the RPC_TASK_ASYNC flag is cleared and/or if the rpc_task\nreference count is 1: in those cases we drop trying to grab the spin lock,\nand immediately free up the rpc_task.\n\nThose few processes that need to put the rpc_task from inside an\nasynchronous context and that do not care about ordering are given a new\nhelper: rpc_put_task_async().\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "71eef7d1e3d9df760897fdd2cad6949a8bcf1620",
      "tree": "b9c2a91248e58618eada7e120023fb641dcb719b",
      "parents": [
        "ca1d8fe9521fb67c95cfa736c08f4bbbc282b5bd"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "Ian.Campbell@citrix.com",
        "time": "Fri Feb 18 17:06:55 2011 +0000"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu Mar 10 14:44:45 2011 -0500"
      },
      "message": "xen: events: remove dom0 specific xen_create_msi_irq\n\nThe function name does not distinguish it from xen_allocate_pirq_msi\n(which operates on domU and pvhvm domains rather than dom0).\n\nHoist domain 0 specific functionality up into the only caller leaving\nfunctionality common to all guest types in xen_bind_pirq_msi_to_irq.\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "ca1d8fe9521fb67c95cfa736c08f4bbbc282b5bd",
      "tree": "48b7664b99186bdd29399a5818d348df4f78221d",
      "parents": [
        "f420e010edd84eb2c237fc87b7451e69740fed46"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "ian.campbell@citrix.com",
        "time": "Fri Feb 18 16:43:36 2011 +0000"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu Mar 10 14:44:44 2011 -0500"
      },
      "message": "xen: events: use xen_bind_pirq_msi_to_irq from xen_create_msi_irq\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "bf480d952bcf25e8ff7e95d2a23964107513ac51",
      "tree": "b2d1a75e39bfdf82021ccdefb5f9613a17087040",
      "parents": [
        "5cad61a6ba6f4956a218ffbb64cafcc1daefaca0"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "ian.campbell@citrix.com",
        "time": "Fri Feb 18 16:43:32 2011 +0000"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu Mar 10 14:44:40 2011 -0500"
      },
      "message": "xen: events: separate MSI PIRQ allocation from PIRQ binding to IRQ\n\nSplit the binding aspect of xen_allocate_pirq_msi out into a new\nxen_bind_pirq_to_irq function.\n\nIn xen_hvm_setup_msi_irq when allocating a pirq write the MSI message\nto signal the PIRQ as soon as the pirq is obtained. There is no way to\nfree the pirq back so if the subsequent binding to an IRQ fails we\nwant to ensure that we will reuse the PIRQ next time rather than leak\nit.\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "4b41df7f6e0b5684378d9155773c42a4577e8582",
      "tree": "9ef8bf6d42bb2c04d2a7a9ef3f0c7dd1f9b4861d",
      "parents": [
        "bb5d079aefa828c292c267ed34ed2282947fa233"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "ian.campbell@citrix.com",
        "time": "Fri Feb 18 16:43:29 2011 +0000"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu Mar 10 14:44:37 2011 -0500"
      },
      "message": "xen: events: return irq from xen_allocate_pirq_msi\n\nconsistent with other similar functions.\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "bb5d079aefa828c292c267ed34ed2282947fa233",
      "tree": "0af32e6cec25bb2dc7e220e3f50ef7e7d288e83f",
      "parents": [
        "ae1635b05fae30804061406010914d85d12431ac"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "ian.campbell@citrix.com",
        "time": "Fri Feb 18 16:43:28 2011 +0000"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu Mar 10 14:44:35 2011 -0500"
      },
      "message": "xen: events: drop XEN_ALLOC_IRQ flag to xen_allocate_pirq_msi\n\nAll callers pass this flag so it is pointless.\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "8054c3634cb3cb9d426c8ade934389213b857858",
      "tree": "30d4de58cdd6be0924bd96dde2de2a826bf27099",
      "parents": [
        "f5412be599602124d2bdd49947b231dd77c0bf99",
        "1aa0b51a033d4a1ec6d29d06487e053398afa21b"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu Mar 10 14:41:43 2011 -0500"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu Mar 10 14:41:43 2011 -0500"
      },
      "message": "Merge branch \u0027stable/irq.rework\u0027 into stable/irq.cleanup\n\n* stable/irq.rework:\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"
    },
    {
      "commit": "53370d2e8c0382e3e2aa76def93365ed674e7fc7",
      "tree": "531ed0d50c452332f5bc1b7d75539f24f532c326",
      "parents": [
        "5cd10e7946d28cfc42442fee2e6c757e244d756e"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Mar 10 18:26:33 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Mar 10 19:15:58 2011 +0100"
      },
      "message": "hrtimer: Update hrtimer-\u003estate documentation\n\nWe changed some of the state bits and combinations thereof over time,\nbut never updated the documentation.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "ca9da2dd63b0b32de1b693953dff66cadeb6400b",
      "tree": "0a2fe573eb42e0eefe78c3fc4c52fee896969ce9",
      "parents": [
        "ad440ad66f1617194738bf674dfe2d38978ac54d"
      ],
      "author": {
        "name": "David Sharp",
        "email": "dhsharp@google.com",
        "time": "Fri Dec 03 16:13:23 2010 -0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Mar 10 10:34:31 2011 -0500"
      },
      "message": "tracing: Fix event alignment: skb:kfree_skb\n\nAcked-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: David Sharp \u003cdhsharp@google.com\u003e\nLKML-Reference: \u003c1291421609-14665-10-git-send-email-dhsharp@google.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "ad440ad66f1617194738bf674dfe2d38978ac54d",
      "tree": "af708601527c581ff2890a537e48793c31538f71",
      "parents": [
        "d5bf2ff07230a4a1b73ecb22363f77c02e1d85ab"
      ],
      "author": {
        "name": "David Sharp",
        "email": "dhsharp@google.com",
        "time": "Fri Dec 03 16:13:22 2010 -0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Mar 10 10:34:28 2011 -0500"
      },
      "message": "tracing: Fix event alignment: mce:mce_record\n\nSigned-off-by: David Sharp \u003cdhsharp@google.com\u003e\nLKML-Reference: \u003c1291421609-14665-9-git-send-email-dhsharp@google.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "b5e3008e489f5a00c6d5db914a4c4338c9ef5e8b",
      "tree": "94d4798d5d1dec33ae6d4b6b159e42be8c8c0e7f",
      "parents": [
        "140e4f2d1cd816aed196705c036763313c0e4bd3"
      ],
      "author": {
        "name": "David Sharp",
        "email": "dhsharp@google.com",
        "time": "Fri Dec 03 16:13:20 2010 -0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Mar 10 10:34:20 2011 -0500"
      },
      "message": "tracing: Fix event alignment: module:module_request\n\nAcked-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: David Sharp \u003cdhsharp@google.com\u003e\nLKML-Reference: \u003c1291421609-14665-7-git-send-email-dhsharp@google.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "e6e1e2593592a8f6f6380496655d8c6f67431266",
      "tree": "00ef843b23fac5ab6be92725ce5b01487f555997",
      "parents": [
        "de29be5e712dc8b7eef2bef9417af3bb6a88e47a"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 09 10:41:56 2011 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Mar 10 10:31:48 2011 -0500"
      },
      "message": "tracing: Remove lock_depth from event entry\n\nThe lock_depth field in the event headers was added as a temporary\ndata point for help in removing the BKL. Now that the BKL is pretty\nmuch been removed, we can remove this field.\n\nThis in turn changes the header from 12 bytes to 8 bytes,\nremoving the 4 byte buffer that gcc would insert if the first field\nin the data load was 8 bytes in size.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "ab02a9540541dd7b2012f32f5e311c3cbd772387",
      "tree": "47b2795e160b0f095840ded0bb7f4c7af237eb41",
      "parents": [
        "684adca4f84365ca327e06dba696b62de7a79eca",
        "8909c9ad8ff03611c9c96c9a92656213e4bb495b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 09 16:45:02 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 09 16:45:02 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6:\n  net: don\u0027t allow CAP_NET_ADMIN to load non-netdev kernel modules\n"
    },
    {
      "commit": "684adca4f84365ca327e06dba696b62de7a79eca",
      "tree": "a6ca09edf0ab8c99158cc25a94c2cbbe34916c5a",
      "parents": [
        "3979491701cfb2aa7477f5baf40553355391418b"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Thu Mar 10 11:14:17 2011 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 09 16:43:24 2011 -0800"
      },
      "message": "sysctl: the include of rcupdate.h is only needed in the kernel\n\nFixes this build-check error:\n\n  include/linux/sysctl.h:28: included file \u0027linux/rcupdate.h\u0027 is not exported\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8909c9ad8ff03611c9c96c9a92656213e4bb495b",
      "tree": "10b023c05503a9f6a165a23b8e65d8f3e70fd42d",
      "parents": [
        "a5abba989deceb731047425812d268daf7536575"
      ],
      "author": {
        "name": "Vasiliy Kulikov",
        "email": "segoon@openwall.com",
        "time": "Wed Mar 02 00:33:13 2011 +0300"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Mar 10 10:25:19 2011 +1100"
      },
      "message": "net: don\u0027t allow CAP_NET_ADMIN to load non-netdev kernel modules\n\nSince a8f80e8ff94ecba629542d9b4b5f5a8ee3eb565c any process with\nCAP_NET_ADMIN may load any module from /lib/modules/.  This doesn\u0027t mean\nthat CAP_NET_ADMIN is a superset of CAP_SYS_MODULE as modules are\nlimited to /lib/modules/**.  However, CAP_NET_ADMIN capability shouldn\u0027t\nallow anybody load any module not related to networking.\n\nThis patch restricts an ability of autoloading modules to netdev modules\nwith explicit aliases.  This fixes CVE-2011-1019.\n\nArnd Bergmann suggested to leave untouched the old pre-v2.6.32 behavior\nof loading netdev modules by name (without any prefix) for processes\nwith CAP_SYS_MODULE to maintain the compatibility with network scripts\nthat use autoloading netdev modules by aliases like \"eth0\", \"wlan0\".\n\nCurrently there are only three users of the feature in the upstream\nkernel: ipip, ip_gre and sit.\n\n    root@albatros:~# capsh --drop\u003d$(seq -s, 0 11),$(seq -s, 13 34) --\n    root@albatros:~# grep Cap /proc/$$/status\n    CapInh:\t0000000000000000\n    CapPrm:\tfffffff800001000\n    CapEff:\tfffffff800001000\n    CapBnd:\tfffffff800001000\n    root@albatros:~# modprobe xfs\n    FATAL: Error inserting xfs\n    (/lib/modules/2.6.38-rc6-00001-g2bf4ca3/kernel/fs/xfs/xfs.ko): Operation not permitted\n    root@albatros:~# lsmod | grep xfs\n    root@albatros:~# ifconfig xfs\n    xfs: error fetching interface information: Device not found\n    root@albatros:~# lsmod | grep xfs\n    root@albatros:~# lsmod | grep sit\n    root@albatros:~# ifconfig sit\n    sit: error fetching interface information: Device not found\n    root@albatros:~# lsmod | grep sit\n    root@albatros:~# ifconfig sit0\n    sit0      Link encap:IPv6-in-IPv4\n\t      NOARP  MTU:1480  Metric:1\n\n    root@albatros:~# lsmod | grep sit\n    sit                    10457  0\n    tunnel4                 2957  1 sit\n\nFor CAP_SYS_MODULE module loading is still relaxed:\n\n    root@albatros:~# grep Cap /proc/$$/status\n    CapInh:\t0000000000000000\n    CapPrm:\tffffffffffffffff\n    CapEff:\tffffffffffffffff\n    CapBnd:\tffffffffffffffff\n    root@albatros:~# ifconfig xfs\n    xfs: error fetching interface information: Device not found\n    root@albatros:~# lsmod | grep xfs\n    xfs                   745319  0\n\nReference: https://lkml.org/lkml/2011/2/24/203\n\nSigned-off-by: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nSigned-off-by: Michael Tokarev \u003cmjt@tls.msk.ru\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Kees Cook \u003ckees.cook@canonical.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "78833dd70602be6b71ef34225f708b1e500947dc",
      "tree": "807050f760ccc7305b194d7568ebf98737076a40",
      "parents": [
        "a5abba989deceb731047425812d268daf7536575",
        "b306419ae08d9def53f2142a37cc0a58622307a8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 09 13:55:51 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 09 13:55:51 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  nd-\u003einode is not set on the second attempt in path_walk()\n  unfuck proc_sysctl -\u003ed_compare()\n  minimal fix for do_filp_open() race\n"
    },
    {
      "commit": "51ba60c5bb3b0f71bee26404ddc22d8e4109e88a",
      "tree": "27465aa6427981e542df0a9822ae634fe225a838",
      "parents": [
        "696160fec162601d06940862b5b3aa4460344c1b"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Feb 03 12:13:50 2011 -0800"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Wed Mar 09 11:23:37 2011 -0800"
      },
      "message": "RTC: Cleanup rtc_class_ops-\u003eupdate_irq_enable()\n\nNow that the generic code handles UIE mode irqs via periodic\nalarm interrupts, no one calls the\nrtc_class_ops-\u003eupdate_irq_enable() method anymore.\n\nThis patch removes the driver hooks and implementations of\nupdate_irq_enable if no one else is calling it.\n\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCC: Marcelo Roberto Jimenez \u003cmroberto@cpti.cetuc.puc-rio.br\u003e\nCC: rtc-linux@googlegroups.com\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "696160fec162601d06940862b5b3aa4460344c1b",
      "tree": "63c5d1d87f140b6a989256727b62071dd19d894b",
      "parents": [
        "80d4bb515b78f38738f3378fd1be6039063ab040"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Feb 03 12:02:07 2011 -0800"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Wed Mar 09 11:23:35 2011 -0800"
      },
      "message": "RTC: Cleanup rtc_class_ops-\u003eirq_set_freq()\n\nWith the generic rtc code now emulating PIE mode irqs via an\nhrtimer, no one calls the rtc_class_ops-\u003eirq_set_freq call.\n\nThis patch removes the hook and deletes the driver functions\nif no one else calls them.\n\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCC: Marcelo Roberto Jimenez \u003cmroberto@cpti.cetuc.puc-rio.br\u003e\nCC: rtc-linux@googlegroups.com\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "80d4bb515b78f38738f3378fd1be6039063ab040",
      "tree": "92e3f938097fa9f8de5c80886b1d0d724cb37b47",
      "parents": [
        "f44f7f96a20af16f6f12e1c995576d6becf5f57b"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Feb 03 11:34:50 2011 -0800"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Wed Mar 09 11:23:34 2011 -0800"
      },
      "message": "RTC: Cleanup rtc_class_ops-\u003eirq_set_state\n\nWith PIE mode interrupts now emulated in generic code via an hrtimer,\nno one calls rtc_class_ops-\u003eirq_set_state(), so this patch removes it\nalong with driver implementations.\n\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCC: Marcelo Roberto Jimenez \u003cmroberto@cpti.cetuc.puc-rio.br\u003e\nCC: rtc-linux@googlegroups.com\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "f44f7f96a20af16f6f12e1c995576d6becf5f57b",
      "tree": "bbe0b8bec5defed39fade13c79a1cb19b74fb6e3",
      "parents": [
        "a5abba989deceb731047425812d268daf7536575"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon Feb 21 22:58:51 2011 -0800"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Wed Mar 09 11:22:50 2011 -0800"
      },
      "message": "RTC: Initialize kernel state from RTC\n\nMark Brown pointed out a corner case: that RTC alarms should\nbe allowed to be persistent across reboots if the hardware\nsupported it.\n\nThe rework of the generic layer to virtualize the RTC alarm\nvirtualized much of the alarm handling, and removed the\ncode used to read the alarm time from the hardware.\n\nMark noted if we want the alarm to be persistent across\nreboots, we need to re-read the alarm value into the\nvirtualized generic layer at boot up, so that the generic\nlayer properly exposes that value.\n\nThis patch restores much of the earlier removed\nrtc_read_alarm code and wires it in so that we\nset the kernel\u0027s alarm value to what we find in the\nhardware at boot time.\n\nNOTE: Not all hardware supports persistent RTC alarm state across\nsystem reset. rtc-cmos for example will keep the alarm time, but\ndisables the AIE mode irq. Applications should not expect the RTC\nalarm to be valid after a system reset. We will preserve what\nwe can, to represent the hardware state at boot, but its not\nguarenteed.\n\nFurther, in the future, with multiplexed RTC alarms, the\nsoonest alarm to fire may not be the one set via the /dev/rt\nioctls. So an application may set the alarm with RTC_ALM_SET,\nbut after a reset find that RTC_ALM_READ returns an earlier\ntime. Again, we preserve what we can, but applications should\nnot expect the RTC alarm state to persist across a system reset.\n\nBig thanks to Mark for pointing out the issue!\nThanks also to Marcelo for helping think through the solution.\n\nCC: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nCC: Marcelo Roberto Jimenez \u003cmroberto@cpti.cetuc.puc-rio.br\u003e\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCC: rtc-linux@googlegroups.com\nReported-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "750912fa366312e9c5bc83eab352898a26750401",
      "tree": "bb8e5cd1444a74ea283e3fa55607225e7fda4d70",
      "parents": [
        "2a8247a2600c3e087a568fc68a6ec4eedac27ef1"
      ],
      "author": {
        "name": "David Sharp",
        "email": "dhsharp@google.com",
        "time": "Wed Dec 08 13:46:47 2010 -0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Mar 09 13:52:27 2011 -0500"
      },
      "message": "tracing: Add an \u0027overwrite\u0027 trace_option.\n\nAdd an \"overwrite\" trace_option for ftrace to control whether the buffer should\nbe overwritten on overflow or not. The default remains to overwrite old events\nwhen the buffer is full. This patch adds the option to instead discard newest\nevents when the buffer is full. This is useful to get a snapshot of traces just\nafter enabling traces. Dropping the current event is also a simpler code path.\n\nSigned-off-by: David Sharp \u003cdhsharp@google.com\u003e\nLKML-Reference: \u003c1291844807-15481-1-git-send-email-dhsharp@google.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "51de69523ffe1c17994dc2f260369f29dfdce71c",
      "tree": "8e118a1c94cf6aec4cf4a42d0510f85b6a2b669a",
      "parents": [
        "c56eb8fb6dccb83d9fe62fd4dc00c834de9bc470"
      ],
      "author": {
        "name": "Owen Smith",
        "email": "owen.smith@citrix.com",
        "time": "Wed Dec 22 15:05:00 2010 +0000"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Tue Mar 08 15:07:00 2011 -0500"
      },
      "message": "xen: Union the blkif_request request specific fields\n\nPrepare for extending the block device ring to allow request\nspecific fields, by moving the request specific fields for\nreads, writes and barrier requests to a union member.\n\nAcked-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\nSigned-off-by: Owen Smith \u003cowen.smith@citrix.com\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "ea7145477a461e09d8d194cac4b996dc4f449107",
      "tree": "aa45594b6303b854f5fa85f82ba5dca01e0aa8ac",
      "parents": [
        "86cb2ec7b22a0a89b8660110dc03321fadbef45f"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Mon Mar 07 19:10:39 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 08 17:22:11 2011 +0100"
      },
      "message": "x86: Separate out entry text section\n\nPut x86 entry code into a separate link section: .entry.text.\n\nSeparating the entry text section seems to have performance\nbenefits - caused by more efficient instruction cache usage.\n\nRunning hackbench with perf stat --repeat showed that the change\ncompresses the icache footprint. The icache load miss rate went\ndown by about 15%:\n\n before patch:\n         19417627  L1-icache-load-misses      ( +-   0.147% )\n\n after patch:\n         16490788  L1-icache-load-misses      ( +-   0.180% )\n\nThe motivation of the patch was to fix a particular kprobes\nbug that relates to the entry text section, the performance\nadvantage was discovered accidentally.\n\nWhole perf output follows:\n\n - results for current tip tree:\n\n  Performance counter stats for \u0027./hackbench/hackbench 10\u0027 (500 runs):\n\n         19417627  L1-icache-load-misses      ( +-   0.147% )\n       2676914223  instructions             #      0.497 IPC     ( +- 0.079% )\n       5389516026  cycles                     ( +-   0.144% )\n\n      0.206267711  seconds time elapsed   ( +-   0.138% )\n\n - results for current tip tree with the patch applied:\n\n  Performance counter stats for \u0027./hackbench/hackbench 10\u0027 (500 runs):\n\n         16490788  L1-icache-load-misses      ( +-   0.180% )\n       2717734941  instructions             #      0.502 IPC     ( +- 0.079% )\n       5414756975  cycles                     ( +-   0.148% )\n\n      0.206747566  seconds time elapsed   ( +-   0.137% )\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: masami.hiramatsu.pt@hitachi.com\nCc: ananth@in.ibm.com\nCc: davem@davemloft.net\nCc: 2nddept-manager@sdl.hitachi.co.jp\nLKML-Reference: \u003c20110307181039.GB15197@jolsa.redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "86cb2ec7b22a0a89b8660110dc03321fadbef45f",
      "tree": "c4162b0ab7c4e3602e2b7a6a6fd47c55c3315fea",
      "parents": [
        "7f0030b211579939461468f25b80c73e293c46e0",
        "a5abba989deceb731047425812d268daf7536575"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 08 17:21:49 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 08 17:21:52 2011 +0100"
      },
      "message": "Merge commit \u0027v2.6.38-rc8\u0027 into perf/core\n\nMerge reason: Merge latest fixes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "997772884036e6e121de39322179989154437d9f",
      "tree": "618ef63c45e16892ea26a99cafef6b0442e8eca1",
      "parents": [
        "a5abba989deceb731047425812d268daf7536575"
      ],
      "author": {
        "name": "Stanislaw Gruszka",
        "email": "sgruszka@redhat.com",
        "time": "Mon Mar 07 09:58:33 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 08 16:10:38 2011 +0100"
      },
      "message": "debugobjects: Add hint for better object identification\n\nIn complex subsystems like mac80211 structures can contain several\ntimers and work structs, so identifying a specific instance from the\ncall trace and object type output of debugobjects can be hard.\n\nAllow the subsystems which support debugobjects to provide a hint\nfunction. This function returns a pointer to a kernel address\n(preferrably the objects callback function) which is printed along\nwith the debugobjects type.\n\nAdd hint methods for timer_list, work_struct and hrtimer.\n\n[ tglx: Massaged changelog, made it compile ]\n\nSigned-off-by: Stanislaw Gruszka \u003csgruszka@redhat.com\u003e\nLKML-Reference: \u003c20110307085809.GA9334@redhat.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "dfef6dcd35cb4a251f6322ca9b2c06f0bb1aa1f4",
      "tree": "65e8a25d4ed913658db35c4b97ab0a021c2124eb",
      "parents": [
        "1858efd471624ecb37e6b5462cab8076f47d1cee"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 08 01:25:28 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 08 02:22:27 2011 -0500"
      },
      "message": "unfuck proc_sysctl -\u003ed_compare()\n\na) struct inode is not going to be freed under -\u003ed_compare();\nhowever, the thing PROC_I(inode)-\u003esysctl points to just might.\nFortunately, it\u0027s enough to make freeing that sucker delayed,\nprovided that we don\u0027t step on its -\u003eunregistering, clear\nthe pointer to it in PROC_I(inode) before dropping the reference\nand check if it\u0027s NULL in -\u003ed_compare().\n\nb) I\u0027m not sure that we *can* walk into NULL inode here (we recheck\ndentry-\u003eseq between verifying that it\u0027s still hashed / fetching\ndentry-\u003ed_inode and passing it to -\u003ed_compare() and there\u0027s no\nnegative hashed dentries in /proc/sys/*), but if we can walk into\nthat, we really should not have -\u003ed_compare() return 0 on it!\nSaid that, I really suspect that this check can be simply killed.\nNick?\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "fe3fa43039d47ee4e22caf460b79b62a14937f79",
      "tree": "9eab8d00f1227b9fe0959f32a62d892ed35803ba",
      "parents": [
        "ee009e4a0d4555ed522a631bae9896399674f064",
        "026eb167ae77244458fa4b4b9fc171209c079ba7"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Mar 08 11:38:10 2011 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Mar 08 11:38:10 2011 +1100"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.infradead.org/users/eparis/selinux into next\n"
    },
    {
      "commit": "ee009e4a0d4555ed522a631bae9896399674f064",
      "tree": "ee309fb4a98d9e7792cec99935c2d33652b3f440",
      "parents": [
        "fdd1b94581782a2ddf9124414e5b7a5f48ce2f9c"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Mon Mar 07 15:06:20 2011 +0000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Mar 08 11:17:22 2011 +1100"
      },
      "message": "KEYS: Add an iovec version of KEYCTL_INSTANTIATE\n\nAdd a keyctl op (KEYCTL_INSTANTIATE_IOV) that is like KEYCTL_INSTANTIATE, but\ntakes an iovec array and concatenates the data in-kernel into one buffer.\nSince the KEYCTL_INSTANTIATE copies the data anyway, this isn\u0027t too much of a\nproblem.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "fdd1b94581782a2ddf9124414e5b7a5f48ce2f9c",
      "tree": "ce83bfd1f0b1a7d4b9521bdb3d6afef1bff1d4f2",
      "parents": [
        "b9fffa3877a3ebbe0a5ad5a247358e2f7df15b24"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Mon Mar 07 15:06:09 2011 +0000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Mar 08 11:17:18 2011 +1100"
      },
      "message": "KEYS: Add a new keyctl op to reject a key with a specified error code\n\nAdd a new keyctl op to reject a key with a specified error code.  This works\nmuch the same as negating a key, and so keyctl_negate_key() is made a special\ncase of keyctl_reject_key().  The difference is that keyctl_negate_key()\nselects ENOKEY as the error to be reported.\n\nTypically the key would be rejected with EKEYEXPIRED, EKEYREVOKED or\nEKEYREJECTED, but this is not mandatory.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "b9fffa3877a3ebbe0a5ad5a247358e2f7df15b24",
      "tree": "0f58a92c2616b3663f88935290d32a4c90d57025",
      "parents": [
        "633e804e89464d3875e59de1959a53f9041d3094"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Mon Mar 07 15:05:59 2011 +0000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Mar 08 11:17:15 2011 +1100"
      },
      "message": "KEYS: Add a key type op to permit the key description to be vetted\n\nAdd a key type operation to permit the key type to vet the description of a new\nkey that key_alloc() is about to allocate.  The operation may reject the\ndescription if it wishes with an error of its choosing.  If it does this, the\nkey will not be allocated.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nReviewed-by: Mimi Zohar \u003czohar@us.ibm.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "633e804e89464d3875e59de1959a53f9041d3094",
      "tree": "0a2464267c5f7a4e8166771fdc88e181a5b6219a",
      "parents": [
        "1cc26bada9f6807814806db2f0d78792eecdac71"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Mon Mar 07 15:05:51 2011 +0000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Mar 08 11:17:11 2011 +1100"
      },
      "message": "KEYS: Add an RCU payload dereference macro\n\nAdd an RCU payload dereference macro as this seems to be a common piece of code\namongst key types that use RCU referenced payloads.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Mimi Zohar \u003czohar@us.ibm.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "1cc26bada9f6807814806db2f0d78792eecdac71",
      "tree": "5509b5139db04af6c13db0a580c84116a4a54039",
      "parents": [
        "eae61f3c829439f8f9121b5cd48a14be04df451f",
        "214d93b02c4fe93638ad268613c9702a81ed9192"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Mar 08 10:55:06 2011 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Mar 08 10:55:06 2011 +1100"
      },
      "message": "Merge branch \u0027master\u0027; commit \u0027v2.6.38-rc7\u0027 into next\n"
    },
    {
      "commit": "fb62c00a6d8942775abc23d1621db1252e2d93d1",
      "tree": "ef8760123f5a2b692126ecb7a70f2689053885c1",
      "parents": [
        "5c4b4be3b6b937256103a5ae49177e0c3a17cb8f",
        "455cec0abff563574cca432ced49f734117ca113"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 05 10:43:22 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 05 10:43:22 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:\n  ceph: no .snap inside of snapped namespace\n  libceph: fix msgr standby handling\n  libceph: fix msgr keepalive flag\n  libceph: fix msgr backoff\n  libceph: retry after authorization failure\n  libceph: fix handling of short returns from get_user_pages\n  ceph: do not clear I_COMPLETE from d_release\n  ceph: do not set I_COMPLETE\n  Revert \"ceph: keep reference to parent inode on ceph_dentry\"\n"
    },
    {
      "commit": "236344d6b417d05a3080477639234fd9ca97568d",
      "tree": "bebda56cddb3dc7ce6f73091383ac857606a5f11",
      "parents": [
        "2f5f9486f8c12e3aa40fe3775a18cb14efc5cea2"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@linux.intel.com",
        "time": "Fri Mar 04 17:36:30 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 04 17:53:39 2011 -0800"
      },
      "message": "mm: add alloc_page_vma_node()\n\nAdd a alloc_page_vma_node that allows passing the \"local\" node in.  Used\nin a followon patch.\n\nAcked-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2f5f9486f8c12e3aa40fe3775a18cb14efc5cea2",
      "tree": "362c21544db1bc65ffb65abf9f2b41b63621a124",
      "parents": [
        "b8bc1dd39722f7c306435d0682e9bf81abf52105"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@linux.intel.com",
        "time": "Fri Mar 04 17:36:29 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 04 17:53:39 2011 -0800"
      },
      "message": "mm: change alloc_pages_vma to pass down the policy node for local policy\n\nCurrently alloc_pages_vma() always uses the local node as policy node for\nthe LOCAL policy.  Pass this node down as an argument instead.\n\nNo behaviour change from this patch, but will be needed for followons.\n\nAcked-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e76661d0a59e53e5cc4dccbe4b755d1dc8a968ec",
      "tree": "371ed08c5d00dbcdcf6f18e5cf36d798bcc51180",
      "parents": [
        "60bf8bf8815e6adea4c1d0423578c3b8000e2ec8"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Mar 03 10:10:15 2011 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Mar 04 12:24:31 2011 -0800"
      },
      "message": "libceph: fix msgr keepalive flag\n\nThere was some broken keepalive code using a dead variable.  Shift to using\nthe proper bit flag.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "60bf8bf8815e6adea4c1d0423578c3b8000e2ec8",
      "tree": "ce7140c32a3f177816f4029a88eb99e15bda6943",
      "parents": [
        "692d20f576fb26f62c83f80dbf3ea899998391b7"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Mar 04 12:24:28 2011 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Mar 04 12:24:28 2011 -0800"
      },
      "message": "libceph: fix msgr backoff\n\nWith commit f363e45f we replaced a bunch of hacky workqueue mutual\nexclusion logic with the WQ_NON_REENTRANT flag.  One pieces of fallout is\nthat the exponential backoff breaks in certain cases:\n\n * con_work attempts to connect.\n * we get an immediate failure, and the socket state change handler queues\n   immediate work.\n * con_work calls con_fault, we decide to back off, but can\u0027t queue delayed\n   work.\n\nIn this case, we add a BACKOFF bit to make con_work reschedule delayed work\nnext time it runs (which should be immediately).\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    }
  ],
  "next": "e3e89cc535223433a619d0969db3fa05cdd946b8"
}
