)]}'
{
  "log": [
    {
      "commit": "5df15196a2bbf16ca4c6a797ec00ff36d0d5c179",
      "tree": "1ce28e0a92ef00a926ff98b81dff6cfd78831a61",
      "parents": [
        "c6d2d445d8dee04cde47eb4021636399a4239e9f"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Sun Dec 26 10:22:22 2010 +0100"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Thu Jan 13 12:05:11 2011 +0100"
      },
      "message": "netfilter: xt_comment: drop unneeded unsigned qualifier\n\nSince a string is stored, and not something like a MAC address that\nwould rely on (un)signedness, drop the qualifier.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "fee1cc0895fd7bde875a86bbc3a1e82089e540b8",
      "tree": "df0a07a650229fd7aa775ca6c20a8d2939c96e72",
      "parents": [
        "ae90bdeaeac6b964b7a1e853a90a19f358a9ac20",
        "0c21e3aaf6ae85bee804a325aa29c325209180fd"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Thu Jan 13 10:29:21 2011 +0900"
      },
      "committer": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Thu Jan 13 10:29:21 2011 +0900"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 into HEAD\n"
    },
    {
      "commit": "021db8e2bde53024a163fb4417a185de46fe77aa",
      "tree": "098a28bd2414ea2622493a1736a677dab5085dfc",
      "parents": [
        "72eb6a791459c87a0340318840bb3bd9252b627b",
        "07fe0351702b6f0c9749e80cdbcb758686b0fe9b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 17:08:46 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 17:08:46 2011 -0800"
      },
      "message": "Merge branch \u0027next-spi\u0027 of git://git.secretlab.ca/git/linux-2.6\n\n* \u0027next-spi\u0027 of git://git.secretlab.ca/git/linux-2.6: (77 commits)\n  spi/omap: Fix DMA API usage in OMAP MCSPI driver\n  spi/imx: correct the test on platform_get_irq() return value\n  spi/topcliff: Typo fix threhold to threshold\n  spi/dw_spi Typo change diable to disable.\n  spi/fsl_espi: change the read behaviour of the SPIRF\n  spi/mpc52xx-psc-spi: move probe/remove to proper sections\n  spi/dw_spi: add DMA support\n  spi/dw_spi: change to EXPORT_SYMBOL_GPL for exported APIs\n  spi/dw_spi: Fix too short timeout in spi polling loop\n  spi/pl022: convert running variable\n  spi/pl022: convert busy flag to a bool\n  spi/pl022: pass the returned sglen to the DMA engine\n  spi/pl022: map the buffers on the DMA engine\n  spi/topcliff_pch: Fix data transfer issue\n  spi/imx: remove autodetection\n  spi/pxa2xx: pass of_node to spi device and set a parent device\n  spi/pxa2xx: Modify RX-Tresh instead of busy-loop for the remaining RX bytes.\n  spi/pxa2xx: Add chipselect support for Sodaville\n  spi/pxa2xx: Consider CE4100\u0027s FIFO depth\n  spi/pxa2xx: Add CE4100 support\n  ...\n"
    },
    {
      "commit": "72eb6a791459c87a0340318840bb3bd9252b627b",
      "tree": "3bfb8ad99f9c7e511f37f72d57b56a2cea06d753",
      "parents": [
        "23d69b09b78c4876e134f104a3814c30747c53f1",
        "55ee4ef30241a62b700f79517e6d5ef2ddbefa67"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 17:02:58 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 17:02:58 2011 -0800"
      },
      "message": "Merge branch \u0027for-2.6.38\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu\n\n* \u0027for-2.6.38\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: (30 commits)\n  gameport: use this_cpu_read instead of lookup\n  x86: udelay: Use this_cpu_read to avoid address calculation\n  x86: Use this_cpu_inc_return for nmi counter\n  x86: Replace uses of current_cpu_data with this_cpu ops\n  x86: Use this_cpu_ops to optimize code\n  vmstat: User per cpu atomics to avoid interrupt disable / enable\n  irq_work: Use per cpu atomics instead of regular atomics\n  cpuops: Use cmpxchg for xchg to avoid lock semantics\n  x86: this_cpu_cmpxchg and this_cpu_xchg operations\n  percpu: Generic this_cpu_cmpxchg() and this_cpu_xchg support\n  percpu,x86: relocate this_cpu_add_return() and friends\n  connector: Use this_cpu operations\n  xen: Use this_cpu_inc_return\n  taskstats: Use this_cpu_ops\n  random: Use this_cpu_inc_return\n  fs: Use this_cpu_inc_return in buffer.c\n  highmem: Use this_cpu_xx_return() operations\n  vmstat: Use this_cpu_inc_return for vm statistics\n  x86: Support for this_cpu_add, sub, dec, inc_return\n  percpu: Generic support for this_cpu_add, sub, dec, inc_return\n  ...\n\nFixed up conflicts: in arch/x86/kernel/{apic/nmi.c, apic/x2apic_uv_x.c, process.c}\nas per Tejun.\n"
    },
    {
      "commit": "23d69b09b78c4876e134f104a3814c30747c53f1",
      "tree": "40744de4f4126c21027ce537264524095e0e7979",
      "parents": [
        "e744070fd4ff9d3114277e52d77afa21579adce2",
        "569ff2de2e1c8ac67c8df3a7367d46d0d9460a35"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 16:58:04 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 16:58:04 2011 -0800"
      },
      "message": "Merge branch \u0027for-2.6.38\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\n* \u0027for-2.6.38\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: (33 commits)\n  usb: don\u0027t use flush_scheduled_work()\n  speedtch: don\u0027t abuse struct delayed_work\n  media/video: don\u0027t use flush_scheduled_work()\n  media/video: explicitly flush request_module work\n  ioc4: use static work_struct for ioc4_load_modules()\n  init: don\u0027t call flush_scheduled_work() from do_initcalls()\n  s390: don\u0027t use flush_scheduled_work()\n  rtc: don\u0027t use flush_scheduled_work()\n  mmc: update workqueue usages\n  mfd: update workqueue usages\n  dvb: don\u0027t use flush_scheduled_work()\n  leds-wm8350: don\u0027t use flush_scheduled_work()\n  mISDN: don\u0027t use flush_scheduled_work()\n  macintosh/ams: don\u0027t use flush_scheduled_work()\n  vmwgfx: don\u0027t use flush_scheduled_work()\n  tpm: don\u0027t use flush_scheduled_work()\n  sonypi: don\u0027t use flush_scheduled_work()\n  hvsi: don\u0027t use flush_scheduled_work()\n  xen: don\u0027t use flush_scheduled_work()\n  gdrom: don\u0027t use flush_scheduled_work()\n  ...\n\nFixed up trivial conflict in drivers/media/video/bt8xx/bttv-input.c\nas per Tejun.\n"
    },
    {
      "commit": "e744070fd4ff9d3114277e52d77afa21579adce2",
      "tree": "5f397c684c61a50bd47014abfe685fd6c3d09d8c",
      "parents": [
        "d004e4d3322340b6433caaef4a47ab8c933afb70",
        "c9b5f501ef1580faa30c40c644b7691870462201"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 14:55:48 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 14:55:48 2011 -0800"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: Constify function scope static struct sched_param usage\n  sched: Fix strncmp operation\n  sched: Move sched_autogroup_exit() to free_signal_struct()\n  sched: Fix struct autogroup memory leak\n  sched: Mark autogroup_init() __init\n  sched: Consolidate the name of root_task_group and init_task_group\n"
    },
    {
      "commit": "d074b104cefcb6e8ded55a53e62fed59a246f55d",
      "tree": "8c5b3a3992c5abab8b41b6e1f2837bc46f82b207",
      "parents": [
        "31b6ca0af758a88e5e769b48cc6dde037ee37b96",
        "c413521eb4e2d7ffd5ce432a144708d479054bd3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 14:50:14 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 14:50:14 2011 -0800"
      },
      "message": "Merge branch \u0027rmobile-latest\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6\n\n* \u0027rmobile-latest\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (67 commits)\n  ARM: mach-shmobile: update for SMP changes.\n  ARM: mach-shmobile: update for GIC changes.\n  ARM: mach-shmobile: Fix up clkdev fallout for SH73A0.\n  dma: shdma: don\u0027t register the global die notifier multiple times\n  ARM: mach-shmobile: Rely on run-time IRQ handlers\n  ARM: mach-shmobile: Run-time IRQ handler for GIC\n  ARM: mach-shmobile: Run-time IRQ handler for INTCA\n  ARM: mach-shmobile: Enable CONFIG_MULTI_IRQ_HANDLER\n  ARM: mach-shmobile: Use shared GIC entry macros\n  ARM: mach-shmobile: mackerel: Add zboot support\n  ARM: mach-shmobile: mackerel: Add HDMI sound support\n  ARM: mach-shmobile: mackerel: add HDMI video support\n  ARM: mach-shmobile: ap4evb: fixup clk_put timing of fsib_clk\n  ARM: mach-shmobile: sh73a0: fix div4 table\n  ARM: mach-shmobile: ap4/mackerel: modify wrong comment out of USB\n  ARM: mach-shmobile: Mackerel VGA camera support\n  mmc: sh_mmcif: make DMA support by the driver unconditional\n  ARM: mach-shmobile: Add eMMC support through MMCIF on AG5EVM\n  ARM: mach-shmobile: Use pullups for AG5EVM KEYSC pins\n  ARM: mach-shmobile: sh73a0 GPIO pullup improvement\n  ...\n"
    },
    {
      "commit": "31b6ca0af758a88e5e769b48cc6dde037ee37b96",
      "tree": "e1968d7168affb25e33e2be2d1d102f94af98af0",
      "parents": [
        "56b85f32d530d09d6805488ad00775d4e0e3baab",
        "554738da71004d96e06fb75f4772dfc3b0f47810"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 14:45:47 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 14:45:47 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (58 commits)\n  Input: wacom_w8001 - support pen or touch only devices\n  Input: wacom_w8001 - use __set_bit to set keybits\n  Input: bu21013_ts - fix misuse of logical operation in place of bitop\n  Input: i8042 - add Acer Aspire 5100 to the Dritek list\n  Input: wacom - add support for digitizer in Lenovo W700\n  Input: psmouse - disable the synaptics extension on OLPC machines\n  Input: psmouse - fix up Synaptics comment\n  Input: synaptics - ignore bogus mt packet\n  Input: synaptics - add multi-finger and semi-mt support\n  Input: synaptics - report clickpad property\n  input: mt: Document interface updates\n  Input: fix double equality sign in uevent\n  Input: introduce device properties\n  hid: egalax: Add support for Wetab (726b)\n  Input: include MT library as source for kerneldoc\n  MAINTAINERS: Update input-mt entry\n  hid: egalax: Add support for Samsung NB30 netbook\n  hid: egalax: Document the new devices in Kconfig\n  hid: egalax: Add support for Wetab\n  hid: egalax: Convert to MT slots\n  ...\n\nFixed up trivial conflict in drivers/input/keyboard/Kconfig\n"
    },
    {
      "commit": "56b85f32d530d09d6805488ad00775d4e0e3baab",
      "tree": "e7fbe69e338ef775d3b2dd822aa915d259b4bc94",
      "parents": [
        "3e5b08cbbf78bedd316904ab0cf3b27119433ee5",
        "568389c257fa7d74ce36c2f78bad31965fded4cf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 14:39:20 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 14:39:20 2011 -0800"
      },
      "message": "Merge branch \u0027tty-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6\n\n* \u0027tty-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6: (36 commits)\n  serial: apbuart: Fixup apbuart_console_init()\n  TTY: Add tty ioctl to figure device node of the system console.\n  tty: add \u0027active\u0027 sysfs attribute to tty0 and console device\n  drivers: serial: apbuart: Handle OF failures gracefully\n  Serial: Avoid unbalanced IRQ wake disable during resume\n  tty: fix typos/errors in tty_driver.h comments\n  pch_uart : fix warnings for 64bit compile\n  8250: fix uninitialized FIFOs\n  ip2: fix compiler warning on ip2main_pci_tbl\n  specialix: fix compiler warning on specialix_pci_tbl\n  rocket: fix compiler warning on rocket_pci_ids\n  8250: add a UPIO_DWAPB32 for 32 bit accesses\n  8250: use container_of() instead of casting\n  serial: omap-serial: Add support for kernel debugger\n  serial: fix pch_uart kconfig \u0026 build\n  drivers: char: hvc: add arm JTAG DCC console support\n  RS485 documentation: add 16C950 UART description\n  serial: ifx6x60: fix memory leak\n  serial: ifx6x60: free IRQ on error\n  Serial: EG20T: add PCH_UART driver\n  ...\n\nFixed up conflicts in drivers/serial/apbuart.c with evil merge that\nmakes the code look fairly sane (unlike either side).\n"
    },
    {
      "commit": "3e5b08cbbf78bedd316904ab0cf3b27119433ee5",
      "tree": "0365745c1b7441c1868551c024410c829c3accc6",
      "parents": [
        "da40d036fd716f0efb2917076220814b1e927ae1",
        "2af10844eb6ed104f9505bf3a7ba3ceb02264f31"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 13:16:28 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 13:16:28 2011 -0800"
      },
      "message": "Merge branch \u0027usb-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6\n\n* \u0027usb-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (144 commits)\n  USB: add support for Dream Cheeky DL100B Webmail Notifier (1d34:0004)\n  USB: serial: ftdi_sio: add support for TIOCSERGETLSR\n  USB: ehci-mxc: Setup portsc register prior to accessing OTG viewport\n  USB: atmel_usba_udc: fix freeing irq in usba_udc_remove()\n  usb: ehci-omap: fix tll channel enable mask\n  usb: ohci-omap3: fix trivial typo\n  USB: gadget: ci13xxx: don\u0027t assume that PAGE_SIZE is 4096\n  USB: gadget: ci13xxx: fix complete() callback for no_interrupt rq\u0027s\n  USB: gadget: update ci13xxx to work with g_ether\n  USB: gadgets: ci13xxx: fix probing of compiled-in gadget drivers\n  Revert \"USB: musb: pm: don\u0027t rely fully on clock support\"\n  Revert \"USB: musb: blackfin: pm: make it work\"\n  USB: uas: Use GFP_NOIO instead of GFP_KERNEL in I/O submission path\n  USB: uas: Ensure we only bind to a UAS interface\n  USB: uas: Rename sense pipe and sense urb to status pipe and status urb\n  USB: uas: Use kzalloc instead of kmalloc\n  USB: uas: Fix up the Sense IU\n  usb: musb: core: kill unneeded #include\u0027s\n  DA8xx: assign name to MUSB IRQ resource\n  usb: gadget: g_ncm added\n  ...\n\nManually fix up trivial conflicts in USB Kconfig changes in:\n\tarch/arm/mach-omap2/Kconfig\n\tarch/sh/Kconfig\n\tdrivers/usb/Kconfig\n\tdrivers/usb/host/ehci-hcd.c\nand annoying chip clock data conflicts in:\n\tarch/arm/mach-omap2/clock3xxx_data.c\n\tarch/arm/mach-omap2/clock44xx_data.c\n"
    },
    {
      "commit": "b4a45f5fe8078bfc10837dbd5b98735058bc4698",
      "tree": "df6f13a27610a3ec7eb4a661448cd779a8f84c79",
      "parents": [
        "01539ba2a706ab7d35fc0667dff919ade7f87d63",
        "b3e19d924b6eaf2ca7d22cba99a517c5171007b6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 08:56:33 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 08:56:33 2011 -0800"
      },
      "message": "Merge branch \u0027vfs-scale-working\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/npiggin/linux-npiggin\n\n* \u0027vfs-scale-working\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/npiggin/linux-npiggin: (57 commits)\n  fs: scale mntget/mntput\n  fs: rename vfsmount counter helpers\n  fs: implement faster dentry memcmp\n  fs: prefetch inode data in dcache lookup\n  fs: improve scalability of pseudo filesystems\n  fs: dcache per-inode inode alias locking\n  fs: dcache per-bucket dcache hash locking\n  bit_spinlock: add required includes\n  kernel: add bl_list\n  xfs: provide simple rcu-walk ACL implementation\n  btrfs: provide simple rcu-walk ACL implementation\n  ext2,3,4: provide simple rcu-walk ACL implementation\n  fs: provide simple rcu-walk generic_check_acl implementation\n  fs: provide rcu-walk aware permission i_ops\n  fs: rcu-walk aware d_revalidate method\n  fs: cache optimise dentry and inode for rcu-walk\n  fs: dcache reduce branches in lookup path\n  fs: dcache remove d_mounted\n  fs: fs_struct use seqlock\n  fs: rcu-walk for path lookup\n  ...\n"
    },
    {
      "commit": "07e06b011db2b3300f6c975ebf293fc4c8c59942",
      "tree": "f6f0fdd7c1707aa9badf16d1ceb4de1e16adb9e9",
      "parents": [
        "cb600d2f83c854ec3d6660063e4466431999489b"
      ],
      "author": {
        "name": "Yong Zhang",
        "email": "yong.zhang0@gmail.com",
        "time": "Fri Jan 07 15:17:36 2011 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 07 15:54:34 2011 +0100"
      },
      "message": "sched: Consolidate the name of root_task_group and init_task_group\n\nroot_task_group is the leftover of USER_SCHED, now it\u0027s always\nsame to init_task_group.\nBut as Mike suggested, root_task_group is maybe the suitable name\nto keep for a tree.\nSo in this patch:\n  init_task_group      --\u003e root_task_group\n  init_task_group_load --\u003e root_task_group_load\n  INIT_TASK_GROUP_LOAD --\u003e ROOT_TASK_GROUP_LOAD\n\nSuggested-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20110107071736.GA32635@windriver.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b3e19d924b6eaf2ca7d22cba99a517c5171007b6",
      "tree": "8c1fa4074114a883a4e2de2f7d12eb29ed91bdf1",
      "parents": [
        "c6653a838b1b2738561aff0b8c0f62a9b714bdd9"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:11 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:33 2011 +1100"
      },
      "message": "fs: scale mntget/mntput\n\nThe problem that this patch aims to fix is vfsmount refcounting scalability.\nWe need to take a reference on the vfsmount for every successful path lookup,\nwhich often go to the same mount point.\n\nThe fundamental difficulty is that a \"simple\" reference count can never be made\nscalable, because any time a reference is dropped, we must check whether that\nwas the last reference. To do that requires communication with all other CPUs\nthat may have taken a reference count.\n\nWe can make refcounts more scalable in a couple of ways, involving keeping\ndistributed counters, and checking for the global-zero condition less\nfrequently.\n\n- check the global sum once every interval (this will delay zero detection\n  for some interval, so it\u0027s probably a showstopper for vfsmounts).\n\n- keep a local count and only taking the global sum when local reaches 0 (this\n  is difficult for vfsmounts, because we can\u0027t hold preempt off for the life of\n  a reference, so a counter would need to be per-thread or tied strongly to a\n  particular CPU which requires more locking).\n\n- keep a local difference of increments and decrements, which allows us to sum\n  the total difference and hence find the refcount when summing all CPUs. Then,\n  keep a single integer \"long\" refcount for slow and long lasting references,\n  and only take the global sum of local counters when the long refcount is 0.\n\nThis last scheme is what I implemented here. Attached mounts and process root\nand working directory references are \"long\" references, and everything else is\na short reference.\n\nThis allows scalable vfsmount references during path walking over mounted\nsubtrees and unattached (lazy umounted) mounts with processes still running\nin them.\n\nThis results in one fewer atomic op in the fastpath: mntget is now just a\nper-CPU inc, rather than an atomic inc; and mntput just requires a spinlock\nand non-atomic decrement in the common case. However code is otherwise bigger\nand heavier, so single threaded performance is basically a wash.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "9d55c369bb5e695e629bc35cba2ef607755b3bee",
      "tree": "d97cd498a67f1f7987d4403ef90e399516a3b8c9",
      "parents": [
        "e1bb57826381199cc79fbf44e9dfeee58fc7b339"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:09 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:32 2011 +1100"
      },
      "message": "fs: implement faster dentry memcmp\n\nThe standard memcmp function on a Westmere system shows up hot in\nprofiles in the `git diff` workload (both parallel and single threaded),\nand it is likely due to the costs associated with trapping into\nmicrocode, and little opportunity to improve memory access (dentry\nname is not likely to take up more than a cacheline).\n\nSo replace it with an open-coded byte comparison. This increases code\nsize by 8 bytes in the critical __d_lookup_rcu function, but the\nspeedup is huge, averaging 10 runs of each:\n\ngit diff st   user   sys   elapsed  CPU\nbefore        1.15   2.57  3.82      97.1\nafter         1.14   2.35  3.61      96.8\n\ngit diff mt   user   sys   elapsed  CPU\nbefore        1.27   3.85  1.46     349\nafter         1.26   3.54  1.43     333\n\nElapsed time for single threaded git diff at 95.0% confidence:\n        -0.21  +/- 0.01\n        -5.45% +/- 0.24%\n\nIt\u0027s -0.66% +/- 0.06% elapsed time on my Opteron, so rep cmp costs on the\nfam10h seem to be relatively smaller, but there is still a win.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "4b936885ab04dc6e0bb0ef35e0e23c1a7364d9e5",
      "tree": "a0173d27c1ce39f173be404d269c2f15144072ab",
      "parents": [
        "873feea09ebc980cbd3631b767356ce1eee65ec1"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:07 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:32 2011 +1100"
      },
      "message": "fs: improve scalability of pseudo filesystems\n\nRegardless of how much we possibly try to scale dcache, there is likely\nalways going to be some fundamental contention when adding or removing children\nunder the same parent. Pseudo filesystems do not seem need to have connected\ndentries because by definition they are disconnected.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "873feea09ebc980cbd3631b767356ce1eee65ec1",
      "tree": "59a8fce9b138086abee7cf845f62ff70a390cf81",
      "parents": [
        "ceb5bdc2d246f6d81cf61ed70f325308a11821d2"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:06 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:31 2011 +1100"
      },
      "message": "fs: dcache per-inode inode alias locking\n\ndcache_inode_lock can be replaced with per-inode locking. Use existing\ninode-\u003ei_lock for this. This is slightly non-trivial because we sometimes\nneed to find the inode from the dentry, which requires d_inode to be\nstabilised (either with refcount or d_lock).\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "ceb5bdc2d246f6d81cf61ed70f325308a11821d2",
      "tree": "65fc9e0227994d4ffc80530dd15bb5a9672a295e",
      "parents": [
        "626d607435617cc0f033522083e2bb195b81813c"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:05 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:31 2011 +1100"
      },
      "message": "fs: dcache per-bucket dcache hash locking\n\nWe can turn the dcache hash locking from a global dcache_hash_lock into\nper-bucket locking.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "626d607435617cc0f033522083e2bb195b81813c",
      "tree": "c1decac81fa5218e7391b6e2b75e2642ec4d8f27",
      "parents": [
        "4e35e6070b1ceed89c3bba2af4216c286fb1dafd"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:04 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:31 2011 +1100"
      },
      "message": "bit_spinlock: add required includes\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "4e35e6070b1ceed89c3bba2af4216c286fb1dafd",
      "tree": "94bd18604a978380c1fde46a3f188f1639067960",
      "parents": [
        "880566e17c4fce0d998d92610d32fcb9506aa6dd"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:03 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:31 2011 +1100"
      },
      "message": "kernel: add bl_list\n\nIntroduce a type of hlist that can support the use of the lowest bit in the\nhlist_head. This will be subsequently used to implement per-bucket bit spinlock\nfor inode and dentry hashes, and may be useful in other cases such as network\nhashes.\n\nReviewed-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "1e1743ebe35ec7e3c1fa732408358fbc614cbbe5",
      "tree": "9654cd50bb29a4c5ccc498b9b08cc385288bc854",
      "parents": [
        "b74c79e99389cd79b31fcc08f82c24e492e63c7e"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:59 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:29 2011 +1100"
      },
      "message": "fs: provide simple rcu-walk generic_check_acl implementation\n\nThis simple implementation just checks for no ACLs on the inode, and\nif so, then the rcu-walk may proceed, otherwise fail it.\n\nThis could easily be extended to put acls under RCU and check them\nunder seqlock, if need be. But this implementation is enough to show\nthe rcu-walk aware permissions code for path lookups is working, and\nwill handle cases where there are no ACLs or ACLs in just the final\nelement.\n\nThis patch implicity converts tmpfs to rcu-aware permission check.\nSubsequent patches onvert ext*, xfs, and, btrfs. Each of these uses\nacl/permission code in a different way, so convert them all to provide\ntemplates and proof of concept.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "b74c79e99389cd79b31fcc08f82c24e492e63c7e",
      "tree": "763c6b412517306670bc625e90035f2d16bb739f",
      "parents": [
        "34286d6662308d82aed891852d04c7c3a2649b16"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:58 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:29 2011 +1100"
      },
      "message": "fs: provide rcu-walk aware permission i_ops\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "34286d6662308d82aed891852d04c7c3a2649b16",
      "tree": "c4b7311404d302e7cb94df7a4690298e1059910a",
      "parents": [
        "44a7d7a878c9cbb74f236ea755b25b6b2e26a9a9"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:57 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:29 2011 +1100"
      },
      "message": "fs: rcu-walk aware d_revalidate method\n\nRequire filesystems be aware of .d_revalidate being called in rcu-walk\nmode (nd-\u003eflags \u0026 LOOKUP_RCU). For now do a simple push down, returning\n-ECHILD from all implementations.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "44a7d7a878c9cbb74f236ea755b25b6b2e26a9a9",
      "tree": "d4630a38c0d683a7e1b8823d7971753719b8a54d",
      "parents": [
        "fb045adb99d9b7c562dc7fef834857f78249daa1"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:56 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:28 2011 +1100"
      },
      "message": "fs: cache optimise dentry and inode for rcu-walk\n\nPut dentry and inode fields into top of data structure.  This allows RCU path\ntraversal to perform an RCU dentry lookup in a path walk by touching only the\nfirst 56 bytes of the dentry.\n\nWe also fit in 8 bytes of inline name in the first 64 bytes, so for short\nnames, only 64 bytes needs to be touched to perform the lookup. We should\nget rid of the hash-\u003eprev pointer from the first 64 bytes, and fit 16 bytes\nof name in there, which will take care of 81% rather than 32% of the kernel\ntree.\n\ninode is also rearranged so that RCU lookup will only touch a single cacheline\nin the inode, plus one in the i_ops structure.\n\nThis is important for directory component lookups in RCU path walking. In the\nkernel source, directory names average is around 6 chars, so this works.\n\nWhen we reach the last element of the lookup, we need to lock it and take its\nrefcount which requires another cacheline access.\n\nAlign dentry and inode operations structs, so members will be at predictable\noffsets and we can group common operations into head of structure.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "fb045adb99d9b7c562dc7fef834857f78249daa1",
      "tree": "1fd6a4024fffeec568abe100d730589bfdb81c38",
      "parents": [
        "5f57cbcc02cf18f6b22ef4066bb10afeb8f930ff"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:55 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:28 2011 +1100"
      },
      "message": "fs: dcache reduce branches in lookup path\n\nReduce some branches and memory accesses in dcache lookup by adding dentry\nflags to indicate common d_ops are set, rather than having to check them.\nThis saves a pointer memory access (dentry-\u003ed_op) in common path lookup\nsituations, and saves another pointer load and branch in cases where we\nhave d_op but not the particular operation.\n\nPatched with:\n\ngit grep -E \u0027[.\u003e]([[:space:]])*d_op([[:space:]])*\u003d\u0027 | xargs sed -e \u0027s/\\([^\\t ]*\\)-\u003ed_op \u003d \\(.*\\);/d_set_d_op(\\1, \\2);/\u0027 -e \u0027s/\\([^\\t ]*\\)\\.d_op \u003d \\(.*\\);/d_set_d_op(\\\u0026\\1, \\2);/\u0027 -i\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "5f57cbcc02cf18f6b22ef4066bb10afeb8f930ff",
      "tree": "f02e7ee57e6060f0af1bcda281baf2972d2da72f",
      "parents": [
        "c28cc36469554dc55540f059fbdc7fa22a2c31fc"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:54 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:28 2011 +1100"
      },
      "message": "fs: dcache remove d_mounted\n\nRather than keep a d_mounted count in the dentry, set a dentry flag instead.\nThe flag can be cleared by checking the hash table to see if there are any\nmounts left, which is not time critical because it is performed at detach time.\n\nThe mounted state of a dentry is only used to speculatively take a look in the\nmount hash table if it is set -- before following the mount, vfsmount lock is\ntaken and mount re-checked without races.\n\nThis saves 4 bytes on 32-bit, nothing on 64-bit but it does provide a hole I\nmight use later (and some configs have larger than 32-bit spinlocks which might\nmake use of the hole).\n\nAutofs4 conversion and changelog by Ian Kent \u003craven@themaw.net\u003e:\nIn autofs4, when expring direct (or offset) mounts we need to ensure that we\nblock user path walks into the autofs mount, which is covered by another mount.\nTo do this we clear the mounted status so that follows stop before walking into\nthe mount and are essentially blocked until the expire is completed. The\nautomount daemon still finds the correct dentry for the umount due to the\nfollow mount logic in fs/autofs4/root.c:autofs4_follow_link(), which is set as\nan inode operation for direct and offset mounts only and is called following\nthe lookup that stopped at the covered mount.\n\nAt the end of the expire the covering mount probably has gone away so the\nmounted status need not be restored. But we need to check this and only restore\nthe mounted status if the expire failed.\n\nXXX: autofs may not work right if we have other mounts go over the top of it?\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "c28cc36469554dc55540f059fbdc7fa22a2c31fc",
      "tree": "6b867456be48b8633a2d56a99e00bb3faf9dccc7",
      "parents": [
        "31e6b01f4183ff419a6d1f86177cbf4662347cec"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:53 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:27 2011 +1100"
      },
      "message": "fs: fs_struct use seqlock\n\nUse a seqlock in the fs_struct to enable us to take an atomic copy of the\ncomplete cwd and root paths. Use this in the RCU lookup path to avoid a\nthread-shared spinlock in RCU lookup operations.\n\nMulti-threaded apps may now perform path lookups with scalability matching\nmulti-process apps. Operations such as stat(2) become very scalable for\nmulti-threaded workload.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "31e6b01f4183ff419a6d1f86177cbf4662347cec",
      "tree": "e215ec9af88352c55e024f784f3d9f8eb13fab85",
      "parents": [
        "3c22cd5709e8143444a6d08682a87f4c57902df3"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:52 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:27 2011 +1100"
      },
      "message": "fs: rcu-walk for path lookup\n\nPerform common cases of path lookups without any stores or locking in the\nancestor dentry elements. This is called rcu-walk, as opposed to the current\nalgorithm which is a refcount based walk, or ref-walk.\n\nThis results in far fewer atomic operations on every path element,\nsignificantly improving path lookup performance. It also avoids cacheline\nbouncing on common dentries, significantly improving scalability.\n\nThe overall design is like this:\n* LOOKUP_RCU is set in nd-\u003eflags, which distinguishes rcu-walk from ref-walk.\n* Take the RCU lock for the entire path walk, starting with the acquiring\n  of the starting path (eg. root/cwd/fd-path). So now dentry refcounts are\n  not required for dentry persistence.\n* synchronize_rcu is called when unregistering a filesystem, so we can\n  access d_ops and i_ops during rcu-walk.\n* Similarly take the vfsmount lock for the entire path walk. So now mnt\n  refcounts are not required for persistence. Also we are free to perform mount\n  lookups, and to assume dentry mount points and mount roots are stable up and\n  down the path.\n* Have a per-dentry seqlock to protect the dentry name, parent, and inode,\n  so we can load this tuple atomically, and also check whether any of its\n  members have changed.\n* Dentry lookups (based on parent, candidate string tuple) recheck the parent\n  sequence after the child is found in case anything changed in the parent\n  during the path walk.\n* inode is also RCU protected so we can load d_inode and use the inode for\n  limited things.\n* i_mode, i_uid, i_gid can be tested for exec permissions during path walk.\n* i_op can be loaded.\n\nWhen we reach the destination dentry, we lock it, recheck lookup sequence,\nand increment its refcount and mountpoint refcount. RCU and vfsmount locks\nare dropped. This is termed \"dropping rcu-walk\". If the dentry refcount does\nnot match, we can not drop rcu-walk gracefully at the current point in the\nlokup, so instead return -ECHILD (for want of a better errno). This signals the\npath walking code to re-do the entire lookup with a ref-walk.\n\nAside from the final dentry, there are other situations that may be encounted\nwhere we cannot continue rcu-walk. In that case, we drop rcu-walk (ie. take\na reference on the last good dentry) and continue with a ref-walk. Again, if\nwe can drop rcu-walk gracefully, we return -ECHILD and do the whole lookup\nusing ref-walk. But it is very important that we can continue with ref-walk\nfor most cases, particularly to avoid the overhead of double lookups, and to\ngain the scalability advantages on common path elements (like cwd and root).\n\nThe cases where rcu-walk cannot continue are:\n* NULL dentry (ie. any uncached path element)\n* parent with d_inode-\u003ei_op-\u003epermission or ACLs\n* dentries with d_revalidate\n* Following links\n\nIn future patches, permission checks and d_revalidate become rcu-walk aware. It\nmay be possible eventually to make following links rcu-walk aware.\n\nUncached path elements will always require dropping to ref-walk mode, at the\nvery least because i_mutex needs to be grabbed, and objects allocated.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "3c22cd5709e8143444a6d08682a87f4c57902df3",
      "tree": "6d245491d9103a1d77a3128ed5d1d996d3794300",
      "parents": [
        "ff0c7d15f9787b7e8c601533c015295cc68329f8"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:51 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:27 2011 +1100"
      },
      "message": "kernel: optimise seqlock\n\nAdd branch annotations for seqlock read fastpath, and introduce\n__read_seqcount_begin and __read_seqcount_end functions, that can avoid the\nsmp_rmb() if used carefully. These will be used by store-free path walking\nalgorithm performance is critical and seqlocks are in use.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "ff0c7d15f9787b7e8c601533c015295cc68329f8",
      "tree": "e3db53950b8ed78e542ab35a3cd3a6eaee26eccd",
      "parents": [
        "fa0d7e3de6d6fc5004ad9dea0dd6b286af8f03e9"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:50 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:26 2011 +1100"
      },
      "message": "fs: avoid inode RCU freeing for pseudo fs\n\nPseudo filesystems that don\u0027t put inode on RCU list or reachable by\nrcu-walk dentries do not need to RCU free their inodes.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "fa0d7e3de6d6fc5004ad9dea0dd6b286af8f03e9",
      "tree": "203e0f73883e4c26b5597e36042386a1237dab35",
      "parents": [
        "77812a1ef139d84270d27faacc0630c887411013"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:49 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:26 2011 +1100"
      },
      "message": "fs: icache RCU free inodes\n\nRCU free the struct inode. This will allow:\n\n- Subsequent store-free path walking patch. The inode must be consulted for\n  permissions when walking, so an RCU inode reference is a must.\n- sb_inode_list_lock to be moved inside i_lock because sb list walkers who want\n  to take i_lock no longer need to take sb_inode_list_lock to walk the list in\n  the first place. This will simplify and optimize locking.\n- Could remove some nested trylock loops in dcache code\n- Could potentially simplify things a bit in VM land. Do not need to take the\n  page lock to follow page-\u003emapping.\n\nThe downsides of this is the performance cost of using RCU. In a simple\ncreat/unlink microbenchmark, performance drops by about 10% due to inability to\nreuse cache-hot slab objects. As iterations increase and RCU freeing starts\nkicking over, this increases to about 20%.\n\nIn cases where inode lifetimes are longer (ie. many inodes may be allocated\nduring the average life span of a single inode), a lot of this cache reuse is\nnot applicable, so the regression caused by this patch is smaller.\n\nThe cache-hot regression could largely be avoided by using SLAB_DESTROY_BY_RCU,\nhowever this adds some complexity to list walking and store-free path walking,\nso I prefer to implement this at a later date, if it is shown to be a win in\nreal situations. I haven\u0027t found a regression in any non-micro benchmark so I\ndoubt it will be a problem.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "dc0474be3e27463d4d4a2793f82366eed906f223",
      "tree": "41f75e638442cb343bacdcfbabb17ffc3bd5b4ce",
      "parents": [
        "357f8e658bba8a085c4a5d4331e30894be8096b8"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:43 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:24 2011 +1100"
      },
      "message": "fs: dcache rationalise dget variants\n\ndget_locked was a shortcut to avoid the lazy lru manipulation when we already\nheld dcache_lock (lru manipulation was relatively cheap at that point).\nHowever, how that the lru lock is an innermost one, we never hold it at any\ncaller, so the lock cost can now be avoided. We already have well working lazy\ndcache LRU, so it should be fine to defer LRU manipulations to scan time.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "b5c84bf6f6fa3a7dfdcb556023a62953574b60ee",
      "tree": "7a2c299a180713e21d5cb653cb933121adf53c31",
      "parents": [
        "949854d02455080d20cd3e1db28a3a18daf7599d"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:38 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:23 2011 +1100"
      },
      "message": "fs: dcache remove dcache_lock\n\ndcache_lock no longer protects anything. remove it.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "949854d02455080d20cd3e1db28a3a18daf7599d",
      "tree": "9b13a6f86c1d0b91e462a471e53b0e717036b18e",
      "parents": [
        "9abca36087288fe28de4749c71ca003d4b9e3ed0"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:37 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:22 2011 +1100"
      },
      "message": "fs: Use rename lock and RCU for multi-step operations\n\nThe remaining usages for dcache_lock is to allow atomic, multi-step read-side\noperations over the directory tree by excluding modifications to the tree.\nAlso, to walk in the leaf-\u003eroot direction in the tree where we don\u0027t have\na natural d_lock ordering.\n\nThis could be accomplished by taking every d_lock, but this would mean a\nhuge number of locks and actually gets very tricky.\n\nSolve this instead by using the rename seqlock for multi-step read-side\noperations, retry in case of a rename so we don\u0027t walk up the wrong parent.\nConcurrent dentry insertions are not serialised against.  Concurrent deletes\nare tricky when walking up the directory: our parent might have been deleted\nwhen dropping locks so also need to check and retry for that.\n\nWe can also use the rename lock in cases where livelock is a worry (and it\nis introduced in subsequent patch).\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "b23fb0a60379a95e10c671f646b259ea2558421e",
      "tree": "7c3644b91241d32fda502a7be0b78e4c225f8091",
      "parents": [
        "2fd6b7f50797f2e993eea59e0a0b8c6399c811dc"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:35 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:22 2011 +1100"
      },
      "message": "fs: scale inode alias list\n\nAdd a new lock, dcache_inode_lock, to protect the inode\u0027s i_dentry list\nfrom concurrent modification. d_alias is also protected by d_lock.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "2fd6b7f50797f2e993eea59e0a0b8c6399c811dc",
      "tree": "ce33b94b34844c09103836cf4cfa4364b742f217",
      "parents": [
        "da5029563a0a026c64821b09e8e7b4fd81d3fe1b"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:34 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:21 2011 +1100"
      },
      "message": "fs: dcache scale subdirs\n\nProtect d_subdirs and d_child with d_lock, except in filesystems that aren\u0027t\nusing dcache_lock for these anyway (eg. using i_mutex).\n\nNote: if we change the locking rule in future so that -\u003ed_child protection is\nprovided only with -\u003ed_parent-\u003ed_lock, it may allow us to reduce some locking.\nBut it would be an exception to an otherwise regular locking scheme, so we\u0027d\nhave to see some good results. Probably not worthwhile.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "b7ab39f631f505edc2bbdb86620d5493f995c9da",
      "tree": "62be97ebc7fc69ceb601f23312d335ebb8038ee7",
      "parents": [
        "2304450783dfde7b0b94ae234edd0dbffa865073"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:32 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:21 2011 +1100"
      },
      "message": "fs: dcache scale dentry refcount\n\nMake d_count non-atomic and protect it with d_lock. This allows us to ensure a\n0 refcount dentry remains 0 without dcache_lock. It is also fairly natural when\nwe start protecting many other dentry members with d_lock.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "789680d1ee9311cdf095241dc02bd9784d799cd1",
      "tree": "e6a984b0aa4791918f1b665f45210c2ab762969c",
      "parents": [
        "ec2447c278ee973d35f38e53ca16ba7f965ae33d"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:30 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:20 2011 +1100"
      },
      "message": "fs: dcache scale hash\n\nAdd a new lock, dcache_hash_lock, to protect the dcache hash table from\nconcurrent modification. d_hash is also protected by d_lock.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "ec2447c278ee973d35f38e53ca16ba7f965ae33d",
      "tree": "5d17a0523c301b8c71c0f198ffe7782c5e9c0ea9",
      "parents": [
        "b1e6a015a580ad145689ad1d6b4aa0e03e6c868b"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:29 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:20 2011 +1100"
      },
      "message": "hostfs: simplify locking\n\nRemove dcache_lock locking from hostfs filesystem, and move it into dcache\nhelpers. All that is required is a coherent path name. Protection from\nconcurrent modification of the namespace after path name generation is not\nprovided in current code, because dcache_lock is dropped before the path is\nused.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "b1e6a015a580ad145689ad1d6b4aa0e03e6c868b",
      "tree": "57a10ef164e4d2f798d9b832dbeaf973aca2ab83",
      "parents": [
        "621e155a3591962420eacdd39f6f0aa29ceb221e"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:28 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:20 2011 +1100"
      },
      "message": "fs: change d_hash for rcu-walk\n\nChange d_hash so it may be called from lock-free RCU lookups. See similar\npatch for d_compare for details.\n\nFor in-tree filesystems, this is just a mechanical change.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "621e155a3591962420eacdd39f6f0aa29ceb221e",
      "tree": "387a9fb396f1bf24514b712c294182e36ba51076",
      "parents": [
        "fb2d5b86aff355a27ebfc132d3c99f4a940cc3fe"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:27 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:19 2011 +1100"
      },
      "message": "fs: change d_compare for rcu-walk\n\nChange d_compare so it may be called from lock-free RCU lookups. This\ndoes put significant restrictions on what may be done from the callback,\nhowever there don\u0027t seem to have been any problems with in-tree fses.\nIf some strange use case pops up that _really_ cannot cope with the\nrcu-walk rules, we can just add new rcu-unaware callbacks, which would\ncause name lookup to drop out of rcu-walk mode.\n\nFor in-tree filesystems, this is just a mechanical change.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "fb2d5b86aff355a27ebfc132d3c99f4a940cc3fe",
      "tree": "7fed12adf54473131e8b86c0c302c443b1d6a846",
      "parents": [
        "2bc334dcc7c77be3700dd443d92a78603f76976b"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:26 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:19 2011 +1100"
      },
      "message": "fs: name case update method\n\nsmpfs and ncpfs want to update a live dentry name in-place. Rather than\nhave them open code the locking, provide a documented dcache API.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "fe15ce446beb3a33583af81ffe6c9d01a75314ed",
      "tree": "bc8af66b6dd2d0f21a2a3f48a19975ae2cdbae4e",
      "parents": [
        "5eef7fa905c814826f518aca2d414ca77508ce30"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:23 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:18 2011 +1100"
      },
      "message": "fs: change d_delete semantics\n\nChange d_delete from a dentry deletion notification to a dentry caching\nadvise, more like -\u003edrop_inode. Require it to be constant and idempotent,\nand not take d_lock. This is how all existing filesystems use the callback\nanyway.\n\nThis makes fine grained dentry locking of dput and dentry lru scanning\nmuch simpler.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "5eef7fa905c814826f518aca2d414ca77508ce30",
      "tree": "53c40fdbe92c30910befbad14ebace3ab9a342c0",
      "parents": [
        "fbc8d4c04626e015b18cc61199f505920abb48f0"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:22 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:18 2011 +1100"
      },
      "message": "fs: dcache documentation cleanup\n\nRemove redundant (and incorrect, since dcache RCU lookup) dentry locking\ndocumentation and point to the canonical document.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "ccd35fb9f4da856b105ea0f1e0cab3702e8ae6ba",
      "tree": "acb71aa4ae7d1f1ed17bdd79033a6bad5e27186d",
      "parents": [
        "786a5e15b613a9cee4fc9139fc3113a5ab0fde79"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:17 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:16 2011 +1100"
      },
      "message": "kernel: kmem_ptr_validate considered harmful\n\nThis is a nasty and error prone API. It is no longer used, remove it.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "554738da71004d96e06fb75f4772dfc3b0f47810",
      "tree": "149a96ce3727025d3b9260961ec94ba8306db278",
      "parents": [
        "7b4b30689d688d9ca2e5c3859db6bbe1c35e6014",
        "a6d38f889750ed6290728a19d9dad577b147c6d0"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Thu Jan 06 22:34:59 2011 -0800"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Thu Jan 06 22:34:59 2011 -0800"
      },
      "message": "Merge branch \u0027next\u0027 into for-linus\n\nConflicts:\n\tinclude/linux/input.h\n"
    },
    {
      "commit": "01539ba2a706ab7d35fc0667dff919ade7f87d63",
      "tree": "5a4bd0cf78007d06690fe4ac06bbd49a5a70bc47",
      "parents": [
        "9e9bc9736756f25d6c47b4eba0ebf25b20a6f153",
        "dc69d1af9e8d9cbbabff88bb35a6782187a22229"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 19:13:58 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 19:13:58 2011 -0800"
      },
      "message": "Merge branch \u0027omap-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6\n\n* \u0027omap-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6: (243 commits)\n  omap2: Make OMAP2PLUS select OMAP_DM_TIMER\n  OMAP4: hwmod data: Fix alignment and end of line in structurefields\n  OMAP4: hwmod data: Move the DMA structures\n  OMAP4: hwmod data: Move the smartreflex structures\n  OMAP4: hwmod data: Fix missing SIDLE_SMART_WKUP in smartreflexsysc\n  arm: omap: tusb6010: add name for MUSB IRQ\n  arm: omap: craneboard: Add USB EHCI support\n  omap2+: Initialize serial port for dynamic remuxing for n8x0\n  omap2+: Add struct omap_board_data and use it for platform level serial init\n  omap2+: Allow hwmod state changes to mux pads based on the state changes\n  omap2+: Add support for hwmod specific muxing of devices\n  omap2+: Add omap_mux_get_by_name\n  OMAP2: PM: fix compile error when !CONFIG_SUSPEND\n  MAINTAINERS: OMAP: hwmod: update hwmod code, data maintainership\n  OMAP4: Smartreflex framework extensions\n  OMAP4: hwmod: Add inital data for smartreflex modules.\n  OMAP4: PM: Program correct init voltages for scalable VDDs\n  OMAP4: Adding voltage driver support\n  OMAP4: Register voltage PMIC parameters with the voltage layer\n  OMAP3: PM: Program correct init voltages for VDD1 and VDD2\n  ...\n\nFix up trivial conflict in arch/arm/plat-omap/Kconfig\n"
    },
    {
      "commit": "9e9bc9736756f25d6c47b4eba0ebf25b20a6f153",
      "tree": "647240f479c5f23910c3e6194d1c35b6ba54d75e",
      "parents": [
        "3c0cb7c31c206aaedb967e44b98442bbeb17a6c4",
        "e3c92215198cb6aa00ad38db2780faa6b72e0a3f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 18:32:12 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 18:32:12 2011 -0800"
      },
      "message": "Merge branch \u0027v4l_for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6\n\n* \u0027v4l_for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (255 commits)\n  [media] radio-aimslab.c: Fix gcc 4.5+ bug\n  [media] cx25821: Fix compilation breakage due to BKL dependency\n  [media] v4l2-compat-ioctl32: fix compile warning\n  [media] zoran: fix compiler warning\n  [media] tda18218: fix compile warning\n  [media] ngene: fix compile warning\n  [media] DVB: IR support for TechnoTrend CT-3650\n  [media] cx23885, cimax2.c: Fix case of two CAM insertion irq\n  [media] ir-nec-decoder: fix repeat key issue\n  [media] staging: se401 depends on USB\n  [media] staging: usbvideo/vicam depends on USB\n  [media] soc_camera: Add the ability to bind regulators to soc_camedra devices\n  [media] V4L2: Add a v4l2-subdev (soc-camera) driver for OmniVision OV2640 sensor\n  [media] v4l: soc-camera: switch to .unlocked_ioctl\n  [media] v4l: ov772x: simplify pointer dereference\n  [media] ov9640: fix OmniVision OV9640 sensor driver\u0027s priv data retrieving\n  [media] ov9640: use macro to request OmniVision OV9640 sensor private data\n  [media] ivtv-i2c: Fix two warnings\n  [media] staging/lirc: Update lirc TODO files\n  [media] cx88: Remove the obsolete i2c_adapter.id field\n  ...\n"
    },
    {
      "commit": "5e93c6b4ecd78b1bab49bad1dc2f6ed7ec0115ee",
      "tree": "4f4e321a1ca0baf64d8af528080c71f93495a7d7",
      "parents": [
        "98d27b8abf413a310df6676f7d2128ada1cccc08",
        "3c0cb7c31c206aaedb967e44b98442bbeb17a6c4"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jan 07 10:29:26 2011 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jan 07 10:29:26 2011 +0900"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 into rmobile-latest\n\nConflicts:\n\tarch/arm/mach-shmobile/Kconfig\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "3c0cb7c31c206aaedb967e44b98442bbeb17a6c4",
      "tree": "3ecba45d7ffae4fba4a5aafaef4af5b0b1105bde",
      "parents": [
        "f70f5b9dc74ca7d0a64c4ead3fb28da09dc1b234",
        "404a02cbd2ae8bf256a2fa1169bdfe86bb5ebb34"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 16:50:35 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 16:50:35 2011 -0800"
      },
      "message": "Merge branch \u0027devel\u0027 of master.kernel.org:/home/rmk/linux-2.6-arm\n\n* \u0027devel\u0027 of master.kernel.org:/home/rmk/linux-2.6-arm: (416 commits)\n  ARM: DMA: add support for DMA debugging\n  ARM: PL011: add DMA burst threshold support for ST variants\n  ARM: PL011: Add support for transmit DMA\n  ARM: PL011: Ensure IRQs are disabled in UART interrupt handler\n  ARM: PL011: Separate hardware FIFO size from TTY FIFO size\n  ARM: PL011: Allow better handling of vendor data\n  ARM: PL011: Ensure error flags are clear at startup\n  ARM: PL011: include revision number in boot-time port printk\n  ARM: vexpress: add sched_clock() for Versatile Express\n  ARM i.MX53: Make MX53 EVK bootable\n  ARM i.MX53: Some bug fix about MX53 MSL code\n  ARM: 6607/1: sa1100: Update platform device registration\n  ARM: 6606/1: sa1100: Fix platform device registration\n  ARM i.MX51: rename IPU irqs\n  ARM i.MX51: Add ipu clock support\n  ARM: imx/mx27_3ds: Add PMIC support\n  ARM: DMA: Replace page_to_dma()/dma_to_page() with pfn_to_dma()/dma_to_pfn()\n  mx51: fix usb clock support\n  MX51: Add support for usb host 2\n  arch/arm/plat-mxc/ehci.c: fix errors/typos\n  ...\n"
    },
    {
      "commit": "404a02cbd2ae8bf256a2fa1169bdfe86bb5ebb34",
      "tree": "99119edc53fdca73ed7586829b8ee736e09440b3",
      "parents": [
        "28cdac6690cb113856293bf79b40de33dbd8f974",
        "1051b9f0f9eab8091fe3bf98320741adf36b4cfa"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Thu Jan 06 22:33:32 2011 +0000"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Thu Jan 06 22:33:32 2011 +0000"
      },
      "message": "Merge branch \u0027devel-stable\u0027 into devel\n\nConflicts:\n\tarch/arm/mach-pxa/clock.c\n\tarch/arm/mach-pxa/clock.h\n"
    },
    {
      "commit": "4073723acb9cdcdbe4df9c0e0c376c65d1697e43",
      "tree": "f41c17eac157b1223ce104845cf9b1e5a9e6a83d",
      "parents": [
        "58daf18cdcab550262a5f4681e1f1e073e21965a",
        "4ec3eb13634529c0bc7466658d84d0bbe3244aea"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Thu Jan 06 22:32:52 2011 +0000"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Thu Jan 06 22:32:52 2011 +0000"
      },
      "message": "Merge branch \u0027misc\u0027 into devel\n\nConflicts:\n\tarch/arm/Kconfig\n\tarch/arm/common/Makefile\n\tarch/arm/kernel/Makefile\n\tarch/arm/kernel/smp.c\n"
    },
    {
      "commit": "4ec3eb13634529c0bc7466658d84d0bbe3244aea",
      "tree": "b491daac2ccfc7b8ca88e171a43f66888463568a",
      "parents": [
        "24056f525051a9e186af28904b396320e18bf9a0",
        "15095bb0fe779c0403091bda7adce5fb3bb9ca35"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Thu Jan 06 22:31:35 2011 +0000"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Thu Jan 06 22:32:03 2011 +0000"
      },
      "message": "Merge branch \u0027smp\u0027 into misc\n\nConflicts:\n\tarch/arm/kernel/entry-armv.S\n\tarch/arm/mm/ioremap.c\n"
    },
    {
      "commit": "84b7290cca16c61a167c7e1912cd84a479852165",
      "tree": "8ecdd0ac8519cf5f38032db0f87ee1640b488efa",
      "parents": [
        "9858a38ea3a940762ae3028cce88f686d0e0c28b",
        "1928e87bcf185f56008d0746f887b691c1cb8c4a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 13:35:12 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 13:35:12 2011 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/fbdev-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/lethal/fbdev-2.6: (55 commits)\n  video: udlfb: Kill off special printk wrappers, use pr_fmt().\n  video: udlfb: Kill off some magic constants for EDID sizing.\n  video: udlfb: deifdefify (yes, that\u0027s a word).\n  fbdev: modedb: Add a new mode for 864x480 TAAL panels.\n  drivers/video/i810/i810-i2c.c: fix i2c bus handling\n  video: Fix the HGA framebuffer driver\n  drivers/video/carminefb.c: improve error handling\n  video: imxfb: Fix the maximum value for yres\n  fbdev: sh_mobile_lcdcfb: Enable 32 bpp and 24 bpp support\n  fbdev: sh_mipi_dsi: use platform provided register layout and values\n  ARM: mach-shmobile: specify sh7372 MIPI DSI register layout\n  fbdev: sh_mipi_dsi: support different register layouts\n  ARM: mach-shmobile: improve MIPI DSI clock configuration\n  fbdev: sh-mobile: implement MIPI DSI runtime PM support\n  sisfb: eliminate compiler warnings\n  sisfb: delete unused register I/O macros\n  sisfb: replace setSISIDXREG with SiS_SetRegANDOR\n  sisfb: replace andSISIDXREG with SiS_SetRegAND\n  sisfb: replace orSISIDXREG with SiS_SetRegOR\n  sisfb: replace outSISIDXREG with SiS_SetReg\n  ...\n"
    },
    {
      "commit": "abb359450f20c32ae03039d8736f12b1d561caf5",
      "tree": "6e8723885feb66a138f19f0ff31615dc13a8d859",
      "parents": [
        "cb600d2f83c854ec3d6660063e4466431999489b",
        "4e3dbdb1392a83bd21a6ff8f6bc785495058d37c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 12:30:19 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 12:30:19 2011 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1436 commits)\n  cassini: Use local-mac-address prom property for Cassini MAC address\n  net: remove the duplicate #ifdef __KERNEL__\n  net: bridge: check the length of skb after nf_bridge_maybe_copy_header()\n  netconsole: clarify stopping message\n  netconsole: don\u0027t announce stopping if nothing happened\n  cnic: Fix the type field in SPQ messages\n  netfilter: fix export secctx error handling\n  netfilter: fix the race when initializing nf_ct_expect_hash_rnd\n  ipv4: IP defragmentation must be ECN aware\n  net: r6040: Return proper error for r6040_init_one\n  dcb: use after free in dcb_flushapp()\n  dcb: unlock on error in dcbnl_ieee_get()\n  net: ixp4xx_eth: Return proper error for eth_init_one\n  include/linux/if_ether.h: Add #define ETH_P_LINK_CTL for HPNA and wlan local tunnel\n  net: add POLLPRI to sock_def_readable()\n  af_unix: Avoid socket-\u003esk NULL OOPS in stream connect security hooks.\n  net_sched: pfifo_head_drop problem\n  mac80211: remove stray extern\n  mac80211: implement off-channel TX using hw r-o-c offload\n  mac80211: implement hardware offload for remain-on-channel\n  ...\n"
    },
    {
      "commit": "2ad0d9d413abc3380fc1d89a9da7f8db59d9746b",
      "tree": "86bbbb8676ee52198867b4281ad52b1b3aecef3c",
      "parents": [
        "f88de8de5a8c8a8a73960d4432ceef2d38b7f86f"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Thu Jan 06 11:41:42 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 06 11:41:42 2011 -0800"
      },
      "message": "net: remove the duplicate #ifdef __KERNEL__\n\nSince we are already in #ifdef __KERNEL__, we don\u0027t need to check it\nagain.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "47935a731b7b850a4c6c0e55ed0741e3dd25d889",
      "tree": "6f5a97961f8e73e325d2bc1d6fb1899ad8f7d8e9",
      "parents": [
        "77a0dd54ba3c86b00ab7079bc3be5d82395ecab2",
        "3fb82d56ad003e804923185316236f26b30dfdd5",
        "fd35fbcdd1b2579a6e00a1545f7124e4005d0474",
        "9e76a97efd31a08cb19d0ba12013b8fb4ad3e474",
        "c8217b8305e5e75c23617f2f4cd262527d952c0a",
        "3cf9b85b474e656a0856b88290c7a289ac5ea247",
        "f6cd24777513fcc673d432cc29ef59881d3e4df1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 11:11:50 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 11:11:50 2011 -0800"
      },
      "message": "Merge branches \u0027x86-alternatives-for-linus\u0027, \u0027x86-fpu-for-linus\u0027, \u0027x86-hwmon-for-linus\u0027, \u0027x86-paravirt-for-linus\u0027, \u0027core-locking-for-linus\u0027 and \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-alternatives-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, suspend: Avoid unnecessary smp alternatives switch during suspend/resume\n\n* \u0027x86-fpu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86-64, asm: Use fxsaveq/fxrestorq in more places\n\n* \u0027x86-hwmon-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, hwmon: Add core threshold notification to therm_throt.c\n\n* \u0027x86-paravirt-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, paravirt: Use native_halt on a halt, not native_safe_halt\n\n* \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  locking, lockdep: Convert sprintf_symbol to %pS\n\n* \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  irq: Better struct irqaction layout\n"
    },
    {
      "commit": "238c855805c853eaec95b0bc3065effb64f955a0",
      "tree": "73520d70f0d447b39cea5dd21f559d7ecf02d734",
      "parents": [
        "5f9251cb93237c9578160df9acc6ce9948ad8c52"
      ],
      "author": {
        "name": "Henry Ptasinski",
        "email": "henryp@broadcom.com",
        "time": "Tue Jan 04 16:07:14 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 06 11:10:05 2011 -0800"
      },
      "message": "include/linux/if_ether.h: Add #define ETH_P_LINK_CTL for HPNA and wlan local tunnel\n\nEthertype used by HPNA control protocols (LARQ, rate, link, etc) and by\nBroadcom wlan drivers for local signalling.\n\nSigned-off-by: Henry Ptasinski \u003chenryp@broadcom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4f00b901d4233a78e6ca4d44c8c6fc5d38a3ee9e",
      "tree": "9b9da4230d33c47298d4fa3e93a4a5f0cb047ee8",
      "parents": [
        "b4c6e2ea5e46b03c764a918f4999a77a3149979f",
        "94462ad3b14739d158a1ab87bb30008c1e5a6bc1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 11:07:33 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 11:07:33 2011 -0800"
      },
      "message": "Merge branch \u0027x86-security-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-security-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  module: Move RO/NX module protection to after ftrace module update\n  x86: Resume trampoline must be executable\n  x86: Add RO/NX protection for loadable kernel modules\n  x86: Add NX protection for kernel data\n  x86: Fix improper large page preservation\n"
    },
    {
      "commit": "b4c6e2ea5e46b03c764a918f4999a77a3149979f",
      "tree": "bc2ee8ac6a2b3bb656aa95d1477514aa45bb834c",
      "parents": [
        "6f46b120a96212b85cbdcb84a64c854dfd791ede",
        "991cfffa7c19aa648546aff666595af896e568ba"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 11:06:31 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 11:06:31 2011 -0800"
      },
      "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:\n  x86, earlyprintk: Move mrst early console to platform/ and fix a typo\n  x86, apbt: Setup affinity for apb timers acting as per-cpu timer\n  ce4100: Add errata fixes for UART on CE4100\n  x86: platform: Move iris to x86/platform where it belongs\n  x86, mrst: Check platform_device_register() return code\n  x86/platform: Add Eurobraille/Iris power off support\n  x86, mrst: Add explanation for using 1960 as the year offset for vrtc\n  x86, mrst: Fix dependencies of \"select INTEL_SCU_IPC\"\n  x86, mrst: The shutdown for MRST requires the SCU IPC mechanism\n  x86: Ce4100: Add reboot_fixup() for CE4100\n  ce4100: Add PCI register emulation for CE4100\n  x86: Add CE4100 platform support\n  x86: mrst: Set vRTC\u0027s IRQ to level trigger type\n  x86: mrst: Add audio driver bindings\n  rtc: Add drivers/rtc/rtc-mrst.c\n  x86: mrst: Add vrtc driver which serves as a wall clock device\n  x86: mrst: Add Moorestown specific reboot/shutdown support\n  x86: mrst: Parse SFI timer table for all timer configs\n  x86/mrst: Add SFI platform device parsing code\n"
    },
    {
      "commit": "dda5f0a372873bca5f0b1d1866d7784dffd8b675",
      "tree": "1f745951b51ef9dcd127ca3c65ecb1d2ce4967c2",
      "parents": [
        "65b2074f84be2287e020839e93b4cdaaf60eb37c",
        "88606e80da0e8d862a42ee19e5bb60b01b940ea7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 10:42:43 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 10:42:43 2011 -0800"
      },
      "message": "Merge branch \u0027timers-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  MAINTAINERS: Update timer related entries\n  timers: Use this_cpu_read\n  timerqueue: Make timerqueue_getnext() static inline\n  hrtimer: fix timerqueue conversion flub\n  hrtimers: Convert hrtimers to use timerlist infrastructure\n  timers: Fixup allmodconfig build issue\n  timers: Rename timerlist infrastructure to timerqueue\n  timers: Introduce timerlist infrastructure.\n  hrtimer: Remove stale comment on curr_timer\n  timer: Warn when del_timer_sync() is called in hardirq context\n  timer: Del_timer_sync() can be used in softirq context\n  timer: Make try_to_del_timer_sync() the same on SMP and UP\n  posix-timers: Annotate lock_timer()\n  timer: Permit statically-declared work with deferrable timers\n  time: Use ARRAY_SIZE macro in timecompare.c\n  timer: Initialize the field slack of timer_list\n  timer_list: Remove alignment padding on 64 bit when CONFIG_TIMER_STATS\n  time: Compensate for rounding on odd-frequency clocksources\n\nFix up trivial conflict in MAINTAINERS\n"
    },
    {
      "commit": "65b2074f84be2287e020839e93b4cdaaf60eb37c",
      "tree": "d020c3c37fa5b112ee531b324214236bef9feec6",
      "parents": [
        "28d9bfc37c861aa9c8386dff1ac7e9a10e5c5162",
        "6bf4123760a5aece6e4829ce90b70b6ffd751d65"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 10:23:33 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 10:23:33 2011 -0800"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (30 commits)\n  sched: Change wait_for_completion_*_timeout() to return a signed long\n  sched, autogroup: Fix reference leak\n  sched, autogroup: Fix potential access to freed memory\n  sched: Remove redundant CONFIG_CGROUP_SCHED ifdef\n  sched: Fix interactivity bug by charging unaccounted run-time on entity re-weight\n  sched: Move periodic share updates to entity_tick()\n  printk: Use this_cpu_{read|write} api on printk_pending\n  sched: Make pushable_tasks CONFIG_SMP dependant\n  sched: Add \u0027autogroup\u0027 scheduling feature: automated per session task groups\n  sched: Fix unregister_fair_sched_group()\n  sched: Remove unused argument dest_cpu to migrate_task()\n  mutexes, sched: Introduce arch_mutex_cpu_relax()\n  sched: Add some clock info to sched_debug\n  cpu: Remove incorrect BUG_ON\n  cpu: Remove unused variable\n  sched: Fix UP build breakage\n  sched: Make task dump print all 15 chars of proc comm\n  sched: Update tg-\u003eshares after cpu.shares write\n  sched: Allow update_cfs_load() to update global load\n  sched: Implement demand based update_cfs_load()\n  ...\n"
    },
    {
      "commit": "28d9bfc37c861aa9c8386dff1ac7e9a10e5c5162",
      "tree": "85bcc2db18ff20e380a40aba375e70d14c2671b4",
      "parents": [
        "f3b0cfa9b017a9d4686c9b14b908a1685f97a077",
        "4b95f135f606c87e4056b6d7fd3c5781c818858b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 10:17:26 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 10:17:26 2011 -0800"
      },
      "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: (146 commits)\n  tools, perf: Documentation for the power events API\n  perf: Add calls to suspend trace point\n  perf script: Make some lists static\n  perf script: Use the default lost event handler\n  perf session: Warn about errors when processing pipe events too\n  perf tools: Fix perf_event.h header usage\n  perf test: Clarify some error reports in the open syscall test\n  x86, NMI: Add touch_nmi_watchdog to io_check_error delay\n  x86: Avoid calling arch_trigger_all_cpu_backtrace() at the same time\n  x86: Only call smp_processor_id in non-preempt cases\n  perf timechart: Adjust perf timechart to the new power events\n  perf: Clean up power events by introducing new, more generic ones\n  perf: Do not export power_frequency, but power_start event\n  perf test: Add test for counting open syscalls\n  perf evsel: Auto allocate resources needed for some methods\n  perf evsel: Use {cpu,thread}_map to shorten list of parameters\n  perf tools: Refactor all_tids to hold nr and the map\n  perf tools: Refactor cpumap to hold nr and the map\n  perf evsel: Introduce per cpu and per thread open helpers\n  perf evsel: Steal the counter reading routines from stat\n  ...\n"
    },
    {
      "commit": "2af49b6058d857fa5b476db642d4452bf5833ecd",
      "tree": "dbce19fe5db5c34294a911baedd2e91bb897b9ce",
      "parents": [
        "b08b27213384d1bd6eda04a2b6f788b4cdee0f34",
        "394f4528c523d88daabd50f883a8d6b164075555"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 10:06:26 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 10:06:26 2011 -0800"
      },
      "message": "Merge branch \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  rcu: remove unused __list_for_each_rcu() macro\n  rculist: fix borked __list_for_each_rcu() macro\n  rcu: reduce __call_rcu()-induced contention on rcu_node structures\n  rcu: limit rcu_node leaf-level fanout\n  rcu: fine-tune grace-period begin/end checks\n  rcu: Keep gpnum and completed fields synchronized\n  rcu: Stop chasing QS if another CPU did it for us\n  rcu: increase synchronize_sched_expedited() batching\n  rcu: Make synchronize_srcu_expedited() fast if running readers\n  rcu: fix race condition in synchronize_sched_expedited()\n  rcu: update documentation/comments for Lai\u0027s adoption patch\n  rcu,cleanup: simplify the code when cpu is dying\n  rcu,cleanup: move synchronize_sched_expedited() out of sched.c\n  rcu: get rid of obsolete \"classic\" names in TREE_RCU tracing\n  rcu: Distinguish between boosting and boosted\n  rcu: document TINY_RCU and TINY_PREEMPT_RCU tracing.\n  rcu: add tracing for TINY_RCU and TINY_PREEMPT_RCU\n  rcu: priority boosting for TINY_PREEMPT_RCU\n  rcu: move TINY_RCU from softirq to kthread\n  rcu: add priority-inversion testing to rcutorture\n"
    },
    {
      "commit": "1928e87bcf185f56008d0746f887b691c1cb8c4a",
      "tree": "bc8db9e9cb40b73742d05e2e68189bd647687249",
      "parents": [
        "ca9c20ce2b383032b71bdae9ec0b468d428ca8d4",
        "3c0eee3fe6a3a1c745379547c7e7c904aa64f6d5"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Thu Jan 06 18:27:34 2011 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Thu Jan 06 18:27:34 2011 +0900"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nConflicts:\n\tdrivers/video/sh_mobile_lcdcfb.c\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "3610cda53f247e176bcbb7a7cca64bc53b12acdb",
      "tree": "d780bc1e405116e75a194b2f4693a6f9bbe9f58f",
      "parents": [
        "44b8288308ac9da27eab7d7bdbf1375a568805c3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 05 15:38:53 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 05 15:38:53 2011 -0800"
      },
      "message": "af_unix: Avoid socket-\u003esk NULL OOPS in stream connect security hooks.\n\nunix_release() can asynchornously set socket-\u003esk to NULL, and\nit does so without holding the unix_state_lock() on \"other\"\nduring stream connects.\n\nHowever, the reverse mapping, sk-\u003esk_socket, is only transitioned\nto NULL under the unix_state_lock().\n\nTherefore make the security hooks follow the reverse mapping instead\nof the forward mapping.\n\nReported-by: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nReported-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aa312be1987d43216e72ffce42bccf6bf81f62ed",
      "tree": "b994c25fc1492d7ff70d2ca83c64106b4883a808",
      "parents": [
        "31edf274f9aff1ccd39934a0b2fce38f4405c656",
        "8c11a94d86eb5489dc665bc566bf624e329d89fa",
        "38d624361b2a82d6317c379aebf81b1b28210bb0"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Wed Jan 05 18:08:31 2011 +0000"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Wed Jan 05 18:08:31 2011 +0000"
      },
      "message": "Merge branches \u0027mmci\u0027 and \u0027pl011-dma\u0027 into devel\n"
    },
    {
      "commit": "31edf274f9aff1ccd39934a0b2fce38f4405c656",
      "tree": "fdc7bc445307ccb9648ca1a71375947c8ed59722",
      "parents": [
        "3c0eee3fe6a3a1c745379547c7e7c904aa64f6d5",
        "ed60453fa8f8fc3d034dfdf10371a99cc6905626",
        "ac61d143ffe2a6db4d4bcf47c21a5159d6a1b644",
        "28257f7fdee0facc3b7f934e82c2485f27120d41",
        "b23065313297e750edd57ab6edfd36224826724e",
        "50005a8deb38e5e6456ebd94e57adb321d4589de",
        "cf562b4a550b3cd9d602a05bc27aaaaa376947b4",
        "3d09fbcd26851ffb2c40cec411b8e56db02520d1",
        "8a9618f5dfca35edb0d7ab6374ff586e2e9e989b"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Wed Jan 05 18:08:10 2011 +0000"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Wed Jan 05 18:08:10 2011 +0000"
      },
      "message": "Merge branches \u0027ftrace\u0027, \u0027gic\u0027, \u0027io\u0027, \u0027kexec\u0027, \u0027mod\u0027, \u0027sa11x0\u0027, \u0027sh\u0027 and \u0027versatile\u0027 into devel\n"
    },
    {
      "commit": "38d624361b2a82d6317c379aebf81b1b28210bb0",
      "tree": "fca8b4acdba29a8550fc7e7d19de2d2228c36be8",
      "parents": [
        "68b65f7305e54b822b2483c60de7d7b017526a92"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Wed Dec 22 17:59:16 2010 +0000"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Wed Jan 05 16:58:53 2011 +0000"
      },
      "message": "ARM: PL011: add DMA burst threshold support for ST variants\n\nST Micro variants has some specific dma burst threshold compensation,\nwhich allows them to make better use of a DMA controller.  Add support\nto set this up.\n\nBased on a patch from Linus Walleij.\n\nAcked-by: Linus Walleij \u003clinus.walleij@stericsson.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "68b65f7305e54b822b2483c60de7d7b017526a92",
      "tree": "c67c4d2791f45f48a042b3bdcf16b342f6b2163a",
      "parents": [
        "963cc981af620c7c07b5f6d1ab998b639e90ecb1"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Wed Dec 22 17:24:39 2010 +0000"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Wed Jan 05 16:58:48 2011 +0000"
      },
      "message": "ARM: PL011: Add support for transmit DMA\n\nAdd DMA engine support for transmit to the PL011 driver.  Based on a\npatch from Linus Walliej, with the following changes:\n\n- remove RX DMA support.  As PL011 doesn\u0027t give us receive timeout\n  interrupts, we only get notified of received data when the RX DMA\n  has completed.  This rather sucks for interactive use of the TTY.\n\n- remove abuse of completions.  Completions are supposed to be for\n  events, not to tell what condition buffers are in.  Replace it with\n  a simple \u0027queued\u0027 bool.\n\n- fix locking - it is only safe to access the circular buffer with the\n  port lock held.\n\n- only map the DMA buffer when required - if we\u0027re ever behind an IOMMU\n  this helps keep IOMMU usage down, and also ensures that we\u0027re legal\n  when we change the scatterlist entry length.\n\n- fix XON/XOFF sending - we must send XON/XOFF characters out as soon\n  as possible - waiting for up to 4095 characters in the DMA buffer\n  to be sent first is not acceptable.\n\n- fix XON/XOFF receive handling - we need to stop DMA when instructed\n  to by the TTY layer, and restart it again when instructed to.  There\n  is a subtle problem here: we must not completely empty the circular\n  buffer with DMA, otherwise we will not be notified of XON.\n\n- change the \u0027enable_dma\u0027 flag into a \u0027using DMA\u0027 flag, and track\n  whether we can use TX DMA by whether the channel pointer is non-NULL.\n  This gives us more control over whether we use DMA in the driver.\n\n- we don\u0027t need to have the TX DMA buffer continually allocated for\n  each port - instead, allocate it when the port starts up, and free\n  it when it\u0027s shut down.  Update the \u0027using DMA\u0027 flag if we get\n  the buffer, and adjust the TTY FIFO size appropriately.\n\n- if we\u0027re going to use PIO to send characters, use the existing IRQ\n  based functionality rather than reimplementing it.  This also ensures\n  we call uart_write_wakeup() at the appropriate time, otherwise we\u0027ll\n  stall.\n\n- use DMA engine helper functions for type safety.\n\n- fix init when built as a module - we can\u0027t have to initcall functions,\n  so we must settle on one.  This means we can eliminate the deferred\n  DMA initialization.\n\n- there is no need to terminate transfers on a failed prep_slave_sg()\n  call - nothing has been setup, so nothing needs to be terminated.\n  This avoids a potential deadlock in the DMA engine code\n  (tasklet-\u003ecallback-\u003efailed prepare-\u003eterminate-\u003etasklet_disable\n   which then ends up waiting for the tasklet to finish running.)\n\n- Dan says that the submission callback should not return an error:\n  | dma_submit_error() is something I should have removed after commit\n  | a0587bcf \"ioat1: move descriptor allocation from submit to prep\" all\n  | errors should be notified by prep failing to return a descriptor\n  | handle.  Negative dma_cookie_t values are only returned by the\n  | dma_async_memcpy* calls which translate a prep failure into -ENOMEM.\n  So remove the error handling at that point.  This also solves the\n  potential deadlock mentioned in the previous comment.\n\nAcked-by: Linus Walleij \u003clinus.walleij@stericsson.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "aef1b9cef78ae65c6501850851cc3f61f9be477b",
      "tree": "9769972983e84620df17c13b73f70a8341c4b125",
      "parents": [
        "20c457b8587bee4644d998331d9e13be82e05b4c",
        "3c0eee3fe6a3a1c745379547c7e7c904aa64f6d5"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 05 14:22:08 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 05 14:22:10 2011 +0100"
      },
      "message": "Merge commit \u0027v2.6.37\u0027 into perf/core\n\nMerge reason: Add the final .37 tree.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6bf4123760a5aece6e4829ce90b70b6ffd751d65",
      "tree": "f7c34fba897b0a1270817c415b8c095958f59add",
      "parents": [
        "27066fd484a32c80630136aa2b91c980f3198f9d"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Jan 05 12:50:16 2011 +1100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 05 14:15:50 2011 +0100"
      },
      "message": "sched: Change wait_for_completion_*_timeout() to return a signed long\n\nwait_for_completion_*_timeout() can return:\n\n   0: if the wait timed out\n -ve: if the wait was interrupted\n +ve: if the completion was completed.\n\nAs they currently return an \u0027unsigned long\u0027, the last two cases\nare not easily distinguished which can easily result in buggy\ncode, as is the case for the recently added\nwait_for_completion_interruptible_timeout() call in\nnet/sunrpc/cache.c\n\nSo change them both to return \u0027long\u0027.  As MAX_SCHEDULE_TIMEOUT\nis LONG_MAX, a large +ve return value should never overflow.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: J.  Bruce Fields \u003cbfields@fieldses.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLKML-Reference: \u003c20110105125016.64ccab0e@notabene.brown\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "27066fd484a32c80630136aa2b91c980f3198f9d",
      "tree": "78ddabdedbfd7525d13ecd62a745525843f1d0e8",
      "parents": [
        "101e5f77bf35679809586e250b6c62193d2ed179",
        "3c0eee3fe6a3a1c745379547c7e7c904aa64f6d5"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 05 14:14:42 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 05 14:14:46 2011 +0100"
      },
      "message": "Merge commit \u0027v2.6.37\u0027 into sched/core\n\nMerge reason: Merge the final .37 tree.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7b26e5ebd8b27b0126a84ae7f9a42aa8293d6c48",
      "tree": "e50d29aa49b626de4663077e1078c913291340e3",
      "parents": [
        "e6de30d63eb17c5cbb7affdfc71df95286bfa7d9"
      ],
      "author": {
        "name": "Francois-Xavier Le Bail",
        "email": "fx.lebail@orange.fr",
        "time": "Tue Jan 04 09:10:20 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 04 11:29:52 2011 -0800"
      },
      "message": "net: typos in comments in include/linux/igmp.h\n\nThere are typos in comments in include/linux/igmp.h:\n\n83 #define IGMP_HOST_MEMBERSHIP_QUERY      0x11    /* From RFC1112 */\n84 #define IGMP_HOST_MEMBERSHIP_REPORT     0x12    /* Ditto */\n[snip]\n88 #define IGMPV2_HOST_MEMBERSHIP_REPORT   0x16    /* V2 version of 0x11 */\n89 #define IGMP_HOST_LEAVE_MESSAGE         0x17\n90 #define IGMPV3_HOST_MEMBERSHIP_REPORT   0x22    /* V3 version of 0x11 */\n\nThe line 88 and 90 are about REPORT messages.\nThe IGMP_HOST_MEMBERSHIP_REPORT (IGMP V1) value is 0x12.\nSo the comment on line 88 must be /* V2 version of 0x12 */,\nand the comment on line 90 must be /* V3 version of 0x12 */.\n\nSigned-off-by: Francois-Xavier Le Bail \u003cfx.lebail@orange.fr\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cc2221969906a166a638aecdbae84a3d0462719e",
      "tree": "2483f726e226c309207e1d0250660eea6e1787b8",
      "parents": [
        "56f4c400349157289b474a3fd49ee96acab0a4d7",
        "387c31c7e5c9805b0aef8833d1731a5fe7bdea14"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 04 08:08:51 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 04 08:08:54 2011 +0100"
      },
      "message": "Merge commit \u0027v2.6.37-rc8\u0027 into perf/core\n\nMerge reason: pick up latest -rc.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "68763c890eb2a60f9b50a061502f94e0cf20fdfe",
      "tree": "27e759b4a29b2f9fab2c795249faaf7f7559bd95",
      "parents": [
        "9f84f8886b98a9411ee20a10ca390487507037b9"
      ],
      "author": {
        "name": "Michal Simek",
        "email": "monstr@monstr.eu",
        "time": "Sun Jan 02 22:54:09 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 03 12:06:21 2011 -0800"
      },
      "message": "trivial: Fix typo fault in netdevice.h\n\nSigned-off-by: Michal Simek \u003cmonstr@monstr.eu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d45fa563a62c908d0e9a581d4f091fed6371ebd0",
      "tree": "84b80c025132e7d4619709dd9134681c8b014fa2",
      "parents": [
        "a1cf11d8f673a3ad91012c5da96beed06ecefde1",
        "8f33d5277fada0291ea495f7fd44a3e7b7aa41d3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 03 11:48:54 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 03 11:48:54 2011 -0800"
      },
      "message": "Merge branch \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx\n\n* \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx:\n  dmaengine: provide dummy functions for DMA_ENGINE\u003dn\n  mv_xor: fix race in tasklet function\n"
    },
    {
      "commit": "cde9efef401563943d5a58eb9b7274bfdc08ca9b",
      "tree": "858a436055612db6282dc63db0fe3ba41147056a",
      "parents": [
        "50401d77ee4904673042dd737eed436067cc23f5",
        "60ebe1568fd15b7ffa101acc645069e27d546ed6"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Mon Jan 03 10:31:54 2011 +0000"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Mon Jan 03 10:31:58 2011 +0000"
      },
      "message": "Merge branch \u0027ux500-core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson into devel-stable\n"
    },
    {
      "commit": "8f33d5277fada0291ea495f7fd44a3e7b7aa41d3",
      "tree": "f94ab5a72d00cd7fb7c061ed68f1d8e5e1f85cde",
      "parents": [
        "8333f65ef094e47020cd01452b4637e7daf5a77f"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "g.liakhovetski@gmx.de",
        "time": "Wed Dec 22 14:46:46 2010 +0100"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Jan 03 01:41:40 2011 -0800"
      },
      "message": "dmaengine: provide dummy functions for DMA_ENGINE\u003dn\n\nThis lets drivers, optionally using the dmaengine, build with DMA_ENGINE\nunselected.\n\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@gmx.de\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "0e65967e33be61e5f67727edd4ea829b47676fc0",
      "tree": "1135d631e0cb88af3f8b060b8c32a130315542d8",
      "parents": [
        "25860c3bd5bd1db236d4fd5826d76127d677dc28"
      ],
      "author": {
        "name": "Allan Stephens",
        "email": "Allan.Stephens@windriver.com",
        "time": "Fri Dec 31 18:59:32 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jan 01 13:57:56 2011 -0800"
      },
      "message": "tipc: cleanup various cosmetic whitespace issues\n\nCleans up TIPC\u0027s source code to eliminate deviations from generally\naccepted coding conventions relating to leading/trailing white space\nand white space around commas, braces, cases, and sizeof.\n\nThese changes are purely cosmetic and do not alter the operation of TIPC\nin any way.\n\nSigned-off-by: Allan Stephens \u003cAllan.Stephens@windriver.com\u003e\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8f92df6ad49da958d97e171762d0a97a3dc738f1",
      "tree": "ad848109f978d225b42ea219d7f45f10aa008a2c",
      "parents": [
        "51a8e4dee7653698ba4c6e7de71053665f075273"
      ],
      "author": {
        "name": "Allan Stephens",
        "email": "Allan.Stephens@windriver.com",
        "time": "Fri Dec 31 18:59:19 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jan 01 13:57:49 2011 -0800"
      },
      "message": "tipc: Remove prototype code for supporting multiple clusters\n\nEliminates routines, data structures, and files that were intended\nto allow TIPC to support a network containing multiple clusters.\nCurrently, TIPC supports only networks consisting of a single cluster\nwithin a single zone, so this code is unnecessary.\n\nSigned-off-by: Allan Stephens \u003cAllan.Stephens@windriver.com\u003e\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "51a8e4dee7653698ba4c6e7de71053665f075273",
      "tree": "94d90bd650f0dd8ab542cc5c948d6ddf6501a107",
      "parents": [
        "08c80e9a031df0a8f0269477a32f5eae47d7a146"
      ],
      "author": {
        "name": "Allan Stephens",
        "email": "Allan.Stephens@windriver.com",
        "time": "Fri Dec 31 18:59:18 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jan 01 13:57:48 2011 -0800"
      },
      "message": "tipc: Remove prototype code for supporting inter-cluster routing\n\nEliminates routines and data structures that were intended to allow\nTIPC to route messages to other clusters. Currently, TIPC supports only\nnetworks consisting of a single cluster within a single zone, so this\ncode is unnecessary.\n\nSigned-off-by: Allan Stephens \u003cAllan.Stephens@windriver.com\u003e\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "08c80e9a031df0a8f0269477a32f5eae47d7a146",
      "tree": "87a20adf19603edfafabc0b138a2992a0cbe6481",
      "parents": [
        "51f98a8d70583b18cb08b19353aeed5efb0244af"
      ],
      "author": {
        "name": "Allan Stephens",
        "email": "Allan.Stephens@windriver.com",
        "time": "Fri Dec 31 18:59:17 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jan 01 13:57:48 2011 -0800"
      },
      "message": "tipc: Remove prototype code for supporting slave nodes\n\nSimplifies routines and data structures that were intended to allow\nTIPC to support slave nodes (i.e. nodes that did not have links to\nall of the other nodes in its cluster, forcing TIPC to route messages\nthat it could not deliver directly through a non-slave node).\n\nCurrently, TIPC supports only networks containing non-slave nodes,\nso this code is unnecessary.\n\nNote: The latest edition of the TIPC 2.0 Specification has eliminated\nthe concept of slave nodes entirely.\n\nSigned-off-by: Allan Stephens \u003cAllan.Stephens@windriver.com\u003e\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "51f98a8d70583b18cb08b19353aeed5efb0244af",
      "tree": "96253d3cb394202b442e65f4d169bbf49b94c327",
      "parents": [
        "aa6027cacdd912ce884953714fcc7392b6155bc6"
      ],
      "author": {
        "name": "Allan Stephens",
        "email": "Allan.Stephens@windriver.com",
        "time": "Fri Dec 31 18:59:16 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jan 01 13:57:47 2011 -0800"
      },
      "message": "tipc: Remove prototype code for supporting multiple zones\n\nEliminates routines, data structures, and files that were intended\nto allows TIPC to support a network containing multiple zones.\nCurrently, TIPC supports only networks consisting of a single cluster\nwithin a single zone, so this code is unnecessary.\n\nSigned-off-by: Allan Stephens \u003cAllan.Stephens@windriver.com\u003e\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ea45fe4e176a42d2396878f530cfdc8265bef37b",
      "tree": "bf4d4b035223b3e315fcdabf814398766482fb58",
      "parents": [
        "6241b6259b16aa390ff4bf50f520685b3801200b"
      ],
      "author": {
        "name": "Shmulik Ravid",
        "email": "shmulikr@broadcom.com",
        "time": "Thu Dec 30 06:26:55 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 31 10:50:54 2010 -0800"
      },
      "message": "dcbnl: adding DCBX feature flags get-set\n\nAdding a pair of set-get routines to dcbnl for setting the negotiation\nflags of the various DCB features. Conforms to the CEE flavor of DCBX\nThe user sets these flags (enable, advertise, willing) for each feature\nto be used by the DCBX engine. The \u0027get\u0027 routine returns which of the\nfeatures is enabled after the negotiation.\n\nThis patch is dependent on the following patches:\n[net-next-2.6 PATCH 1/3] dcbnl: add support for ieee8021Qaz attributes\n[net-next-2.6 PATCH 2/3] dcbnl: add appliction tlv handlers\n[net-next-2.6 PATCH 3/3] net_dcb: add application notifiers\n\nSigned-off-by: Shmulik Ravid \u003cshmulikr@broadcom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6241b6259b16aa390ff4bf50f520685b3801200b",
      "tree": "e80fbdd538b1edd1220b93103b66271194a0653d",
      "parents": [
        "96b99684e365f28d49bdb1221ca022b75cb91a98"
      ],
      "author": {
        "name": "Shmulik Ravid",
        "email": "shmulikr@broadcom.com",
        "time": "Thu Dec 30 06:26:48 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 31 10:50:54 2010 -0800"
      },
      "message": "dcbnl: adding DCBX engine capability\n\nAdding an optional DCBX capability and a pair for get-set routines for\nsetting the device DCBX mode. The DCBX capability is a bit field of\nsupported attributes. The user is expected to set the DCBX mode with a\nsubset of the advertised attributes.\n\nThis patch is dependent on the following patches:\n[net-next-2.6 PATCH 1/3] dcbnl: add support for ieee8021Qaz attributes\n[net-next-2.6 PATCH 2/3] dcbnl: add appliction tlv handlers\n[net-next-2.6 PATCH 3/3] net_dcb: add application notifiers\n\nSigned-off-by: Shmulik Ravid \u003cshmulikr@broadcom.com\u003e\nAcked-by: John Fastabend \u003cjohn.r.fastabend@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9ab933ab2cc80f04690d6aa385b1110075c5e507",
      "tree": "439f1d393d080473575f5ecfe6dcd4f3c10775e9",
      "parents": [
        "3e29027af43728c2a91fe3f735ab2822edaf54a8"
      ],
      "author": {
        "name": "John Fastabend",
        "email": "john.r.fastabend@intel.com",
        "time": "Thu Dec 30 09:26:31 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 31 10:47:45 2010 -0800"
      },
      "message": "dcbnl: add appliction tlv handlers\n\nThis patch adds application tlv handlers. Networking stacks\nmay use the application priority to set the skb priority of\ntheir stack using the negoatiated dcbx priority.\n\nThis patch provides the dcb_{get|set}app() routines for the\nstack to query these parameters. Notice lower layer drivers\ncan use the dcbnl_ops routines if additional handling is\nneeded. Perhaps in the firmware case for example\n\nSigned-off-by: John Fastabend \u003cjohn.r.fastabend@intel.com\u003e\nSigned-off-by: Shmulik Ravid \u003cshmulikr@broadcom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3e29027af43728c2a91fe3f735ab2822edaf54a8",
      "tree": "fb453671722596b9dcb1af4171bdcfa17cd48d61",
      "parents": [
        "a7dd6027e55992dd7c409a71a4a2b576fda2f7c2"
      ],
      "author": {
        "name": "John Fastabend",
        "email": "john.r.fastabend@intel.com",
        "time": "Thu Dec 30 09:25:46 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 31 10:47:45 2010 -0800"
      },
      "message": "dcbnl: add support for ieee8021Qaz attributes\n\nThe IEEE8021Qaz is the IEEE standard version of CEE. The\nstandard has had enough significant changes from the CEE\nversion that many of the CEE attributes have no meaning\nin the new spec or do not easily map to IEEE standards.\n\nRather then attempt to create a complicated mapping\nbetween CEE and IEEE standards this patch adds a nested\nIEEE attribute to the list of DCB attributes. The policy\nis,\n\n\t[DCB_ATTR_IFNAME]\n\t[DCB_ATTR_STATE]\n\t...\n\t[DCB_ATTR_IEEE]\n\t\t[DCB_ATTR_IEEE_ETS]\n\t\t[DCB_ATTR_IEEE_PFC]\n\t\t[DCB_ATTR_IEEE_APP_TABLE]\n\t\t\t[DCB_ATTR_IEEE_APP]\n\t\t\t...\n\nThe following dcbnl_rtnl_ops routines were added to handle\nthe IEEE standard,\n\n\tint (*ieee_getets) (struct net_device *, struct ieee_ets *);\n\tint (*ieee_setets) (struct net_device *, struct ieee_ets *);\n\tint (*ieee_getpfc) (struct net_device *, struct ieee_pfc *);\n\tint (*ieee_setpfc) (struct net_device *, struct ieee_pfc *);\n\tint (*ieee_getapp) (struct net_device *, struct dcb_app *);\n\tint (*ieee_setapp) (struct net_device *, struct dcb_app *);\n\nSigned-off-by: John Fastabend \u003cjohn.r.fastabend@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "09c730a488c32c2cadb31cdb8dcc4df528441197",
      "tree": "da84e298a2bc5d6a6bd4cdacfdd1a2125c3e301d",
      "parents": [
        "11c8ea81cc639c2ea56f94a9cdaa6242ff13a3af"
      ],
      "author": {
        "name": "Sundar Iyer",
        "email": "sundar.iyer@stericsson.com",
        "time": "Tue Dec 21 15:53:31 2010 +0530"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@stericsson.com",
        "time": "Wed Dec 29 22:02:24 2010 +0100"
      },
      "message": "input/tc3589x: add tc3589x keypad support\n\nAdd support for the keypad controller module found on the\nTC3589X devices. This driver default adds the support for\nTC35893 device.\n\nSigned-off-by: Sundar Iyer \u003csundar.iyer@stericsson.com\u003e\nAcked-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n[Some minor fixups for compilation]\nSigned-off-by: Linus Walleij \u003clinus.walleij@stericsson.com\u003e\n"
    },
    {
      "commit": "88ae7624a6fe890e5a8ca57b25420f66e1389f8b",
      "tree": "cfdb6188e0234cf3d819984790f909f5c6e1e102",
      "parents": [
        "58c66df3e38ffb1d59cc5162bb9e07c859288034"
      ],
      "author": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Mon Dec 27 07:47:54 2010 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Wed Dec 29 08:17:11 2010 -0200"
      },
      "message": "[media] V4L1 removal: Remove linux/videodev.h\n\nThere\u0027s no sense on keeping it on 2.6.38, as nobody is using it\nanymore, at the kernel tree, and installing it at the userspace\nAPI.\n\nAs two deprecated drivers still need it, move it to their internal\ndirectories.\n\nReviewed-by: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "58c66df3e38ffb1d59cc5162bb9e07c859288034",
      "tree": "006bd2d86fb5d1f4003da42be99863490fdac222",
      "parents": [
        "f74e3d0eea5fd766230a0ef0d1c24a7960d6f8c2"
      ],
      "author": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Mon Dec 27 07:38:48 2010 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Wed Dec 29 08:17:11 2010 -0200"
      },
      "message": "[media] Remove VIDEO_V4L1 Kconfig option\n\nThere\u0027s no sense on keeping VIDEO_V4L1 Kconfig option just because of\ntwo deprecated drivers moved to staging scheduled to die on 2.6.39.\n\nReviewed-by: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "08af245de0cf6ab5f4ed008ee2bb99273774fce0",
      "tree": "d07a9b38eb4b9442ef0e935063a5f7f40248e19e",
      "parents": [
        "b69a219e0e97441dbeb0262cf85468b61a161399"
      ],
      "author": {
        "name": "Hans Verkuil",
        "email": "hverkuil@xs4all.nl",
        "time": "Fri Dec 24 10:33:19 2010 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Wed Dec 29 08:17:07 2010 -0200"
      },
      "message": "[media] V4L: remove V4L1 compatibility mode\n\nSigned-off-by: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "383268a8e282fb549dabe3a33ccafc9434ab6006",
      "tree": "e4f4f03c0a609086f43860da1da4d7051f86bcb6",
      "parents": [
        "00765f16f116b45aa67de306ac923ed4ba262bf9"
      ],
      "author": {
        "name": "Matti Aaltonen",
        "email": "matti.j.aaltonen@nokia.com",
        "time": "Fri Dec 10 11:41:33 2010 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Wed Dec 29 08:17:02 2010 -0200"
      },
      "message": "[media] MFD: WL1273 FM Radio: MFD driver for the FM radio\n\nThis is the core of the WL1273 FM radio driver, it connects\nthe two child modules. The two child drivers are\ndrivers/media/radio/radio-wl1273.c and sound/soc/codecs/wl1273.c.\n\nThe radio-wl1273 driver implements the V4L2 interface and communicates\nwith the device. The ALSA codec offers digital audio, without it only\nanalog audio is available.\n\nSigned-off-by: Matti J. Aaltonen \u003cmatti.j.aaltonen@nokia.com\u003e\nAcked-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "eac8ae087ac66b21de94fee3e920210b43d43076",
      "tree": "ebfd529289ef23c716bab568899cf94a20f332e7",
      "parents": [
        "0e835087dfe7db19f1f072046f5e116d4ec6662b"
      ],
      "author": {
        "name": "Mariusz Białończyk",
        "email": "manio@skyboo.net",
        "time": "Mon Nov 15 15:50:13 2010 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Wed Dec 29 08:16:55 2010 -0200"
      },
      "message": "[media] Fix rc-tbs-nec table after converting the cx88 driver to ir-core\n\nThe patch fixes the rc-tbs-nec table after converting\ndrivers/media/video/cx88 to ir-core\n(commit ba7e90c9f878e0ac3c0614a5446fe5c62ccc33ec).\n\nIt is also adds two missing buttons (10- and 10+) with\nits definition (KEY_10CHANNELSUP and KEY_10CHANNELSDOWN).\n\n[mchehab@redhat.com: move keycode numbers to 0x1b8/0x1b9 as requested by the input Maintainer]\nSigned-off-by: Mariusz Białończyk \u003cmanio@skyboo.net\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "94a544a4e8d05a027613443c529c399c39cc3371",
      "tree": "edada38e93a958a918b5826eaef173b1b92079d1",
      "parents": [
        "496a2e360a34e1f41c336d23947f800216cb9bdf",
        "21486af0f34d03b813b023d7a2b887b329f60486"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed Dec 29 01:05:14 2010 -0700"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed Dec 29 01:05:50 2010 -0700"
      },
      "message": "Merge branch \u0027spi\u0027 of git://git.linutronix.de/users/bigeasy/soda into spi/next\n\n* \u0027spi\u0027 of git://git.linutronix.de/users/bigeasy/soda into spi/next\n  spi/pxa2xx: register driver properly\n  spi/pxa2xx: add support for shared IRQ handler\n  spi/pxa2xx: Use define for SSSR_TFL_MASK instead of plain numbers\n  arm/pxa2xx: reorgazine SSP and SPI header files\n  spi/pxa2xx: Add CE4100 support\n  spi/pxa2xx: Consider CE4100\u0027s FIFO depth\n  spi/pxa2xx: Add chipselect support for Sodaville\n  spi/pxa2xx: Modify RX-Tresh instead of busy-loop for the remaining RX bytes.\n  spi/pxa2xx: pass of_node to spi device and set a parent device\n"
    },
    {
      "commit": "5c461b913a16aed8afa285a1d00414791a9afe33",
      "tree": "95c7d32fcb899240e8bc5ab5bfac20d259a81b46",
      "parents": [
        "ef11e701f32fb0cd5c5f0f6fb9a9e28fab151219",
        "4f56ce929cab45a3a6e1a81700da52bb9bdbfc0f"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Mon Dec 27 17:33:20 2010 -0800"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Mon Dec 27 17:33:20 2010 -0800"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rydberg/input-mt into next\n"
    },
    {
      "commit": "17f7f4d9fcce8f1b75b5f735569309dee7665968",
      "tree": "14d7e49ca0053a0fcab3c33b5023bf3f90c5c08a",
      "parents": [
        "041110a439e21cd40709ead4ffbfa8034619ad77",
        "d7c1255a3a21e98bdc64df8ccf005a174d7e6289"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Dec 26 22:37:05 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Dec 26 22:37:05 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tnet/ipv4/fib_frontend.c\n"
    },
    {
      "commit": "d7c1255a3a21e98bdc64df8ccf005a174d7e6289",
      "tree": "ded861029cdacd09b6c2e2de2896a671f71b02cf",
      "parents": [
        "d3c7e1ab043abd7706db4fbccf327df9e62f7990",
        "fc75fc8339e7727167443469027540b283daac71"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 26 12:06:56 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 26 12:06:56 2010 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (42 commits)\n  ipv4: dont create routes on down devices\n  epic100: hamachi: yellowfin: Fix skb allocation size\n  sundance: Fix oopses with corrupted skb_shared_info\n  Revert \"ipv4: Allow configuring subnets as local addresses\"\n  USB: mcs7830: return negative if auto negotiate fails\n  irda: prevent integer underflow in IRLMP_ENUMDEVICES\n  tcp: fix listening_get_next()\n  atl1c: Do not use legacy PCI power management\n  mac80211: fix mesh forwarding\n  MAINTAINERS: email address change\n  net: Fix range checks in tcf_valid_offset().\n  net_sched: sch_sfq: fix allot handling\n  hostap: remove netif_stop_queue from init\n  mac80211/rt2x00: add ieee80211_tx_status_ni()\n  typhoon: memory corruption in typhoon_get_drvinfo()\n  net: Add USB PID for new MOSCHIP USB ethernet controller MCS7832 variant\n  net_sched: always clone skbs\n  ipv6: Fragment locally generated tunnel-mode IPSec6 packets as needed.\n  netlink: fix gcc -Wconversion compilation warning\n  asix: add USB ID for Logitec LAN-GTJ U2A\n  ...\n"
    },
    {
      "commit": "a4790c9457ae973d598bbd5ce58f9eaa2dd1576b",
      "tree": "997c23d8182567d1b294022d81f9a315b2a642ef",
      "parents": [
        "08da5a32b7789289f48f3037b64df2945b5dafc2",
        "bcbea798f8f1492052c23ceb4fbc2a96013a3865"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 24 12:59:09 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 24 12:59:09 2010 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:\n  percpu: print out alloc information with KERN_DEBUG instead of KERN_INFO\n  kthread_work: make lockdep happy\n"
    },
    {
      "commit": "7063c0d942a1af2993531fbe52b4c74c1db818c4",
      "tree": "fe91b01bd61449849736c47e0a05840fc47a5eb3",
      "parents": [
        "79290a2aa2fd1c179a285218472092475630dc0e"
      ],
      "author": {
        "name": "Feng Tang",
        "email": "feng.tang@intel.com",
        "time": "Fri Dec 24 13:59:11 2010 +0800"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Fri Dec 24 01:23:25 2010 -0700"
      },
      "message": "spi/dw_spi: add DMA support\n\ndw_spi driver in upstream only supports PIO mode, and this patch\nwill support it to cowork with the Designware dma controller used\non Intel Moorestown platform, at the same time it provides a general\nframework to support dw_spi core to cowork with dma controllers on\nother platforms\n\nIt has been tested with a Option GTM501L 3G modem and Infenion 60x60\nmodem. To use DMA mode, DMA controller 2 of Moorestown has to be enabled\n\nAlso change the dma interface suggested by Linus Walleij.\n\nAcked-by: Linus Walleij \u003clinus.walleij@stericsson.com\u003e\nSigned-off-by: Feng Tang \u003cfeng.tang@intel.com\u003e\n[Typo fix and renames to match intel_mid_dma renaming]\nSigned-off-by: Vinod Koul \u003cvinod.koul@intel.com\u003e\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "394f4528c523d88daabd50f883a8d6b164075555",
      "tree": "b45a5b87a1ba9be8afe71f1db1537ff19e2b05d8",
      "parents": [
        "90a8a73c06cc32b609a880d48449d7083327e11a",
        "3c2dcf2aed5ea22ecf65a9a871c4963faec421b3"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 23 12:57:04 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 23 12:57:04 2010 +0100"
      },
      "message": "Merge branch \u0027rcu/next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-2.6-rcu into core/rcu\n"
    }
  ],
  "next": "26e20a108caca6231c6a5ec659f815a866904751"
}
