)]}'
{
  "log": [
    {
      "commit": "f500975a3f3ecf3611d79f1d933906753460b9f2",
      "tree": "df3728998ca1638ecbccf4ab6f401f9a2cbdba88",
      "parents": [
        "8591cf43224980a0bc9216a4e50b0a740f8cba35"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Oct 04 23:53:21 2008 +0400"
      },
      "committer": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Oct 23 15:07:31 2008 +0400"
      },
      "message": "proc: move rest of /proc/partitions code to block/genhd.c\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "d8ba7a363393f803c93c8cffabd6d0362618bc2a",
      "tree": "331010c221eb9dfe396b2e6958a08f0fb695e117",
      "parents": [
        "ae048112c099b0f3adb57f7c0b3a49bc62244609"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Oct 04 22:34:18 2008 +0400"
      },
      "committer": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Oct 23 14:37:00 2008 +0400"
      },
      "message": "proc: move rest of /proc/locks to fs/locks.c\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\n"
    },
    {
      "commit": "e1759c215bee5abbcb6cb066590ab20905154ed5",
      "tree": "14a43e259767082706dab112292ff92e13ce42a4",
      "parents": [
        "9617760287eec9091d26e6967bd3e4194de18f97"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Oct 15 23:50:22 2008 +0400"
      },
      "committer": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Oct 23 13:52:40 2008 +0400"
      },
      "message": "proc: switch /proc/meminfo to seq_file\n\nand move it to fs/proc/meminfo.c while I\u0027m at it.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\n"
    },
    {
      "commit": "a0bfb673dca8a2b4324fe11e678ec6d6a9ad67e0",
      "tree": "b5a473c95d671e6a62fc4520d01a7a4721820794",
      "parents": [
        "92b29b86fe2e183d44eb467e5e74a5f718ef2e43",
        "96499871f45b9126157b1a5c512d6e30f1635225"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 13:40:47 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 13:40:47 2008 -0700"
      },
      "message": "Merge branch \u0027linux-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6\n\n* \u0027linux-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: (41 commits)\n  PCI: fix pci_ioremap_bar() on s390\n  PCI: fix AER capability check\n  PCI: use pci_find_ext_capability everywhere\n  PCI: remove #ifdef DEBUG around dev_dbg call\n  PCI hotplug: fix get_##name return value problem\n  PCI: document the pcie_aspm kernel parameter\n  PCI: introduce an pci_ioremap(pdev, barnr) function\n  powerpc/PCI: Add legacy PCI access via sysfs\n  PCI: Add ability to mmap legacy_io on some platforms\n  PCI: probing debug message uniformization\n  PCI: support PCIe ARI capability\n  PCI: centralize the capabilities code in probe.c\n  PCI: centralize the capabilities code in pci-sysfs.c\n  PCI: fix 64-vbit prefetchable memory resource BARs\n  PCI: replace cfg space size (256/4096) by macros.\n  PCI: use resource_size() everywhere.\n  PCI: use same arg names in PCI_VDEVICE comment\n  PCI hotplug: rpaphp: make debug var unique\n  PCI: use %pF instead of print_fn_descriptor_symbol() in quirks.c\n  PCI: fix hotplug get_##name return value problem\n  ...\n"
    },
    {
      "commit": "92b29b86fe2e183d44eb467e5e74a5f718ef2e43",
      "tree": "1bac8a1aa11d47322b66d10ec3a370016d843d06",
      "parents": [
        "b9d7ccf56be1ac77b71a284a1c0e6337f9a7aff0",
        "98d9c66ab07471006fd7910cb16453581c41a3e7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 13:35:07 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 13:35:07 2008 -0700"
      },
      "message": "Merge branch \u0027tracing-v28-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-v28-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (131 commits)\n  tracing/fastboot: improve help text\n  tracing/stacktrace: improve help text\n  tracing/fastboot: fix initcalls disposition in bootgraph.pl\n  tracing/fastboot: fix bootgraph.pl initcall name regexp\n  tracing/fastboot: fix issues and improve output of bootgraph.pl\n  tracepoints: synchronize unregister static inline\n  tracepoints: tracepoint_synchronize_unregister()\n  ftrace: make ftrace_test_p6nop disassembler-friendly\n  markers: fix synchronize marker unregister static inline\n  tracing/fastboot: add better resolution to initcall debug/tracing\n  trace: add build-time check to avoid overrunning hex buffer\n  ftrace: fix hex output mode of ftrace\n  tracing/fastboot: fix initcalls disposition in bootgraph.pl\n  tracing/fastboot: fix printk format typo in boot tracer\n  ftrace: return an error when setting a nonexistent tracer\n  ftrace: make some tracers reentrant\n  ring-buffer: make reentrant\n  ring-buffer: move page indexes into page headers\n  tracing/fastboot: only trace non-module initcalls\n  ftrace: move pc counter in irqtrace\n  ...\n\nManually fix conflicts:\n - init/main.c: initcall tracing\n - kernel/module.c: verbose level vs tracepoints\n - scripts/bootgraph.pl: fallout from cherry-picking commits.\n"
    },
    {
      "commit": "9301975ec251bab1ad7cfcb84a688b26187e4e4a",
      "tree": "91e48be0bdc67cbcb75bc8a299a3dcf168e0a814",
      "parents": [
        "7110879cf2afbfb7af79675f5ff109e63d631c25",
        "dd3a1db900f2a215a7d7dd71b836e149a6cf5fed"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 13:22:50 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 13:23:01 2008 -0700"
      },
      "message": "Merge branch \u0027genirq-v28-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\nThis merges branches irq/genirq, irq/sparseirq-v4, timers/hpet-percpu\nand x86/uv.\n\nThe sparseirq branch is just preliminary groundwork: no sparse IRQs are\nactually implemented by this tree anymore - just the new APIs are added\nwhile keeping the old way intact as well (the new APIs map 1:1 to\nirq_desc[]).  The \u0027real\u0027 sparse IRQ support will then be a relatively\nsmall patch ontop of this - with a v2.6.29 merge target.\n\n* \u0027genirq-v28-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (178 commits)\n  genirq: improve include files\n  intr_remapping: fix typo\n  io_apic: make irq_mis_count available on 64-bit too\n  genirq: fix name space collisions of nr_irqs in arch/*\n  genirq: fix name space collision of nr_irqs in autoprobe.c\n  genirq: use iterators for irq_desc loops\n  proc: fixup irq iterator\n  genirq: add reverse iterator for irq_desc\n  x86: move ack_bad_irq() to irq.c\n  x86: unify show_interrupts() and proc helpers\n  x86: cleanup show_interrupts\n  genirq: cleanup the sparseirq modifications\n  genirq: remove artifacts from sparseirq removal\n  genirq: revert dynarray\n  genirq: remove irq_to_desc_alloc\n  genirq: remove sparse irq code\n  genirq: use inline function for irq_to_desc\n  genirq: consolidate nr_irqs and for_each_irq_desc()\n  x86: remove sparse irq from Kconfig\n  genirq: define nr_irqs for architectures with GENERIC_HARDIRQS\u003dn\n  ...\n"
    },
    {
      "commit": "99ebcf8285df28f32fd2d1c19a7166e70f00309c",
      "tree": "caf45f39a77026b2fae2413c145067a1e5164701",
      "parents": [
        "72558dde738b06cc01e16b3247a9659ca739e22d",
        "c465a76af658b443075d6efee1c3131257643020"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 13:19:56 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 13:19:56 2008 -0700"
      },
      "message": "Merge branch \u0027v28-timers-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027v28-timers-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (36 commits)\n  fix documentation of sysrq-q really\n  Fix documentation of sysrq-q\n  timer_list: add base address to clock base\n  timer_list: print cpu number of clockevents device\n  timer_list: print real timer address\n  NOHZ: restart tick device from irq_enter()\n  NOHZ: split tick_nohz_restart_sched_tick()\n  NOHZ: unify the nohz function calls in irq_enter()\n  timers: fix itimer/many thread hang, fix\n  timers: fix itimer/many thread hang, v3\n  ntp: improve adjtimex frequency rounding\n  timekeeping: fix rounding problem during clock update\n  ntp: let update_persistent_clock() sleep\n  hrtimer: reorder struct hrtimer to save 8 bytes on 64bit builds\n  posix-timers: lock_timer: make it readable\n  posix-timers: lock_timer: kill the bogus -\u003eit_id check\n  posix-timers: kill -\u003eit_sigev_signo and -\u003eit_sigev_value\n  posix-timers: sys_timer_create: cleanup the error handling\n  posix-timers: move the initialization of timer-\u003esigq from send to create path\n  posix-timers: sys_timer_create: simplify and s/tasklist/rcu/\n  ...\n\nFix trivial conflicts due to sysrq-q description clahes in\nDocumentation/sysrq.txt and drivers/char/sysrq.c\n"
    },
    {
      "commit": "72558dde738b06cc01e16b3247a9659ca739e22d",
      "tree": "9b9ff02668fd9f948efe24bef56a23fb78f7e4d0",
      "parents": [
        "b91385236c00031c64b42b44db8068ad38a5ea11",
        "769b49ce68386b21e45bb6e573b63c02020b17a1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 13:12:39 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 13:12:39 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (36 commits)\n  ide: re-add TRM290 fix lost during ide_build_dmatable() cleanup\n  scc_pata: kill unused variables\n  sgiioc4: kill duplicate ioremap()\n  sgiioc4: kill useless address checks\n  delkin_cb: add PM support\n  ide: remove broken hpt34x driver\n  ide-floppy: remove idefloppy_floppy_t typedef\n  sgiioc4: remove maskproc() method\n  hpt366: cleanup maskproc() method\n  ide: mask interrupt in ide_config_drive_speed()\n  hpt366: fix compile warning\n  ide: remove unused macros from \u003casm-parisc/ide.h\u003e\n  ide: remove M68K_IDE_SWAPW define from \u003casm-m68k/ide.h\u003e\n  ide: remove dead \u003casm-arm/arch-sa1100/ide.h\u003e\n  ide: fix support for IDE PCI controllers using MMIO on frv\n  ide-cd: remove stale comment\n  ide-cd: small drive type print fix\n  ide-cd: debug log enhancements\n  ide: add generic ATA/ATAPI disk driver\n  ide: allow device drivers to specify per-device type /proc settings\n  ...\n"
    },
    {
      "commit": "1d9a8a47d659f053abeca9ece45651b4d94780c8",
      "tree": "5c61cba476fb073c8f6a250f6cda4b0a36628aea",
      "parents": [
        "f07767fd0f95c385108fa4c456a9cb216a424fec",
        "a7c1b990f71574e077b94ce4582e2cf11cb891fe"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 12:53:27 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 12:53:27 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:\n  fuse: implement nonseekable open\n  fuse: add include protectors\n  fuse: config description improvement\n  fuse: add missing fuse_request_free\n  fuse: fix SEEK_END incorrectness\n"
    },
    {
      "commit": "96499871f45b9126157b1a5c512d6e30f1635225",
      "tree": "e32b112aa25dca6f3e4278e5718c1c2135e6519d",
      "parents": [
        "270c66be9b4a6f2be53ef3aec5dc8e7b07782ec9"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Mon Oct 20 19:45:43 2008 +0200"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Oct 20 11:28:34 2008 -0700"
      },
      "message": "PCI: fix pci_ioremap_bar() on s390\n\ns390 doesn\u0027t have ioremap_*, so protect the definition of the new\npci_ioremap_bar function with CONFIG_HAS_IOMEM to avoid build breakage.\n\nAcked-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "270c66be9b4a6f2be53ef3aec5dc8e7b07782ec9",
      "tree": "241fa7549d1b4500325130e3f632b6ac7a19f0b3",
      "parents": [
        "0927678f55c9a50c296f7e6dae85e87b8236e155"
      ],
      "author": {
        "name": "Yu Zhao",
        "email": "yu.zhao@intel.com",
        "time": "Sun Oct 19 20:35:20 2008 +0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Oct 20 11:01:52 2008 -0700"
      },
      "message": "PCI: fix AER capability check\n\nThe \u0027use pci_find_ext_capability everywhere\u0027 cleanup brought a new bug,\nwhich makes the AER stop working.  Fix it by actually using find_ext_cap\ninstead of just find_cap.  Drop the unused config space size define while\nwe\u0027re at it.\n\nSigned-off-by: Yu Zhao \u003cyu.zhao@intel.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "0927678f55c9a50c296f7e6dae85e87b8236e155",
      "tree": "480bec05ca6b31329eac8533243e1295749d3e46",
      "parents": [
        "1543c90c39360df333a21bfbbdfe812ae23b8167"
      ],
      "author": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Sat Oct 18 17:33:19 2008 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Oct 20 11:01:51 2008 -0700"
      },
      "message": "PCI: use pci_find_ext_capability everywhere\n\nRemove some open coded (and buggy) versions of pci_find_ext_capability\nin favor of the real routine in the PCI core.\n\nTested-by: Tomasz Czernecki \u003cczernecki@gmail.com\u003e\nAcked-by: Andrew Vasquez \u003candrew.vasquez@qlogic.com\u003e\nReviewed-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "aa42d7c6138afdc54f74e971456a0fbfec16b77b",
      "tree": "2fb140d3c6e3924b6c91e736df327d6668d68b2a",
      "parents": [
        "e9f82cb75096ae30658a72d473bf170bf4d3bb2e"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Sun Sep 28 16:36:11 2008 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Oct 20 11:01:48 2008 -0700"
      },
      "message": "PCI: introduce an pci_ioremap(pdev, barnr) function\n\nA common thing in many PCI drivers is to ioremap() an entire bar.  This\nis a slightly fragile thing right now, needing both an address and a\nsize, and many driver writers do.. various things there.\n\nThis patch introduces an pci_ioremap() function taking just a PCI device\nstruct and the bar number as arguments, and figures this all out itself,\nin one place.  In addition, we can add various sanity checks to this\nfunction (the patch already checks to make sure that the bar in question\nreally is a MEM bar; few to no drivers do that sort of thing).\n\nHopefully with this type of API we get less chance of mistakes in\ndrivers with ioremap() operations.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "58c3a727cb73b75a9104d295f096cca12959a5a5",
      "tree": "70f1fe31f1ec12021777b6c6c49167356a864749",
      "parents": [
        "201de56eb22f1ff3f36804bc70cbff220b50f067"
      ],
      "author": {
        "name": "Yu Zhao",
        "email": "yu.zhao@intel.com",
        "time": "Tue Oct 14 14:02:53 2008 +0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Oct 20 10:54:32 2008 -0700"
      },
      "message": "PCI: support PCIe ARI capability\n\nThis patch adds support for PCI Express Alternative Routing-ID\nInterpretation (ARI) capability.\n\nThe ARI capability extends the Function Number field of the PCI Express\nEndpoint by reusing the Device Number which is otherwise hardwired to 0.\nWith ARI, an Endpoint can have up to 256 functions.\n\nSigned-off-by: Yu Zhao \u003cyu.zhao@intel.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "c322b28a04c084a467a862766f74c40c917a721c",
      "tree": "74845fc3bd358be76291e4aefa60ea2adf86aa32",
      "parents": [
        "5d9bc1fa47f0c1561f1d7c0bdff5e24860852b42"
      ],
      "author": {
        "name": "Zhao, Yu",
        "email": "yu.zhao@intel.com",
        "time": "Mon Oct 13 19:36:05 2008 +0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Oct 20 10:54:28 2008 -0700"
      },
      "message": "PCI: use same arg names in PCI_VDEVICE comment\n\nThis cleanup makes the argument names in PCI_VDEVICE comment consistent\nwith those used in its definition.\n\nSigned-off-by: Yu Zhao \u003cyu.zhao@intel.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "37a84ec668ba251ae02cf2c2c664baf6b247ae1f",
      "tree": "1cc937e4264fade2d790757b1f294d6e33479d2d",
      "parents": [
        "f7a10e32a1a7ae240fa3925c5727d224eba3e31d"
      ],
      "author": {
        "name": "Seth Heasley",
        "email": "seth.heasley@intel.com",
        "time": "Thu Aug 28 15:40:59 2008 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Oct 20 10:53:48 2008 -0700"
      },
      "message": "x86/PCI: irq and pci_ids patch for Intel Ibex Peak DeviceIDs\n\nThis patch updates the Intel Ibex Peak (PCH) LPC and SMBus Controller\nDeviceIDs.\n\nThe LPC Controller ID is set by Firmware within the range of\n0x3b00-3b1f.  This range is included in pci_ids.h using min and max\nvalues, and irq.c now has code to handle the range (in lieu of 32\nadditions to a SWITCH statement).\n\nThe SMBus Controller ID is a fixed-value and will not change.\n\nSigned-off-by: Seth Heasley \u003cseth.heasley@intel.com\u003e\nAcked-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "16dbef4a831782466b10d4ae56837c5ba17d1948",
      "tree": "8656c347e8e6aeecece6bfa4c182d1b1cec74bb4",
      "parents": [
        "0235c4fc7fc6f621dc0dd89eba102ad5aa373390"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yhlu.kernel@gmail.com",
        "time": "Fri Aug 15 19:36:45 2008 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Oct 20 10:53:42 2008 -0700"
      },
      "message": "PCI: change MSI-x vector to 32bit\n\nWe are using 28bit pci (bus/dev/fn + 12 bits) as irq number, so the\ncache for irq number should be 32 bit too.\n\nSigned-off-by: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nCc: Andrew Vasquez \u003candrew.vasquez@qlogic.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "0235c4fc7fc6f621dc0dd89eba102ad5aa373390",
      "tree": "8947ae0efda2a1c9d69f3b6399d3e847307786a5",
      "parents": [
        "3d137310245e4cdc3e8c8ba1bea2e145a87ae8e3"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Aug 18 21:38:00 2008 +0200"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Oct 20 10:53:41 2008 -0700"
      },
      "message": "PCI PM: Introduce function pci_wake_from_d3\n\nMany device drivers use the following sequence of statements to enable\nthe device to wake up the system while being in the D3_hot or D3_cold\nlow power state:\n\n        pci_enable_wake(pdev, PCI_D3hot, 1);\n        pci_enable_wake(pdev, PCI_D3cold, 1);\n\nHowever, the second call is not necessary if the first one succeeds (the\nordering of the statements above doesn\u0027t matter here) and it may even be\nharmful, because we are not supposed to enable PME# after the wake-up\npower has been enabled for the device.\n\nTo allow drivers to overcome this problem, introduce function\npci_wake_from_d3() that will enable the device to wake up the system\nfrom any of D3_hot and D3_cold as long as the wake-up from at least one\nof them is supported.\n\nAcked-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "edbc25caaa492a82e19baa915f1f6b0a0db6554d",
      "tree": "967dbd4f8d35fd8532a612fef55691586b831965",
      "parents": [
        "7d67474e506598fe26e0c262acf02132dc730517"
      ],
      "author": {
        "name": "Milton Miller",
        "email": "miltonm@bga.com",
        "time": "Thu Jul 10 16:29:37 2008 -0500"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Oct 20 10:48:34 2008 -0700"
      },
      "message": "PCI: remove dynids.use_driver_data\n\nThe driver flag dynids.use_driver_data is almost consistently not set,\nand causes more problems than it solves.  It was initially intended as a\nflag to indicate whether a driver\u0027s usage of driver_data had been\ncarefully inspected and was ready for values from userspace.  That audit\nwas never done, so most drivers just get a 0 for driver_data when new\nIDs are added from userspace via sysfs.  So remove the flag, allowing\ndrivers to see the data directly (a followon patch validates the passed\ndriver_data value against what the drivers expect).\n\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nAcked-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Milton Miller \u003cmiltonm@bga.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "7d67474e506598fe26e0c262acf02132dc730517",
      "tree": "45ad83d853a1a461f8c86b964861336e4e913851",
      "parents": [
        "252883e512c6d8fbc03b6738f1620fda44c4d472",
        "ed8c3174dd227031d1f3b9fa4fbb512f8f623434"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 09:44:30 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 09:44:30 2008 -0700"
      },
      "message": "Merge git://git.infradead.org/battery-2.6\n\n* git://git.infradead.org/battery-2.6:\n  bq27x00_battery: use unaligned access helper\n  power_supply: fix dependency of tosa_battery\n  power_supply: Support for Texas Instruments BQ27200 battery managers\n  power_supply: Add function to return system-wide power state\n  pda_power: Check and handle return value of set_irq_wake\n"
    },
    {
      "commit": "52c6738b7f46255217942062dfa60daa7cf72510",
      "tree": "9fa9fcdef7b44f6d71e5bb5de0e248a368808cc1",
      "parents": [
        "3b72e4415438538c0967fd1aee930f688ccdf6dd",
        "ec9a05c94c7cd00b4f0ab126c3d394f2fc2e4712"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 09:39:20 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 09:39:20 2008 -0700"
      },
      "message": "Merge git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* git://git.linux-nfs.org/projects/trondmy/nfs-2.6:\n  NFS: use correct fs type for v4 submounts and referrals\n  Make nfs_file_cred more robust.\n  NFS: Enable NFSv4 callback server to listen on AF_INET6 sockets\n"
    },
    {
      "commit": "3b72e4415438538c0967fd1aee930f688ccdf6dd",
      "tree": "b3c234f933c4781d028e499b0e12f85f6366591a",
      "parents": [
        "396b122f6af3d329df3b4d688f6e66de3e2a399a",
        "64c12e9b7edb0bfce9c5d7db43091b67894d8339"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 09:22:47 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 09:22:47 2008 -0700"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.o-hand.com/linux-mfd\n\n* \u0027for-next\u0027 of git://git.o-hand.com/linux-mfd:\n  mfd: further unbork the ucb1400 ac97_bus dependencies\n  mfd: ucb1400 needs GPIO\n  mfd: ucb1400 sound driver uses/depends on AC97_BUS:\n  mfd: Don\u0027t use NO_IRQ in WM8350\n  mfd: update TMIO drivers to use the clock API\n  mfd: twl4030-core irq simplification\n  mfd: add base support for Dialog DA9030/DA9034 PMICs\n  mfd: TWL4030 core driver\n  mfd: support tmiofb cell on tc6393xb\n  mfd: add OHCI cell to tc6393xb\n  mfd: Fix htc-egpio compile warning\n  mfd: do tcb6393xb state restore on resume only if requested\n  mfd: provide and use setup hook for tc6393xb\n  mfd: update sm501 debugging/low information messages\n  mfd: reduce stack usage in mfd-core.c\n"
    },
    {
      "commit": "ed402af3c23a4804b3f8899263e8d0f97c62ab49",
      "tree": "3aa971aea57f900a3060cc0545b199ef611f4dcf",
      "parents": [
        "096e6f673dc02a6394dc9a7d8f8735c6978f5b91",
        "40e24c403f325715f9c43b9fed2068641201ee0b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 09:13:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 09:13:34 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (112 commits)\n  sh: Move SH-4 CPU headers down one more level.\n  sh: Only build in gpio.o when CONFIG_GENERIC_GPIO is selected.\n  sh: Migrate common board headers to mach-common/.\n  sh: Move the CPU definition headers from asm/ to cpu/.\n  serial: sh-sci: Add support SCIF of SH7723\n  video: add sh_mobile_lcdc platform flags\n  video: remove unused sh_mobile_lcdc platform data\n  sh: remove consistent alloc cruft\n  sh: add dynamic crash base address support\n  sh: reduce Migo-R smc91x overruns\n  sh: Fix up some merge damage.\n  Fix debugfs_create_file\u0027s error checking method for arch/sh/mm/\n  Fix debugfs_create_dir\u0027s error checking method for arch/sh/kernel/\n  sh: ap325rxa: Add support RTC RX-8564LC in AP325RXA board\n  sh: Use sh7720 GPIO on magicpanelr2 board\n  sh: Add sh7720 pinmux code\n  sh: Use sh7203 GPIO on rsk7203 board\n  sh: Add sh7203 pinmux code\n  sh: Use sh7723 GPIO on AP325RXA board\n  sh: Add sh7723 pinmux code\n  ...\n"
    },
    {
      "commit": "2be508d847392e431759e370d21cea9412848758",
      "tree": "be5e00a4d7be4ef353ffe4d550fb80a251d321c3",
      "parents": [
        "01e8ef11bc1a74e65678ed55795f59266d4add01",
        "8a1a6272057e2ad90ab531a70330165888866e60"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 09:03:12 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 09:03:12 2008 -0700"
      },
      "message": "Merge git://git.infradead.org/mtd-2.6\n\n* git://git.infradead.org/mtd-2.6: (69 commits)\n  Revert \"[MTD] m25p80.c code cleanup\"\n  [MTD] [NAND] GPIO driver depends on ARM... for now.\n  [MTD] [NAND] sh_flctl: fix compile error\n  [MTD] [NOR] AT49BV6416 has swapped erase regions\n  [MTD] [NAND] GPIO NAND flash driver\n  [MTD] cmdlineparts documentation change - explain where mtd-id comes from\n  [MTD] cfi_cmdset_0002.c: Add Macronix CFI V1.0 TopBottom detection\n  [MTD] [NAND] Fix compilation warnings in drivers/mtd/nand/cs553x_nand.c\n  [JFFS2] Write buffer offset adjustment for NOR-ECC (Sibley) flash\n  [MTD] mtdoops: Fix a bug where block may not be erased\n  [MTD] mtdoops: Add a magic number to logged kernel oops\n  [MTD] mtdoops: Fix an off by one error\n  [JFFS2] Correct parameter names of jffs2_compress() in comments\n  [MTD] [NAND] sh_flctl: add support for Renesas SuperH FLCTL\n  [MTD] [NAND] Bug on atmel_nand HW ECC : OOB info not correctly written\n  [MTD] [MAPS] Remove unused variable after ROM API cleanup.\n  [MTD] m25p80.c extended jedec support (v2)\n  [MTD] remove unused mtd parameter in of_mtd_parse_partitions()\n  [MTD] [NAND] remove dead Kconfig associated with !CONFIG_PPC_MERGE\n  [MTD] [NAND] driver extension to support NAND on TQM85xx modules\n  ...\n"
    },
    {
      "commit": "01e8ef11bc1a74e65678ed55795f59266d4add01",
      "tree": "293cbe5df96191ac10afb050bd4cce54ff2c01f9",
      "parents": [
        "bb26b963d8343bb1bde842fba0b6e00cad841f31"
      ],
      "author": {
        "name": "Parag Warudkar",
        "email": "parag.lkml@gmail.com",
        "time": "Sat Oct 18 20:28:50 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:42 2008 -0700"
      },
      "message": "x86: sysfs: kill owner field from attribute\n\nTejun\u0027s commit 7b595756ec1f49e0049a9e01a1298d53a7faaa15 made sysfs\nattribute-\u003eowner unnecessary.  But the field was left in the structure to\nease the merge.  It\u0027s been over a year since that change and it is now\ntime to start killing attribute-\u003eowner along with its users - one arch at\na time!\n\nThis patch is attempt #1 to get rid of attribute-\u003eowner only for\nCONFIG_X86_64 or CONFIG_X86_32 .  We will deal with other arches later on\nas and when possible - avr32 will be the next since that is something I\ncan test.  Compile (make allyesconfig / make allmodconfig / custom config)\nand boot tested.\n\nakpm: the idea is that we put the declaration of sttribute.owner inside\n`#ifndef CONFIG_X86\u0027.  But that proved to be too ambitious for now because\nnew usages kept on turning up in subsystem trees.\n\n[akpm: remove the ifdef for now]\nSigned-off-by: Parag Warudkar \u003cparag.lkml@gmail.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Roland Dreier \u003crolandd@cisco.com\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5a85a7dda15f88b7f9c96c67fe826b5d0486d601",
      "tree": "ed24fd3b6f725be1f2bed37debede492d89d78ab",
      "parents": [
        "a0098efd6ee4e8c04d82d761aa1bb9ec7a0aa32d"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Sat Oct 18 20:28:48 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:42 2008 -0700"
      },
      "message": "include/linux/bcd.h: remove comments\n\n- the macros are gone\n- there\u0027s no more code in this file,\n  LGPL + GPL \u003d GPL,\n  and the code that was moved to lib/bcd.c is anyway trivial\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a0098efd6ee4e8c04d82d761aa1bb9ec7a0aa32d",
      "tree": "aeba7aa1a577730bc355feb7e9f34b3c237c9a60",
      "parents": [
        "2cee5dfa8b01524a1d937d56ee518677b7acfb38"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Sat Oct 18 20:28:47 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:41 2008 -0700"
      },
      "message": "remove the obsolete BCD*BIN/BIN*BCD macros\n\nRemove the following obsolete macros:\n\n- BCD2BIN\n- BIN2BCD\n- BCD_TO_BIN\n- BIN_TO_BCD\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fdd2e5f88a259a537bb239e0c03c973cb6ea402a",
      "tree": "e97192ba1a7b7f341c8d3debc3fe7639b2eaa284",
      "parents": [
        "1a651a00e20fd4997f0b91258f6f95b7d96edcd9"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Sat Oct 18 20:28:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:40 2008 -0700"
      },
      "message": "make mm/rmap.c:anon_vma_cachep static\n\nThis patch makes the needlessly global anon_vma_cachep static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1d8cca44b6a244b7e378546d719041819049a0f9",
      "tree": "ee94b458b16cf4c254572ff6de2dbc219b6ae0fe",
      "parents": [
        "acf0108a84edae22b99655eb2f6f6c9f7ec4d449"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Sat Oct 18 20:28:37 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:40 2008 -0700"
      },
      "message": "byteorder: provide swabb.h generically in asm/byteorder.h\n\nThis is needed during the transition to the new byteorder headers as the\nswabb.h functionality will be provided from asm/byteorder.h in the new\nversion.  To avoid breakage on arches still using the old implementation,\nprovide swabb.h from asm/byteorder.h as well.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "acf0108a84edae22b99655eb2f6f6c9f7ec4d449",
      "tree": "bfd93125ccff25c774c2e4d71a8ba537312950ab",
      "parents": [
        "b8e465f4945bc0e9f324e3bbe15f5180a8e9a6fe"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Sat Oct 18 20:28:36 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:40 2008 -0700"
      },
      "message": "byteorder: use generic C version for value byteswapping\n\nThis makes the new implementation of the byteorder helpers match the old\nin how it degraded when an arch-defined version was not available:\n\n1) swab()\n\t- look for arch defined\n\t- if not, use generic c version\n\n2) swabp()\n\t- look for arch-defined\n\t- if not, deref pointer and use swab()\n\n3) swabs()\n\t- look for arch defined\n\t- if not, use swabp\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b8e465f4945bc0e9f324e3bbe15f5180a8e9a6fe",
      "tree": "a7e14043e62f8c56f0c1b1f2c6a2b55b0d76f6ec",
      "parents": [
        "3b274f44d2ca05f719fe39947b6a5293a2dbd8fd"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Sat Oct 18 20:28:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:40 2008 -0700"
      },
      "message": "byteorder: add new headers for make headers-install\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "85a0ee342e0c06c19d78fdf48307211c6cf18fcb",
      "tree": "60022c0dca3c2dfc3084d1b301d349f6dcab5363",
      "parents": [
        "630bf20747e27391b20f137a5be2edb4235ca8fa"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Sat Oct 18 20:28:29 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:40 2008 -0700"
      },
      "message": "kdump: add is_vmcore_usable() and vmcore_unusable()\n\nThe usage of elfcorehdr_addr has changed recently such that being set to\nELFCORE_ADDR_MAX is used by is_kdump_kernel() to indicate if the code is\nexecuting in a kernel executed as a crash kernel.\n\nHowever, arch/ia64/kernel/setup.c:reserve_elfcorehdr will rest\nelfcorehdr_addr to ELFCORE_ADDR_MAX on error, which means any subsequent\ncalls to is_kdump_kernel() will return 0, even though they should return\n1.\n\nOk, at this point in time there are no subsequent calls, but I think its\nfair to say that there is ample scope for error or at the very least\nconfusion.\n\nThis patch add an extra state, ELFCORE_ADDR_ERR, which indicates that\nelfcorehdr_addr was passed on the command line, and thus execution is\ntaking place in a crashdump kernel, but vmcore can\u0027t be used for some\nreason.  This is tested for using is_vmcore_usable() and set using\nvmcore_unusable().  A subsequent patch makes use of this new code.\n\nTo summarise, the states that elfcorehdr_addr can now be in are as follows:\n\nELFCORE_ADDR_MAX: not a crashdump kernel\nELFCORE_ADDR_ERR: crashdump kernel but vmcore is unusable\nany other value:  crash dump kernel and vmcore is usable\n\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nCc: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "57cac4d1880527e0baf6c2fda529d2ad1d815aec",
      "tree": "f619e29f658b393b35d1c434fad6dd1501fe73d4",
      "parents": [
        "293adee601bcd4cdb5076a9bda187137de17e96e"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@redhat.com",
        "time": "Sat Oct 18 20:28:25 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:39 2008 -0700"
      },
      "message": "kdump: make elfcorehdr_addr independent of CONFIG_PROC_VMCORE\n\no elfcorehdr_addr is used by not only the code under CONFIG_PROC_VMCORE\n  but also by the code which is not inside CONFIG_PROC_VMCORE.  For\n  example, is_kdump_kernel() is used by powerpc code to determine if\n  kernel is booting after a panic then use previous kernel\u0027s TCE table.\n  So even if CONFIG_PROC_VMCORE is not set in second kernel, one should be\n  able to correctly determine that we are booting after a panic and setup\n  calgary iommu accordingly.\n\no So remove the assumption that elfcorehdr_addr is under\n  CONFIG_PROC_VMCORE.\n\no Move definition of elfcorehdr_addr to arch dependent crash files.\n  (Unfortunately crash dump does not have an arch independent file\n  otherwise that would have been the best place).\n\no kexec.c is not the right place as one can Have CRASH_DUMP enabled in\n  second kernel without KEXEC being enabled.\n\no I don\u0027t see sh setup code parsing the command line for\n  elfcorehdr_addr.  I am wondering how does vmcore interface work on sh.\n  Anyway, I am atleast defining elfcoredhr_addr so that compilation is not\n  broken on sh.\n\nSigned-off-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nAcked-by: Simon Horman \u003chorms@verge.net.au\u003e\nAcked-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "656eb2cd5da153762f2e8419ca117ce12ef522c3",
      "tree": "251246495ba930296590c644bdfbbce996bba69e",
      "parents": [
        "6409324b385f3f63a03645b4422e3be67348d922"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Sat Oct 18 20:28:23 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:39 2008 -0700"
      },
      "message": "add CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS\n\nThis adds a kconfig option to change the /proc/PID/coredump_filter default.\nFedora has been carrying a trivial patch to change the hard-wired value for\nthis default, since Fedora 8.  The default default can\u0027t change safely\nbecause there are old GDB versions out there (all before 6.7) that are\nconfused by the core dump files created by the MMF_DUMP_ELF_HEADERS setting.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@googlemail.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Kawai Hidehiro \u003chidehiro.kawai.ez@hitachi.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: David Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b747c8c102cc0677a7a8056a093f58d7c9b500e7",
      "tree": "5b0a67f24117dee1c6169e6a5e2a912c1ea5c28f",
      "parents": [
        "c4596435404976b0ded9cdf18b456ca2e1408ddd"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Sat Oct 18 20:28:21 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:39 2008 -0700"
      },
      "message": "make ptrace_untrace() static\n\nptrace_untrace() can now become static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c4596435404976b0ded9cdf18b456ca2e1408ddd",
      "tree": "ec8dce51ec28d3f94f39c7af9ec6685ceeb7e76b",
      "parents": [
        "30e8e13603c247c301fdacabef2a765c84840994"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Sat Oct 18 20:28:21 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:39 2008 -0700"
      },
      "message": "bitmask: remove bitmap_scnprintf_len()\n\nbitmap_scnprintf_len() is not used now, so we remove it.\n\nOtherwise we have to maintain it and make its return\nvalue always equal to bitmap_scnprintf()\u0027s return value.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3eda20118000941e7e8994fc5fac8706d8c10f00",
      "tree": "7873d4760af7801f8e5b95cc7d6b719894aad6f5",
      "parents": [
        "85dd030edb174376ef43bc95e5fae4755af1ec98"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Sat Oct 18 20:28:19 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:39 2008 -0700"
      },
      "message": "seq_file: add seq_cpumask_list(), seq_nodemask_list()\n\nseq_cpumask_list(), seq_nodemask_list() are very like seq_cpumask(),\nseq_nodemask(), but they print human readable string.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "52d4b9ac0b985168009c2a57098324e67bae171f",
      "tree": "b3e3b854166930af893be90ea30a7ab0d65c59e7",
      "parents": [
        "c05555b572921c464d064d9267f7f7bc06d424fa"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Sat Oct 18 20:28:16 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:39 2008 -0700"
      },
      "message": "memcg: allocate all page_cgroup at boot\n\nAllocate all page_cgroup at boot and remove page_cgroup poitner from\nstruct page.  This patch adds an interface as\n\n struct page_cgroup *lookup_page_cgroup(struct page*)\n\nAll FLATMEM/DISCONTIGMEM/SPARSEMEM  and MEMORY_HOTPLUG is supported.\n\nRemove page_cgroup pointer reduces the amount of memory by\n - 4 bytes per PAGE_SIZE.\n - 8 bytes per PAGE_SIZE\nif memory controller is disabled. (even if configured.)\n\nOn usual 8GB x86-32 server, this saves 8MB of NORMAL_ZONE memory.\nOn my x86-64 server with 48GB of memory, this saves 96MB of memory.\nI think this reduction makes sense.\n\nBy pre-allocation, kmalloc/kfree in charge/uncharge are removed.\nThis means\n  - we\u0027re not necessary to be afraid of kmalloc faiulre.\n    (this can happen because of gfp_mask type.)\n  - we can avoid calling kmalloc/kfree.\n  - we can avoid allocating tons of small objects which can be fragmented.\n  - we can know what amount of memory will be used for this extra-lru handling.\n\nI added printk message as\n\n\t\"allocated %ld bytes of page_cgroup\"\n        \"please try cgroup_disable\u003dmemory option if you don\u0027t want\"\n\nmaybe enough informative for users.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "886465f407e57d6c3c81013c919ea670ce1ae0d0",
      "tree": "c8981531dee58b1fc19a383068d6770c030bd534",
      "parents": [
        "cc31edceee04a7b87f2be48f9489ebb72d264844"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Sat Oct 18 20:28:05 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:38 2008 -0700"
      },
      "message": "cgroups: fix declaration of cgroup_mm_owner_callbacks\n\nThe choice of real/dummy declaration for cgroup_mm_owner_callbacks()\nshouldn\u0027t be based on CONFIG_MM_OWNER, but on CONFIG_CGROUPS.  Otherwise\nkernel/exit.c fails to compile when something other than a cgroups\ncontroller selects CONFIG_MM_OWNER\n\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cc31edceee04a7b87f2be48f9489ebb72d264844",
      "tree": "5d37791218c420281e509899645d89aee7902f2b",
      "parents": [
        "146aa1bd0511f88ddb4e92fafa2b8aad4f2f65f3"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Sat Oct 18 20:28:04 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:38 2008 -0700"
      },
      "message": "cgroups: convert tasks file to use a seq_file with shared pid array\n\nRather than pre-generating the entire text for the \"tasks\" file each\ntime the file is opened, we instead just generate/update the array of\nprocess ids and use a seq_file to report these to userspace.  All open\nfile handles on the same \"tasks\" file can share a pid array, which may\nbe updated any time that no thread is actively reading the array.  By\nsharing the array, the potential for userspace to DoS the system by\nopening many handles on the same \"tasks\" file is removed.\n\n[Based on a patch by Lai Jiangshan, extended to use seq_file]\n\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nReviewed-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "146aa1bd0511f88ddb4e92fafa2b8aad4f2f65f3",
      "tree": "d7deb46b9a38f82f109b2126317899efbbce41c2",
      "parents": [
        "248736c2a57206388c86f8cdd3392ee986e84f9f"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Sat Oct 18 20:28:03 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:38 2008 -0700"
      },
      "message": "cgroups: fix probable race with put_css_set[_taskexit] and find_css_set\n\nput_css_set_taskexit may be called when find_css_set is called on other\ncpu.  And the race will occur:\n\nput_css_set_taskexit side                    find_css_set side\n\n                                        |\natomic_dec_and_test(\u0026kref-\u003erefcount)    |\n    /* kref-\u003erefcount \u003d 0 */            |\n....................................................................\n                                        |  read_lock(\u0026css_set_lock)\n                                        |  find_existing_css_set\n                                        |  get_css_set\n                                        |  read_unlock(\u0026css_set_lock);\n....................................................................\n__release_css_set                       |\n....................................................................\n                                        | /* use a released css_set */\n                                        |\n\n[put_css_set is the same. But in the current code, all put_css_set are\nput into cgroup mutex critical region as the same as find_css_set.]\n\n[akpm@linux-foundation.org: repair comments]\n[menage@google.com: eliminate race in css_set refcounting]\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0e4fb5e283870757024294bc4567a7c59d936f0b",
      "tree": "162263fe9e712124d3df886ca57d8db752a3237d",
      "parents": [
        "46d01a225e694f1a4343beea44f1e85105aedd7e"
      ],
      "author": {
        "name": "Hidehiro Kawai",
        "email": "hidehiro.kawai.ez@hitachi.com",
        "time": "Sat Oct 18 20:27:57 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:37 2008 -0700"
      },
      "message": "ext3: add an option to control error handling on file data\n\nIf the journal doesn\u0027t abort when it gets an IO error in file data blocks,\nthe file data corruption will spread silently.  Because most of\napplications and commands do buffered writes without fsync(), they don\u0027t\nnotice the IO error.  It\u0027s scary for mission critical systems.  On the\nother hand, if the journal aborts whenever it gets an IO error in file\ndata blocks, the system will easily become inoperable.  So this patch\nintroduces a filesystem option to determine whether it aborts the journal\nor just call printk() when it gets an IO error in file data.\n\nIf you mount a ext3 fs with data_err\u003dabort option, it aborts on file data\nwrite error.  If you mount it with data_err\u003dignore, it doesn\u0027t abort, just\ncall printk().  data_err\u003dignore is the default.\n\nSigned-off-by: Hidehiro Kawai \u003chidehiro.kawai.ez@hitachi.com\u003e\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3e680aae4e53ab54cdbb0c29257dae0cbb158e1c",
      "tree": "389c2a60625b2f9dbd9555378a9d4917730f335e",
      "parents": [
        "e53677113e32e6f118e31b8391a2eab7ee52c0a7"
      ],
      "author": {
        "name": "Krzysztof Helt",
        "email": "krzysztof.h1@wp.pl",
        "time": "Sat Oct 18 20:27:51 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:36 2008 -0700"
      },
      "message": "fb: convert lock/unlock_kernel() into local fb mutex\n\nChange lock_kernel()/unlock_kernel() to local fb mutex.  Each frame buffer\ninstance has its own mutex.\n\nThe one line try_to_load() function is unrolled to request_module() in two\nplaces for readability.\n\n[righi.andrea@gmail.com: fb: fix NULL pointer BUG dereference in fb_open()]\nSigned-off-by: Krzysztof Helt \u003ckrzysztof.h1@wp.pl\u003e\nSigned-off-by: Andrea Righi \u003crighi.andrea@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dc52ddc0e6f45b04780b26fc0813509f8e798c42",
      "tree": "384826e9fab4e434bc5c85ce744470ae472e52c3",
      "parents": [
        "8174f1503f4bf7e9a14b3fbbfdb30c6be6e29f77"
      ],
      "author": {
        "name": "Matt Helsley",
        "email": "matthltc@us.ibm.com",
        "time": "Sat Oct 18 20:27:21 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:34 2008 -0700"
      },
      "message": "container freezer: implement freezer cgroup subsystem\n\nThis patch implements a new freezer subsystem in the control groups\nframework.  It provides a way to stop and resume execution of all tasks in\na cgroup by writing in the cgroup filesystem.\n\nThe freezer subsystem in the container filesystem defines a file named\nfreezer.state.  Writing \"FROZEN\" to the state file will freeze all tasks\nin the cgroup.  Subsequently writing \"RUNNING\" will unfreeze the tasks in\nthe cgroup.  Reading will return the current state.\n\n* Examples of usage :\n\n   # mkdir /containers/freezer\n   # mount -t cgroup -ofreezer freezer  /containers\n   # mkdir /containers/0\n   # echo $some_pid \u003e /containers/0/tasks\n\nto get status of the freezer subsystem :\n\n   # cat /containers/0/freezer.state\n   RUNNING\n\nto freeze all tasks in the container :\n\n   # echo FROZEN \u003e /containers/0/freezer.state\n   # cat /containers/0/freezer.state\n   FREEZING\n   # cat /containers/0/freezer.state\n   FROZEN\n\nto unfreeze all tasks in the container :\n\n   # echo RUNNING \u003e /containers/0/freezer.state\n   # cat /containers/0/freezer.state\n   RUNNING\n\nThis is the basic mechanism which should do the right thing for user space\ntask in a simple scenario.\n\nIt\u0027s important to note that freezing can be incomplete.  In that case we\nreturn EBUSY.  This means that some tasks in the cgroup are busy doing\nsomething that prevents us from completely freezing the cgroup at this\ntime.  After EBUSY, the cgroup will remain partially frozen -- reflected\nby freezer.state reporting \"FREEZING\" when read.  The state will remain\n\"FREEZING\" until one of these things happens:\n\n\t1) Userspace cancels the freezing operation by writing \"RUNNING\" to\n\t\tthe freezer.state file\n\t2) Userspace retries the freezing operation by writing \"FROZEN\" to\n\t\tthe freezer.state file (writing \"FREEZING\" is not legal\n\t\tand returns EIO)\n\t3) The tasks that blocked the cgroup from entering the \"FROZEN\"\n\t\tstate disappear from the cgroup\u0027s set of tasks.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: export thaw_process]\nSigned-off-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nSigned-off-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nAcked-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nTested-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8174f1503f4bf7e9a14b3fbbfdb30c6be6e29f77",
      "tree": "a8df1ebd62255dd231452b3f72782604e8919991",
      "parents": [
        "83224b08372be48d5fcefedc4886457da29130c8"
      ],
      "author": {
        "name": "Matt Helsley",
        "email": "matthltc@us.ibm.com",
        "time": "Sat Oct 18 20:27:19 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:33 2008 -0700"
      },
      "message": "container freezer: make refrigerator always available\n\nNow that the TIF_FREEZE flag is available in all architectures, extract\nthe refrigerator() and freeze_task() from kernel/power/process.c and make\nit available to all.\n\nThe refrigerator() can now be used in a control group subsystem\nimplementing a control group freezer.\n\nSigned-off-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nSigned-off-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nAcked-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nTested-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e575f111dc0f27044e170580e7de50985ab3e011",
      "tree": "96021950c36cd6c537a8fc00811f4846767813b8",
      "parents": [
        "d903ef9f38813e7eb268744a7e579e92f411c83a"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Sat Oct 18 20:27:08 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:32 2008 -0700"
      },
      "message": "coredump_filter: add hugepage dumping\n\nPresently hugepage\u0027s vma has a VM_RESERVED flag in order not to be\nswapped.  But a VM_RESERVED vma isn\u0027t core dumped because this flag is\noften used for some kernel vmas (e.g.  vmalloc, sound related).\n\nThus hugepages are never dumped and it can\u0027t be debugged easily.  Many\ndevelopers want hugepages to be included into core-dump.\n\nHowever, We can\u0027t read generic VM_RESERVED area because this area is often\nIO mapping area.  then these area reading may change device state.  it is\ndefinitly undesiable side-effect.\n\nSo adding a hugepage specific bit to the coredump filter is better.  It\nwill be able to hugepage core dumping and doesn\u0027t cause any side-effect to\nany i/o devices.\n\nIn additional, libhugetlb use hugetlb private mapping pages as anonymous\npage.  Then, hugepage private mapping pages should be core dumped by\ndefault.\n\nThen, /proc/[pid]/core_dump_filter has two new bits.\n\n - bit 5 mean hugetlb private mapping pages are dumped or not. (default: yes)\n - bit 6 mean hugetlb shared mapping pages are dumped or not.  (default: no)\n\nI tested by following method.\n\n% ulimit -c unlimited\n% ./crash_hugepage  50\n% ./crash_hugepage  50  -p\n% ls -lh\n% gdb ./crash_hugepage core\n%\n% echo 0x43 \u003e /proc/self/coredump_filter\n% ./crash_hugepage  50\n% ./crash_hugepage  50  -p\n% ls -lh\n% gdb ./crash_hugepage core\n\n#include \u003cstdlib.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003csys/mman.h\u003e\n#include \u003cstring.h\u003e\n\n#include \"hugetlbfs.h\"\n\nint main(int argc, char** argv){\n\tchar* p;\n\tint ch;\n\tint mmap_flags \u003d MAP_SHARED;\n\tint fd;\n\tint nr_pages;\n\n\twhile((ch \u003d getopt(argc, argv, \"p\")) !\u003d -1) {\n\t\tswitch (ch) {\n\t\tcase \u0027p\u0027:\n\t\t\tmmap_flags \u0026\u003d ~MAP_SHARED;\n\t\t\tmmap_flags |\u003d MAP_PRIVATE;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\t/* nothing*/\n\t\t\tbreak;\n\t\t}\n\t}\n\targc -\u003d optind;\n\targv +\u003d optind;\n\n\tif (argc \u003d\u003d 0){\n\t\tprintf(\"need # of pages\\n\");\n\t\texit(1);\n\t}\n\n\tnr_pages \u003d atoi(argv[0]);\n\tif (nr_pages \u003c 2) {\n\t\tprintf(\"nr_pages must \u003e2\\n\");\n\t\texit(1);\n\t}\n\n\tfd \u003d hugetlbfs_unlinked_fd();\n\tp \u003d mmap(NULL, nr_pages * gethugepagesize(),\n\t\t PROT_READ|PROT_WRITE, mmap_flags, fd, 0);\n\n\tsleep(2);\n\n\t*(p + gethugepagesize()) \u003d 1; /* COW */\n\tsleep(2);\n\n\t/* crash! */\n\t*(int*)0 \u003d 1;\n\n\treturn 0;\n}\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: Kawai Hidehiro \u003chidehiro.kawai.ez@hitachi.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: William Irwin \u003cwli@holomorphy.com\u003e\nCc: Adam Litke \u003cagl@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "db64fe02258f1507e13fe5212a989922323685ce",
      "tree": "ed24c8d4e3b0bcadfce3a8c3916a6b35d6c891cb",
      "parents": [
        "cb8f488c33539f096580e202f5438a809195008f"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Sat Oct 18 20:27:03 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:32 2008 -0700"
      },
      "message": "mm: rewrite vmap layer\n\nRewrite the vmap allocator to use rbtrees and lazy tlb flushing, and\nprovide a fast, scalable percpu frontend for small vmaps (requires a\nslightly different API, though).\n\nThe biggest problem with vmap is actually vunmap.  Presently this requires\na global kernel TLB flush, which on most architectures is a broadcast IPI\nto all CPUs to flush the cache.  This is all done under a global lock.  As\nthe number of CPUs increases, so will the number of vunmaps a scaled\nworkload will want to perform, and so will the cost of a global TLB flush.\n This gives terrible quadratic scalability characteristics.\n\nAnother problem is that the entire vmap subsystem works under a single\nlock.  It is a rwlock, but it is actually taken for write in all the fast\npaths, and the read locking would likely never be run concurrently anyway,\nso it\u0027s just pointless.\n\nThis is a rewrite of vmap subsystem to solve those problems.  The existing\nvmalloc API is implemented on top of the rewritten subsystem.\n\nThe TLB flushing problem is solved by using lazy TLB unmapping.  vmap\naddresses do not have to be flushed immediately when they are vunmapped,\nbecause the kernel will not reuse them again (would be a use-after-free)\nuntil they are reallocated.  So the addresses aren\u0027t allocated again until\na subsequent TLB flush.  A single TLB flush then can flush multiple\nvunmaps from each CPU.\n\nXEN and PAT and such do not like deferred TLB flushing because they can\u0027t\nalways handle multiple aliasing virtual addresses to a physical address.\nThey now call vm_unmap_aliases() in order to flush any deferred mappings.\nThat call is very expensive (well, actually not a lot more expensive than\na single vunmap under the old scheme), however it should be OK if not\ncalled too often.\n\nThe virtual memory extent information is stored in an rbtree rather than a\nlinked list to improve the algorithmic scalability.\n\nThere is a per-CPU allocator for small vmaps, which amortizes or avoids\nglobal locking.\n\nTo use the per-CPU interface, the vm_map_ram / vm_unmap_ram interfaces\nmust be used in place of vmap and vunmap.  Vmalloc does not use these\ninterfaces at the moment, so it will not be quite so scalable (although it\nwill use lazy TLB flushing).\n\nAs a quick test of performance, I ran a test that loops in the kernel,\nlinearly mapping then touching then unmapping 4 pages.  Different numbers\nof tests were run in parallel on an 4 core, 2 socket opteron.  Results are\nin nanoseconds per map+touch+unmap.\n\nthreads           vanilla         vmap rewrite\n1                 14700           2900\n2                 33600           3000\n4                 49500           2800\n8                 70631           2900\n\nSo with a 8 cores, the rewritten version is already 25x faster.\n\nIn a slightly more realistic test (although with an older and less\nscalable version of the patch), I ripped the not-very-good vunmap batching\ncode out of XFS, and implemented the large buffer mapping with vm_map_ram\nand vm_unmap_ram...  along with a couple of other tricks, I was able to\nspeed up a large directory workload by 20x on a 64 CPU system.  I believe\nvmap/vunmap is actually sped up a lot more than 20x on such a system, but\nI\u0027m running into other locks now.  vmap is pretty well blown off the\nprofiles.\n\nBefore:\n1352059 total                                      0.1401\n798784 _write_lock                              8320.6667 \u003c- vmlist_lock\n529313 default_idle                             1181.5022\n 15242 smp_call_function                         15.8771  \u003c- vmap tlb flushing\n  2472 __get_vm_area_node                         1.9312  \u003c- vmap\n  1762 remove_vm_area                             4.5885  \u003c- vunmap\n   316 map_vm_area                                0.2297  \u003c- vmap\n   312 kfree                                      0.1950\n   300 _spin_lock                                 3.1250\n   252 sn_send_IPI_phys                           0.4375  \u003c- tlb flushing\n   238 vmap                                       0.8264  \u003c- vmap\n   216 find_lock_page                             0.5192\n   196 find_next_bit                              0.3603\n   136 sn2_send_IPI                               0.2024\n   130 pio_phys_write_mmr                         2.0312\n   118 unmap_kernel_range                         0.1229\n\nAfter:\n 78406 total                                      0.0081\n 40053 default_idle                              89.4040\n 33576 ia64_spinlock_contention                 349.7500\n  1650 _spin_lock                                17.1875\n   319 __reg_op                                   0.5538\n   281 _atomic_dec_and_lock                       1.0977\n   153 mutex_unlock                               1.5938\n   123 iget_locked                                0.1671\n   117 xfs_dir_lookup                             0.1662\n   117 dput                                       0.1406\n   114 xfs_iget_core                              0.0268\n    92 xfs_da_hashname                            0.1917\n    75 d_alloc                                    0.0670\n    68 vmap_page_range                            0.0462 \u003c- vmap\n    58 kmem_cache_alloc                           0.0604\n    57 memset                                     0.0540\n    52 rb_next                                    0.1625\n    50 __copy_user                                0.0208\n    49 bitmap_find_free_region                    0.2188 \u003c- vmap\n    46 ia64_sn_udelay                             0.1106\n    45 find_inode_fast                            0.1406\n    42 memcmp                                     0.2188\n    42 finish_task_switch                         0.1094\n    42 __d_lookup                                 0.0410\n    40 radix_tree_lookup_slot                     0.1250\n    37 _spin_unlock_irqrestore                    0.3854\n    36 xfs_bmapi                                  0.0050\n    36 kmem_cache_free                            0.0256\n    35 xfs_vn_getattr                             0.0322\n    34 radix_tree_lookup                          0.1062\n    33 __link_path_walk                           0.0035\n    31 xfs_da_do_buf                              0.0091\n    30 _xfs_buf_find                              0.0204\n    28 find_get_page                              0.0875\n    27 xfs_iread                                  0.0241\n    27 __strncpy_from_user                        0.2812\n    26 _xfs_buf_initialize                        0.0406\n    24 _xfs_buf_lookup_pages                      0.0179\n    24 vunmap_page_range                          0.0250 \u003c- vunmap\n    23 find_lock_page                             0.0799\n    22 vm_map_ram                                 0.0087 \u003c- vmap\n    20 kfree                                      0.0125\n    19 put_page                                   0.0330\n    18 __kmalloc                                  0.0176\n    17 xfs_da_node_lookup_int                     0.0086\n    17 _read_lock                                 0.0885\n    17 page_waitqueue                             0.0664\n\nvmap has gone from being the top 5 on the profiles and flushing the crap\nout of all TLBs, to using less than 1% of kernel time.\n\n[akpm@linux-foundation.org: cleanups, section fix]\n[akpm@linux-foundation.org: fix build on alpha]\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nCc: Krzysztof Helt \u003ckrzysztof.h1@poczta.fm\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "51b07fc3c5c830bb49c80fc5eac041e1f66a72e7",
      "tree": "7d01d39f5eb5ac601d95c1e133492bd83135af6c",
      "parents": [
        "8413ac9d8c9a1366a4f57880723126cd24e5a5c3"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Sat Oct 18 20:27:00 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:32 2008 -0700"
      },
      "message": "fs: buffer lock use lock bitops\n\ntrylock_buffer and unlock_buffer open and close a critical section.\nHence, we can use the lock bitops to get the desired memory ordering.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8413ac9d8c9a1366a4f57880723126cd24e5a5c3",
      "tree": "fcee6ff670dcfccf895a48e92d27f52902d34301",
      "parents": [
        "a978d6f521063514812a7094dbe5036e056e4de3"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Sat Oct 18 20:26:59 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:32 2008 -0700"
      },
      "message": "mm: page lock use lock bitops\n\ntrylock_page, unlock_page open and close a critical section. Hence,\nwe can use the lock bitops to get the desired memory ordering.\n\nAlso, mark trylock as likely to succeed (and remove the annotation from\ncallers).\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f45840b5c128445da70e7ec33adc47b4a12bdaf4",
      "tree": "3815a03d12d1c69d71a48c44cd216c3e1e84272a",
      "parents": [
        "9978ad583e100945b74e4f33e73317983ea32df9"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Sat Oct 18 20:26:57 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:31 2008 -0700"
      },
      "message": "mm: pagecache insertion fewer atomics\n\nSetting and clearing the page locked when inserting it into swapcache /\npagecache when it has no other references can use non-atomic page flags\noperations because no other CPU may be operating on it at this time.\n\nThis saves one atomic operation when inserting a page into pagecache.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "902d2e8ae0de29f483840ba1134af27343b9564d",
      "tree": "2f14626a70b5d7fbae9db33dfb155346b154e3f7",
      "parents": [
        "985737cf2ea096ea946aed82c7484d40defc71a8"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Sat Oct 18 20:26:54 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:31 2008 -0700"
      },
      "message": "vmscan: kill unused lru functions\n\nSeveral LRU manupuration function are not used now.  So they can be\nremoved.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "985737cf2ea096ea946aed82c7484d40defc71a8",
      "tree": "b96dc3b8c28f743857a7a1fff25472d6e0f60120",
      "parents": [
        "af936a1606246a10c145feac3770f6287f483f02"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Sat Oct 18 20:26:53 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:31 2008 -0700"
      },
      "message": "mlock: count attempts to free mlocked page\n\nAllow free of mlock()ed pages.  This shouldn\u0027t happen, but during\ndevelopement, it occasionally did.\n\nThis patch allows us to survive that condition, while keeping the\nstatistics and events correct for debug.\n\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "af936a1606246a10c145feac3770f6287f483f02",
      "tree": "8b1ca7fabb5c749ffdecd654519889c6c2ed2fb6",
      "parents": [
        "64d6519dda3905dfb94d3f93c07c5f263f41813f"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Sat Oct 18 20:26:53 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:31 2008 -0700"
      },
      "message": "vmscan: unevictable LRU scan sysctl\n\nThis patch adds a function to scan individual or all zones\u0027 unevictable\nlists and move any pages that have become evictable onto the respective\nzone\u0027s inactive list, where shrink_inactive_list() will deal with them.\n\nAdds sysctl to scan all nodes, and per node attributes to individual\nnodes\u0027 zones.\n\nKosaki: If evictable page found in unevictable lru when write\n/proc/sys/vm/scan_unevictable_pages, print filename and file offset of\nthese pages.\n\n[akpm@linux-foundation.org: fix one CONFIG_MMU\u003dn build error]\n[kosaki.motohiro@jp.fujitsu.com: adapt vmscan-unevictable-lru-scan-sysctl.patch to new sysfs API]\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "64d6519dda3905dfb94d3f93c07c5f263f41813f",
      "tree": "62cae88edcb858c42a5b4b568eb77801299250bb",
      "parents": [
        "5344b7e648980cc2ca613ec03a56a8222ff48820"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Sat Oct 18 20:26:52 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:31 2008 -0700"
      },
      "message": "swap: cull unevictable pages in fault path\n\nIn the fault paths that install new anonymous pages, check whether the\npage is evictable or not using lru_cache_add_active_or_unevictable().  If\nthe page is evictable, just add it to the active lru list [via the pagevec\ncache], else add it to the unevictable list.\n\nThis \"proactive\" culling in the fault path mimics the handling of mlocked\npages in Nick Piggin\u0027s series to keep mlocked pages off the lru lists.\n\nNotes:\n\n1) This patch is optional--e.g., if one is concerned about the\n   additional test in the fault path.  We can defer the moving of\n   nonreclaimable pages until when vmscan [shrink_*_list()]\n   encounters them.  Vmscan will only need to handle such pages\n   once, but if there are a lot of them it could impact system\n   performance.\n\n2) The \u0027vma\u0027 argument to page_evictable() is require to notice that\n   we\u0027re faulting a page into an mlock()ed vma w/o having to scan the\n   page\u0027s rmap in the fault path.   Culling mlock()ed anon pages is\n   currently the only reason for this patch.\n\n3) We can\u0027t cull swap pages in read_swap_cache_async() because the\n   vma argument doesn\u0027t necessarily correspond to the swap cache\n   offset passed in by swapin_readahead().  This could [did!] result\n   in mlocking pages in non-VM_LOCKED vmas if [when] we tried to\n   cull in this path.\n\n4) Move set_pte_at() to after where we add page to lru to keep it\n   hidden from other tasks that might walk the page table.\n   We already do it in this order in do_anonymous() page.  And,\n   these are COW\u0027d anon pages.  Is this safe?\n\n[riel@redhat.com: undo an overzealous code cleanup]\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5344b7e648980cc2ca613ec03a56a8222ff48820",
      "tree": "f9f8773ae8e38fb91aec52ca9ad2bd81f039b565",
      "parents": [
        "ba470de43188cdbff795b5da43a1474523c6c2fb"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Sat Oct 18 20:26:51 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:31 2008 -0700"
      },
      "message": "vmstat: mlocked pages statistics\n\nAdd NR_MLOCK zone page state, which provides a (conservative) count of\nmlocked pages (actually, the number of mlocked pages moved off the LRU).\n\nReworked by lts to fit in with the modified mlock page support in the\nReclaim Scalability series.\n\n[kosaki.motohiro@jp.fujitsu.com: fix incorrect Mlocked field of /proc/meminfo]\n[lee.schermerhorn@hp.com: mlocked-pages: add event counting with statistics]\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b291f000393f5a0b679012b39d79fbc85c018233",
      "tree": "28eb785d4d157d3396e4377294e6054635a4bd90",
      "parents": [
        "89e004ea55abe201b29e2d6e35124101f1288ef7"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Sat Oct 18 20:26:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:30 2008 -0700"
      },
      "message": "mlock: mlocked pages are unevictable\n\nMake sure that mlocked pages also live on the unevictable LRU, so kswapd\nwill not scan them over and over again.\n\nThis is achieved through various strategies:\n\n1) add yet another page flag--PG_mlocked--to indicate that\n   the page is locked for efficient testing in vmscan and,\n   optionally, fault path.  This allows early culling of\n   unevictable pages, preventing them from getting to\n   page_referenced()/try_to_unmap().  Also allows separate\n   accounting of mlock\u0027d pages, as Nick\u0027s original patch\n   did.\n\n   Note:  Nick\u0027s original mlock patch used a PG_mlocked\n   flag.  I had removed this in favor of the PG_unevictable\n   flag + an mlock_count [new page struct member].  I\n   restored the PG_mlocked flag to eliminate the new\n   count field.\n\n2) add the mlock/unevictable infrastructure to mm/mlock.c,\n   with internal APIs in mm/internal.h.  This is a rework\n   of Nick\u0027s original patch to these files, taking into\n   account that mlocked pages are now kept on unevictable\n   LRU list.\n\n3) update vmscan.c:page_evictable() to check PageMlocked()\n   and, if vma passed in, the vm_flags.  Note that the vma\n   will only be passed in for new pages in the fault path;\n   and then only if the \"cull unevictable pages in fault\n   path\" patch is included.\n\n4) add try_to_unlock() to rmap.c to walk a page\u0027s rmap and\n   ClearPageMlocked() if no other vmas have it mlocked.\n   Reuses as much of try_to_unmap() as possible.  This\n   effectively replaces the use of one of the lru list links\n   as an mlock count.  If this mechanism let\u0027s pages in mlocked\n   vmas leak through w/o PG_mlocked set [I don\u0027t know that it\n   does], we should catch them later in try_to_unmap().  One\n   hopes this will be rare, as it will be relatively expensive.\n\nOriginal mm/internal.h, mm/rmap.c and mm/mlock.c changes:\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\n\nsplitlru: introduce __get_user_pages():\n\n  New munlock processing need to GUP_FLAGS_IGNORE_VMA_PERMISSIONS.\n  because current get_user_pages() can\u0027t grab PROT_NONE pages theresore it\n  cause PROT_NONE pages can\u0027t munlock.\n\n[akpm@linux-foundation.org: fix this for pagemap-pass-mm-into-pagewalkers.patch]\n[akpm@linux-foundation.org: untangle patch interdependencies]\n[akpm@linux-foundation.org: fix things after out-of-order merging]\n[hugh@veritas.com: fix page-flags mess]\n[lee.schermerhorn@hp.com: fix munlock page table walk - now requires \u0027mm\u0027]\n[kosaki.motohiro@jp.fujitsu.com: build fix]\n[kosaki.motohiro@jp.fujitsu.com: fix truncate race and sevaral comments]\n[kosaki.motohiro@jp.fujitsu.com: splitlru: introduce __get_user_pages()]\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "89e004ea55abe201b29e2d6e35124101f1288ef7",
      "tree": "272a8f453106fd33d66fd7153f44696648dbe8b6",
      "parents": [
        "ba9ddf49391645e6bb93219131a40446538a5e76"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "Lee.Schermerhorn@hp.com",
        "time": "Sat Oct 18 20:26:43 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:50:26 2008 -0700"
      },
      "message": "SHM_LOCKED pages are unevictable\n\nShmem segments locked into memory via shmctl(SHM_LOCKED) should not be\nkept on the normal LRU, since scanning them is a waste of time and might\nthrow off kswapd\u0027s balancing algorithms.  Place them on the unevictable\nLRU list instead.\n\nUse the AS_UNEVICTABLE flag to mark address_space of SHM_LOCKed shared\nmemory regions as unevictable.  Then these pages will be culled off the\nnormal LRU lists during vmscan.\n\nAdd new wrapper function to clear the mapping\u0027s unevictable state when/if\nshared memory segment is munlocked.\n\nAdd \u0027scan_mapping_unevictable_page()\u0027 to mm/vmscan.c to scan all pages in\nthe shmem segment\u0027s mapping [struct address_space] for evictability now\nthat they\u0027re no longer locked.  If so, move them to the appropriate zone\nlru list.\n\nChanges depend on [CONFIG_]UNEVICTABLE_LRU.\n\n[kosaki.motohiro@jp.fujitsu.com: revert shm change]\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Kosaki Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ba9ddf49391645e6bb93219131a40446538a5e76",
      "tree": "2202525ca36c6f629685f5fea60b5b3ba335f546",
      "parents": [
        "7b854121eb3e5ba0241882ff939e2c485228c9c5"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "Lee.Schermerhorn@hp.com",
        "time": "Sat Oct 18 20:26:42 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:50:26 2008 -0700"
      },
      "message": "Ramfs and Ram Disk pages are unevictable\n\nChristoph Lameter pointed out that ram disk pages also clutter the LRU\nlists.  When vmscan finds them dirty and tries to clean them, the ram disk\nwriteback function just redirties the page so that it goes back onto the\nactive list.  Round and round she goes...\n\nWith the ram disk driver [rd.c] replaced by the newer \u0027brd.c\u0027, this is no\nlonger the case, as ram disk pages are no longer maintained on the lru.\n[This makes them unmigratable for defrag or memory hot remove, but that\ncan be addressed by a separate patch series.] However, the ramfs pages\nbehave like ram disk pages used to, so:\n\nDefine new address_space flag [shares address_space flags member with\nmapping\u0027s gfp mask] to indicate that the address space contains all\nunevictable pages.  This will provide for efficient testing of ramfs pages\nin page_evictable().\n\nAlso provide wrapper functions to set/test the unevictable state to\nminimize #ifdefs in ramfs driver and any other users of this facility.\n\nSet the unevictable state on address_space structures for new ramfs\ninodes.  Test the unevictable state in page_evictable() to cull\nunevictable pages.\n\nThese changes depend on [CONFIG_]UNEVICTABLE_LRU.\n\n[riel@redhat.com: undo the brd.c part]\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nDebugged-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bbfd28eee9fbd73e780b19beb3dc562befbb94fa",
      "tree": "0e810fcd61501ef57e613a737593067b0bc61d40",
      "parents": [
        "894bc310419ac95f4fa4142dc364401a7e607f65"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Sat Oct 18 20:26:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:50:26 2008 -0700"
      },
      "message": "unevictable lru: add event counting with statistics\n\nFix to unevictable-lru-page-statistics.patch\n\nAdd unevictable lru infrastructure vm events to the statistics patch.\nRename the \"NORECL_\" and \"noreclaim_\" symbols and text strings to\n\"UNEVICTABLE_\" and \"unevictable_\", respectively.\n\nCurrently, both the infrastructure and the mlocked pages event are\nadded by a single patch later in the series.  This makes it difficult\nto add or rework the incremental patches.  The events actually \"belong\"\nwith the stats, so pull them up to here.\n\nAlso, restore the event counting to putback_lru_page().  This was removed\nfrom previous patch in series where it was \"misplaced\".  The actual events\nweren\u0027t defined that early.\n\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "894bc310419ac95f4fa4142dc364401a7e607f65",
      "tree": "15d56a7333b41620016b845d2323dd06e822b621",
      "parents": [
        "8a7a8544a4f6554ec2d8048ac9f9672f442db5a2"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "Lee.Schermerhorn@hp.com",
        "time": "Sat Oct 18 20:26:39 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:50:26 2008 -0700"
      },
      "message": "Unevictable LRU Infrastructure\n\nWhen the system contains lots of mlocked or otherwise unevictable pages,\nthe pageout code (kswapd) can spend lots of time scanning over these\npages.  Worse still, the presence of lots of unevictable pages can confuse\nkswapd into thinking that more aggressive pageout modes are required,\nresulting in all kinds of bad behaviour.\n\nInfrastructure to manage pages excluded from reclaim--i.e., hidden from\nvmscan.  Based on a patch by Larry Woodman of Red Hat.  Reworked to\nmaintain \"unevictable\" pages on a separate per-zone LRU list, to \"hide\"\nthem from vmscan.\n\nKosaki Motohiro added the support for the memory controller unevictable\nlru list.\n\nPages on the unevictable list have both PG_unevictable and PG_lru set.\nThus, PG_unevictable is analogous to and mutually exclusive with\nPG_active--it specifies which LRU list the page is on.\n\nThe unevictable infrastructure is enabled by a new mm Kconfig option\n[CONFIG_]UNEVICTABLE_LRU.\n\nA new function \u0027page_evictable(page, vma)\u0027 in vmscan.c tests whether or\nnot a page may be evictable.  Subsequent patches will add the various\n!evictable tests.  We\u0027ll want to keep these tests light-weight for use in\nshrink_active_list() and, possibly, the fault path.\n\nTo avoid races between tasks putting pages [back] onto an LRU list and\ntasks that might be moving the page from non-evictable to evictable state,\nthe new function \u0027putback_lru_page()\u0027 -- inverse to \u0027isolate_lru_page()\u0027\n-- tests the \"evictability\" of a page after placing it on the LRU, before\ndropping the reference.  If the page has become unevictable,\nputback_lru_page() will redo the \u0027putback\u0027, thus moving the page to the\nunevictable list.  This way, we avoid \"stranding\" evictable pages on the\nunevictable list.\n\n[akpm@linux-foundation.org: fix fallout from out-of-order merge]\n[riel@redhat.com: fix UNEVICTABLE_LRU and !PROC_PAGE_MONITOR build]\n[nishimura@mxp.nes.nec.co.jp: remove redundant mapping check]\n[kosaki.motohiro@jp.fujitsu.com: unevictable-lru-infrastructure: putback_lru_page()/unevictable page handling rework]\n[kosaki.motohiro@jp.fujitsu.com: kill unnecessary lock_page() in vmscan.c]\n[kosaki.motohiro@jp.fujitsu.com: revert migration change of unevictable lru infrastructure]\n[kosaki.motohiro@jp.fujitsu.com: revert to unevictable-lru-infrastructure-kconfig-fix.patch]\n[kosaki.motohiro@jp.fujitsu.com: restore patch failure of vmstat-unevictable-and-mlocked-pages-vm-events.patch]\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nDebugged-by: Benjamin Kidwell \u003cbenjkidwell@yahoo.com\u003e\nSigned-off-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8a7a8544a4f6554ec2d8048ac9f9672f442db5a2",
      "tree": "9d64d0774f5aeb2828c51b19bce02c1e63c4725e",
      "parents": [
        "33c120ed2843090e2bd316de1588b8bf8b96cbde"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Sat Oct 18 20:26:37 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:50:26 2008 -0700"
      },
      "message": "pageflag helpers for configed-out flags\n\nDefine proper false/noop inline functions for noreclaim page flags when\n!defined(CONFIG_UNEVICTABLE_LRU)\n\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "556adecba110bf5f1db6c6b56416cfab5bcab698",
      "tree": "a721d84d28c4d99a54632b472b452ea3d4b2b137",
      "parents": [
        "4f98a2fee8acdb4ac84545df98cccecfd130f8db"
      ],
      "author": {
        "name": "Rik van Riel",
        "email": "riel@redhat.com",
        "time": "Sat Oct 18 20:26:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:50:25 2008 -0700"
      },
      "message": "vmscan: second chance replacement for anonymous pages\n\nWe avoid evicting and scanning anonymous pages for the most part, but\nunder some workloads we can end up with most of memory filled with\nanonymous pages.  At that point, we suddenly need to clear the referenced\nbits on all of memory, which can take ages on very large memory systems.\n\nWe can reduce the maximum number of pages that need to be scanned by not\ntaking the referenced state into account when deactivating an anonymous\npage.  After all, every anonymous page starts out referenced, so why\ncheck?\n\nIf an anonymous page gets referenced again before it reaches the end of\nthe inactive list, we move it back to the active list.\n\nTo keep the maximum amount of necessary work reasonable, we scale the\nactive to inactive ratio with the size of memory, using the formula\nactive:inactive ratio \u003d sqrt(memory in GB * 10).\n\nKswapd CPU use now seems to scale by the amount of pageout bandwidth,\ninstead of by the amount of memory present in the system.\n\n[kamezawa.hiroyu@jp.fujitsu.com: fix OOM with memcg]\n[kamezawa.hiroyu@jp.fujitsu.com: memcg: lru scan fix]\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4f98a2fee8acdb4ac84545df98cccecfd130f8db",
      "tree": "035a2937f4c3e2f7b4269412041c073ac646937c",
      "parents": [
        "b2e185384f534781fd22f5ce170b2ad26f97df70"
      ],
      "author": {
        "name": "Rik van Riel",
        "email": "riel@redhat.com",
        "time": "Sat Oct 18 20:26:32 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:50:25 2008 -0700"
      },
      "message": "vmscan: split LRU lists into anon \u0026 file sets\n\nSplit the LRU lists in two, one set for pages that are backed by real file\nsystems (\"file\") and one for pages that are backed by memory and swap\n(\"anon\").  The latter includes tmpfs.\n\nThe advantage of doing this is that the VM will not have to scan over lots\nof anonymous pages (which we generally do not want to swap out), just to\nfind the page cache pages that it should evict.\n\nThis patch has the infrastructure and a basic policy to balance how much\nwe scan the anon lists and how much we scan the file lists.  The big\npolicy changes are in separate patches.\n\n[lee.schermerhorn@hp.com: collect lru meminfo statistics from correct offset]\n[kosaki.motohiro@jp.fujitsu.com: prevent incorrect oom under split_lru]\n[kosaki.motohiro@jp.fujitsu.com: fix pagevec_move_tail() doesn\u0027t treat unevictable page]\n[hugh@veritas.com: memcg swapbacked pages active]\n[hugh@veritas.com: splitlru: BDI_CAP_SWAP_BACKED]\n[akpm@linux-foundation.org: fix /proc/vmstat units]\n[nishimura@mxp.nes.nec.co.jp: memcg: fix handling of shmem migration]\n[kosaki.motohiro@jp.fujitsu.com: adjust Quicklists field of /proc/meminfo]\n[kosaki.motohiro@jp.fujitsu.com: fix style issue of get_scan_ratio()]\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b2e185384f534781fd22f5ce170b2ad26f97df70",
      "tree": "3096b8250302c5a9f71b1b5122345f7cf62606cc",
      "parents": [
        "68a22394c286a2daf06ee8d65d8835f738faefa5"
      ],
      "author": {
        "name": "Rik van Riel",
        "email": "riel@redhat.com",
        "time": "Sat Oct 18 20:26:30 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:50:25 2008 -0700"
      },
      "message": "define page_file_cache() function\n\nDefine page_file_cache() function to answer the question:\n\tis page backed by a file?\n\nOriginally part of Rik van Riel\u0027s split-lru patch.  Extracted to make\navailable for other, independent reclaim patches.\n\nMoved inline function to linux/mm_inline.h where it will be needed by\nsubsequent \"split LRU\" and \"noreclaim\" patches.\n\nUnfortunately this needs to use a page flag, since the PG_swapbacked state\nneeds to be preserved all the way to the point where the page is last\nremoved from the LRU.  Trying to derive the status from other info in the\npage resulted in wrong VM statistics in earlier split VM patchsets.\n\nThe total number of page flags in use on a 32 bit machine after this patch\nis 19.\n\n[akpm@linux-foundation.org: fix up out-of-order merge fallout]\n[hugh@veritas.com: splitlru: shmem_getpage SetPageSwapBacked sooner[\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: MinChan Kim \u003cminchan.kim@gmail.com\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "68a22394c286a2daf06ee8d65d8835f738faefa5",
      "tree": "1fb91d5bf57a1f6d1cabaac0a6f5d86060ebecb5",
      "parents": [
        "f04e9ebbe4909f9a41efd55149bc353299f4e83b"
      ],
      "author": {
        "name": "Rik van Riel",
        "email": "riel@redhat.com",
        "time": "Sat Oct 18 20:26:23 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:50:25 2008 -0700"
      },
      "message": "vmscan: free swap space on swap-in/activation\n\nIf vm_swap_full() (swap space more than 50% full), the system will free\nswap space at swapin time.  With this patch, the system will also free the\nswap space in the pageout code, when we decide that the page is not a\ncandidate for swapout (and just wasting swap space).\n\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\nSigned-off-by: MinChan Kim \u003cminchan.kim@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f04e9ebbe4909f9a41efd55149bc353299f4e83b",
      "tree": "4ff31c7f918edafe7d4e4dd0e926b6ac545c7897",
      "parents": [
        "b69408e88bd86b98feb7b9a38fd865e1ddb29827"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Sat Oct 18 20:26:19 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:50:25 2008 -0700"
      },
      "message": "swap: use an array for the LRU pagevecs\n\nTurn the pagevecs into an array just like the LRUs.  This significantly\ncleans up the source code and reduces the size of the kernel by about 13kB\nafter all the LRU lists have been created further down in the split VM\npatch series.\n\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b69408e88bd86b98feb7b9a38fd865e1ddb29827",
      "tree": "b19277c29fe624870ba776cc6ada59928cd2796d",
      "parents": [
        "62695a84eb8f2e718bf4dfb21700afaa7a08e0ea"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux-foundation.org",
        "time": "Sat Oct 18 20:26:14 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:50:25 2008 -0700"
      },
      "message": "vmscan: Use an indexed array for LRU variables\n\nCurrently we are defining explicit variables for the inactive and active\nlist.  An indexed array can be more generic and avoid repeating similar\ncode in several places in the reclaim code.\n\nWe are saving a few bytes in terms of code size:\n\nBefore:\n\n   text    data     bss     dec     hex filename\n4097753  573120 4092484 8763357  85b7dd vmlinux\n\nAfter:\n\n   text    data     bss     dec     hex filename\n4097729  573120 4092484 8763333  85b7c5 vmlinux\n\nHaving an easy way to add new lru lists may ease future work on the\nreclaim code.\n\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "62695a84eb8f2e718bf4dfb21700afaa7a08e0ea",
      "tree": "0af7bac599748a7e462bff16d70c702c9e33a2fb",
      "parents": [
        "71088785c6bc68fddb450063d57b1bd1c78e0ea1"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Sat Oct 18 20:26:09 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:50:25 2008 -0700"
      },
      "message": "vmscan: move isolate_lru_page() to vmscan.c\n\nOn large memory systems, the VM can spend way too much time scanning\nthrough pages that it cannot (or should not) evict from memory.  Not only\ndoes it use up CPU time, but it also provokes lock contention and can\nleave large systems under memory presure in a catatonic state.\n\nThis patch series improves VM scalability by:\n\n1) putting filesystem backed, swap backed and unevictable pages\n   onto their own LRUs, so the system only scans the pages that it\n   can/should evict from memory\n\n2) switching to two handed clock replacement for the anonymous LRUs,\n   so the number of pages that need to be scanned when the system\n   starts swapping is bound to a reasonable number\n\n3) keeping unevictable pages off the LRU completely, so the\n   VM does not waste CPU time scanning them. ramfs, ramdisk,\n   SHM_LOCKED shared memory segments and mlock()ed VMA pages\n   are keept on the unevictable list.\n\nThis patch:\n\nisolate_lru_page logically belongs to be in vmscan.c than migrate.c.\n\nIt is tough, because we don\u0027t need that function without memory migration\nso there is a valid argument to have it in migrate.c.  However a\nsubsequent patch needs to make use of it in the core mm, so we can happily\nmove it to vmscan.c.\n\nAlso, make the function a little more generic by not requiring that it\nadds an isolated page to a given list.  Callers can do that.\n\n\tNote that we now have \u0027__isolate_lru_page()\u0027, that does\n\tsomething quite different, visible outside of vmscan.c\n\tfor use with memory controller.  Methinks we need to\n\trationalize these names/purposes.\t--lts\n\n[akpm@linux-foundation.org: fix mm/memory_hotplug.c build]\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c465a76af658b443075d6efee1c3131257643020",
      "tree": "63c28c9fab02dedec7f03cee4a3ef7fe4dc1c072",
      "parents": [
        "2d42244ae71d6c7b0884b5664cf2eda30fb2ae68",
        "1b02469088ac7a13d7e622b618b7410d0f1ce5ec",
        "fb02fbc14d17837b4b7b02dbb36142c16a7bf208",
        "d40e944c25fb4642adb2a4c580a48218a9f3f824",
        "1508487e7f16d992ad23cabd3712563ff912f413",
        "322acf6585f3c4e82ee32a246b0483ca0f6ad3f4"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Oct 20 13:14:06 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Oct 20 13:14:06 2008 +0200"
      },
      "message": "Merge branches \u0027timers/clocksource\u0027, \u0027timers/hrtimers\u0027, \u0027timers/nohz\u0027, \u0027timers/ntp\u0027, \u0027timers/posixtimers\u0027 and \u0027timers/debug\u0027 into v28-timers-for-linus\n"
    },
    {
      "commit": "4cb40f795af36b3deb743f6ccf6c3fd542c61c8d",
      "tree": "db3d7519932549bf528f5b8e4cb8350356cd544d",
      "parents": [
        "79ed2a9216dd3cc35c4f2c5dbaddadb195af83ac",
        "0cfd81031a26717fe14380d18275f8e217571615"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Mon Oct 20 11:17:52 2008 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Mon Oct 20 11:17:52 2008 +0900"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nConflicts:\n\n\tDocumentation/kernel-parameters.txt\n\tarch/sh/include/asm/elf.h\n"
    },
    {
      "commit": "7acb706ca97fce84bda4a902a33de2f3dae10260",
      "tree": "90e6468e55ea1029258dda97a5f2c0e1566ef8d2",
      "parents": [
        "9297a0e7e033b7f2776610197fcbb9ff563efe32"
      ],
      "author": {
        "name": "Ian Molton",
        "email": "spyro@f2s.com",
        "time": "Thu Oct 09 20:06:09 2008 +0200"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "samuel@sortiz.org",
        "time": "Sun Oct 19 22:54:12 2008 +0200"
      },
      "message": "mfd: update TMIO drivers to use the clock API\n\nThis patch updates the remaining two TMIO drivers to use the clock API\nrather than callback hooks into platform code.\n\nSigned-off-by: Ian Molton \u003cspyro@f2s.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@openedhand.com\u003e\n"
    },
    {
      "commit": "26b8f5e1e2d1229c186d8e61d26513c43a058c5e",
      "tree": "0d1b2b7e92730f82476e1b5811ceda50f0513125",
      "parents": [
        "a603a7fa8717fb778bba91b5a879babf333dc6a3"
      ],
      "author": {
        "name": "Eric Miao",
        "email": "eric.miao@marvell.com",
        "time": "Wed Oct 15 12:20:06 2008 +0200"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "samuel@sortiz.org",
        "time": "Sun Oct 19 22:54:11 2008 +0200"
      },
      "message": "mfd: add base support for Dialog DA9030/DA9034 PMICs\n\nDA9030 (a.k.a ARAVA) and DA9034 (a.k.a MICCO) are PMICs designed by\nDialog Semiconductor, usually found on PXA-based platforms. These\nPMICs are I2C-based, multi-function devices, usually with LEDs, PWMs\nfor backlight, BUCKs and LDOs, ADCs and touchscreen controller (on\nDA9034).\n\nThis is the base support for the I2C operations, event registration\nand handling, sub-devices management.\n\nSigned-off-by: Mike Rapoport \u003cmike@compulab.co.il\u003e\nSigned-off-by: Eric Miao \u003ceric.miao@marvell.com\u003e\nSigned-off-by: Liam Girdwood \u003clrg@kernel.org\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@openedhand.com\u003e\n"
    },
    {
      "commit": "a603a7fa8717fb778bba91b5a879babf333dc6a3",
      "tree": "1dbfc1ed0db49810d6e7186577d16566f0527894",
      "parents": [
        "9e78cfe53f3c2bc1b37870697c3cde1543fefa8b"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Wed Oct 15 12:15:39 2008 +0200"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "samuel@sortiz.org",
        "time": "Sun Oct 19 22:54:11 2008 +0200"
      },
      "message": "mfd: TWL4030 core driver\n\nThis patch adds the core of the TWL4030 driver, which supports\nchips including the TPS65950.  These chips are multi-function; see\n\n  http://focus.ti.com/docs/prod/folders/print/tps65950.html\n\nPublic specs are in the works.  For now, the block diagram on\nthe second page of the datasheet is fairly informative.\n\nThere are some known issues with this core code.  Most notably,\nthe IRQ dispatching needs simplification (to use more of genirq),\ngeneralization (integrating support for secondary IRQ dispatch\nas well as primary, and removing the build dependency on OMAP),\nand then probably updating to leverage threaded IRQ support\n(expected to arrive in mainline \"soon\").\n\nOnce the core is in mainline, drivers for other parts of this\nchip can follow its lead and start swimming upstream too.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@openedhand.com\u003e\n"
    },
    {
      "commit": "9e78cfe53f3c2bc1b37870697c3cde1543fefa8b",
      "tree": "00b5c90b5c687b1f6d58fed7f03d3843a36dd73b",
      "parents": [
        "51a55623565c6ca864f7cf19e87c2d4bde1c0c5e"
      ],
      "author": {
        "name": "Dmitry Baryshkov",
        "email": "dbaryshkov@gmail.com",
        "time": "Sat Oct 04 00:50:36 2008 +0200"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "samuel@sortiz.org",
        "time": "Sun Oct 19 22:54:11 2008 +0200"
      },
      "message": "mfd: support tmiofb cell on tc6393xb\n\nAdd support for tmiofb cell found in tc6393xb chip.\n\nSigned-off-by: Dmitry Baryshkov \u003cdbaryshkov@gmail.com\u003e\nCc: Ian Molton \u003cspyro@f2s.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@openedhand.com\u003e\n"
    },
    {
      "commit": "51a55623565c6ca864f7cf19e87c2d4bde1c0c5e",
      "tree": "1151f856655c95b60b045d60732b23ab75403fef",
      "parents": [
        "504f97f884bafcd14d28ab52533e7b92996c8b98"
      ],
      "author": {
        "name": "Dmitry Baryshkov",
        "email": "dbaryshkov@gmail.com",
        "time": "Fri Oct 03 20:11:36 2008 +0200"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "samuel@sortiz.org",
        "time": "Sun Oct 19 22:54:10 2008 +0200"
      },
      "message": "mfd: add OHCI cell to tc6393xb\n\nAdd information regarding OHCI cell of the tc6393xb\n\nSigned-off-by: Dmitry Baryshkov \u003cdbaryshkov@gmail.com\u003e\nAcked-by: Ian Molton \u003cspyro@f2s.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@openedhand.com\u003e\n"
    },
    {
      "commit": "f98a0bd0e4b77b12e49ce01f4c9f04503931c291",
      "tree": "6197077b24c880eb79d7d2864b60372c358df1b0",
      "parents": [
        "1c1b6ffce5737d764cc474b9bd6677bb9a344094"
      ],
      "author": {
        "name": "Dmitry Baryshkov",
        "email": "dbaryshkov@gmail.com",
        "time": "Wed Sep 24 23:46:10 2008 +0200"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "samuel@sortiz.org",
        "time": "Sun Oct 19 22:54:10 2008 +0200"
      },
      "message": "mfd: do tcb6393xb state restore on resume only if requested\n\nAs requested by Ian make state restore only if it\u0027s requested\nby platform data: some platforms do correctly save the state of\nthe chip during suspend/resume, but some (like tosa) incorrectly\npower off the chip at suspend, so the driver supports restoring\nsome bits of the tc6393xb state (not full, merely enough to support\nresume on tosa). With this patch this code is disabled by default.\n\nSigned-off-by: Dmitry Baryshkov \u003cdbaryshkov@gmail.com\u003e\nAcked-by: Ian Molton \u003cspyro@f2s.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@openedhand.com\u003e\n"
    },
    {
      "commit": "1c1b6ffce5737d764cc474b9bd6677bb9a344094",
      "tree": "b637110fe6282769104b72d08b3864ed1538bf96",
      "parents": [
        "80e74a805f0a6662b9b8de519439afd06ac35427"
      ],
      "author": {
        "name": "Dmitry Baryshkov",
        "email": "dbaryshkov@gmail.com",
        "time": "Wed Sep 24 23:36:23 2008 +0200"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "samuel@sortiz.org",
        "time": "Sun Oct 19 22:54:09 2008 +0200"
      },
      "message": "mfd: provide and use setup hook for tc6393xb\n\nInstead of using bitfields for initial gpio setup,\nprovide generic setup/teardown hooks that can be used\nto set the gpio states, register child devices, etc.\n\nSigned-off-by: Dmitry Baryshkov \u003cdbaryshkov@gmail.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@openedhand.com\u003e\n"
    },
    {
      "commit": "ed8c3174dd227031d1f3b9fa4fbb512f8f623434",
      "tree": "bac4953f8899d6600f4716c0bcde1e25e34c2591",
      "parents": [
        "8aef7e8f8de2d900da892085edbf14ea35fe6881",
        "0cfd81031a26717fe14380d18275f8e217571615"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "cbouatmailru@gmail.com",
        "time": "Sat Oct 18 20:28:24 2008 +0400"
      },
      "committer": {
        "name": "Anton Vorontsov",
        "email": "cbouatmailru@gmail.com",
        "time": "Sat Oct 18 20:28:24 2008 +0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nConflicts:\n\n\tdrivers/power/Makefile\n"
    },
    {
      "commit": "dd3a1db900f2a215a7d7dd71b836e149a6cf5fed",
      "tree": "b7e124cec8f750116907a86701937f3edf272936",
      "parents": [
        "cc8e920aaf5558f87851169b33c420cc4516c253"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Oct 16 18:20:58 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Oct 18 14:05:18 2008 +0200"
      },
      "message": "genirq: improve include files\n\nMove the irq_desc related iterators out of irq.h, into irqnr.h, also\navailable via interrupt.h.\n\nThis way non-genirq (and even non-hardirq) architectures get the\ncommon definitions and iterators.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "aaf7ea20000436df3cbb397ccb734ad1e2e5164d",
      "tree": "37ab4c9f5a4a34f796ab69bb1cef436522876503",
      "parents": [
        "a0ee24a03b1c06813c814b9f70946c8984752f01"
      ],
      "author": {
        "name": "Mike Rapoport",
        "email": "mike@compulab.co.il",
        "time": "Wed Oct 15 08:38:49 2008 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Sat Oct 18 12:48:42 2008 +0100"
      },
      "message": "[MTD] [NAND] GPIO NAND flash driver\n\nThe patch adds support for NAND flashes connected to GPIOs.\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Mike Rapoport \u003cmike@compulab.co.il\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "0cfd81031a26717fe14380d18275f8e217571615",
      "tree": "78a84e4cb97e7f45eb77dc0fbd8857a5dd717869",
      "parents": [
        "f7ea4a4ba84f382e8eb143e435551de0feee5b4b",
        "802f389a2cc6e2771b8de915ac241456d41eb79e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 17 15:43:52 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 17 15:43:52 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (94 commits)\n  USB: remove err() macro from more usb drivers\n  USB: remove err() macro from usb misc drivers\n  USB: remove err() macro from usb core code\n  USB: remove err() macro from usb class drivers\n  USB: remove use of err() in drivers/usb/serial\n  USB: remove info() macro from usb mtd drivers\n  USB: remove info() macro from usb input drivers\n  USB: remove info() macro from usb network drivers\n  USB: remove info() macro from remaining usb drivers\n  USB: remove info() macro from usb/misc drivers\n  USB: remove info() macro from usb/serial drivers\n  USB: remove warn macro from HID core\n  USB: remove warn() macro from usb drivers\n  USB: remove warn() macro from usb net drivers\n  USB: remove warn() macro from usb media drivers\n  USB: remove warn() macro from usb input drivers\n  usb/fsl_qe_udc: clear data toggle on clear halt request\n  usb/fsl_qe_udc: fix response to get status request\n  fsl_usb2_udc: Fix oops on probe failure.\n  fsl_usb2_udc: Add a wmb before priming endpoint.\n  ...\n"
    },
    {
      "commit": "5564da7e9d12ea80745f66c8d2ec7bd00f3f94eb",
      "tree": "30e5327e7fac3dad5e8f74e777d1f621f0693791",
      "parents": [
        "58617d5e59663d2edea03bd03cb74279827611bb",
        "d4305c68cc30b66a71ea05297e6c0663feccad65"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 17 15:08:47 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 17 15:08:47 2008 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (95 commits)\n  V4L/DVB (9296): Patch to remove warning message during cx88-dvb compilation\n  V4L/DVB (9294): gspca: Add a stop sequence in t613.\n  V4L/DVB (9293): gspca: Separate and fix the sensor dependant sequences in t613.\n  V4L/DVB (9292): gspca: Call the control setting functions at init time in t613.\n  V4L/DVB (9291): gspca: Do not set the white balance temperature by default in t613.\n  V4L/DVB (9290): gspca: Adjust the sensor init sequences in t613.\n  V4L/DVB (9289): gspca: Other sensor identified as om6802 in t613.\n  V4L/DVB (9288): gspca: Write to the USB device and not USB interface in t613.\n  V4L/DVB (9287): gspca: Change the name of the multi bytes write function in t613.\n  V4L/DVB (9286): gspca: Compilation problem of gspca.c and the kernel version.\n  V4L/DVB (9283): Correct typo and enable setting the gain on the mt9m111 sensor\n  V4L/DVB (9282): Properly iterate the urbs when destroying them.\n  V4L/DVB (9281): gspca: Add hflip and vflip to the po1030 sensor\n  V4L/DVB (9280): gspca: Use the gspca debug macros\n  V4L/DVB (9279): gspca: Correct some copyright headers\n  V4L/DVB (9278): gspca: Remove the m5602_debug variable\n  V4L/DVB (9277): gspca: propagate an error in m5602_start_transfer()\n  V4L/DVB (9276): videobuf-dvb: two functions are now static\n  V4L/DVB (9275): dvb: input data pointer of cx24116_writeregN() should be const\n  V4L/DVB (9274): Remove spurious messages and turn into debug.\n  ...\n"
    },
    {
      "commit": "58617d5e59663d2edea03bd03cb74279827611bb",
      "tree": "1b472f0ab43ae08fef5dea30b95592a005385686",
      "parents": [
        "26e9a397774a0e94efbb8a0bf4a952c28d808cab",
        "f287a1a56130be5fdb96a4a62d1290bd064f308e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 17 15:08:11 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 17 15:08:11 2008 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:\n  ext4: Remove automatic enabling of the HUGE_FILE feature flag\n  ext4: Replace hackish ext4_mb_poll_new_transaction with commit callback\n  ext4: Update Documentation/filesystems/ext4.txt\n  ext4: Remove unused mount options: nomballoc, mballoc, nocheck\n  ext4: Remove compile warnings when building w/o CONFIG_PROC_FS\n  ext4: Add missing newlines to printk messages\n  ext4: Fix file fragmentation during large file write.\n  vfs: Add no_nrwrite_index_update writeback control flag\n  vfs: Remove the range_cont writeback mode.\n  ext4: Use tag dirty lookup during mpage_da_submit_io\n  ext4: let the block device know when unused blocks can be discarded\n  ext4: Don\u0027t reuse released data blocks until transaction commits\n  ext4: Use an rbtree for tracking blocks freed during transaction.\n  ext4: Do mballoc init before doing filesystem recovery\n  ext4: Free ext4_prealloc_space using kmem_cache_free\n  ext4: Fix Kconfig typo for ext4dev\n  ext4: Remove an old reference to ext4dev in Makefile comment\n"
    },
    {
      "commit": "1987625226a918cd20c334ffce5e2a224cba0718",
      "tree": "4502ac6292f22c72f1d15fb649d99565e83b7e0a",
      "parents": [
        "c0f082c5367a02e8493d779e16ad336167e14718"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "oliver@neukum.org",
        "time": "Mon Aug 25 22:40:25 2008 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 17 14:41:02 2008 -0700"
      },
      "message": "USB: anchor API changes needed for btusb\n\nThis extends the anchor API as btusb needs for autosuspend.\n\n\nSigned-off-by: Oliver Neukum \u003coneukum@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "cbc30118d7a376dab4113f299c0c8f035737a5c3",
      "tree": "c81723cea0775df91588079ae31bc2596cc35d89",
      "parents": [
        "29bac7b7661bbbdbbd32bc1e6cedca22f260da7f"
      ],
      "author": {
        "name": "Stephen Ware",
        "email": "stephen.ware@eqware.net",
        "time": "Tue Sep 30 11:39:38 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 17 14:41:01 2008 -0700"
      },
      "message": "usb: vstusb.c : new driver for spectrometers used by Vernier Software \u0026 Technology, Inc.\n\nThis patch adds the vstusb driver to the drivers/usb/misc directory.\nThis driver provides support for Vernier Software \u0026 Technology\nspectrometers, all made by Ocean Optics. The driver provides both IOCTL\nand read()/write() methods for sending raw data to spectrometers across\nthe bulk channel. Each method allows for a configured timeout.\n\nFrom: Stephen Ware \u003cstephen.ware@eqware.net\u003e\nSigned-off-by: Dennis O\u0027Brien \u003cdennis.obrien@eqware.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "0b14c3881d4b91272b779f4037e263d392de058f",
      "tree": "7d5c94d4a778196abd1bf96af866b534e19d369c",
      "parents": [
        "81ab5b8ee6b8cd5fe8cfdf0eea84eea0aa7b4da9"
      ],
      "author": {
        "name": "Geoff Levand",
        "email": "geoff@infradead.org",
        "time": "Sat Sep 20 14:41:47 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 17 14:40:56 2008 -0700"
      },
      "message": "USB: Fix spelling in usb/serial.h\n\nFixes a minor typo in the comments for usb_set_serial_data.\n\nSigned-off-by: Geoff Levand \u003cgeoff@infradead.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "3086775a4916b0fe128d924d83f4e7d7c39e4d0e",
      "tree": "c4e7825ba74da1272d15ad0d61a311b84392b8b6",
      "parents": [
        "60beed95e38793c0baff7f94433c1f639d8d5efd"
      ],
      "author": {
        "name": "Felipe Balbi",
        "email": "felipe.balbi@nokia.com",
        "time": "Mon Aug 18 17:39:30 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 17 14:40:53 2008 -0700"
      },
      "message": "usb gadget: cdc obex glue\n\nThe following patch introduces a new f_obex.c function driver.\nIt allows userspace obex servers to use usb as transport layer\nfor their messages.\n\n[ dbrownell@users.sourceforge.net: various fixes and cleanups ]\n\nSigned-off-by: Felipe Balbi \u003cfelipe.balbi@nokia.com\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "60beed95e38793c0baff7f94433c1f639d8d5efd",
      "tree": "f35e277cdd32267772854b481843299564e4f3e8",
      "parents": [
        "8066134ff8140ae9d8d15cdad3fc6c60c2a8a4e5"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Mon Aug 18 17:38:22 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 17 14:40:53 2008 -0700"
      },
      "message": "usb gadget: function activation/deactivation\n\nAdd a new mechanism to the composite gadget framework, letting\nfunctions deactivate (and reactivate) themselves.  Think of it\nas a refcounted wrapper for the software pullup control.\n\nA key example of why to use this mechanism involves functions that\nrequire a userspace daemon.  Those functions shuld use this new\nmechanism to prevent the gadget from enumerating until those daemons\nare activated.  Without this mechanism, hosts would see devices that\nmalfunction until the relevant daemons start.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "6a2839bedc1502b3f0366cc3ad1099a1d92cf8fb",
      "tree": "3b8861acf1a573d97066157c1fab16e574d645b1",
      "parents": [
        "55b447bf79ad25591437d24b78caa9d0ae4fec82"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "oliver@neukum.org",
        "time": "Tue Jul 29 16:18:47 2008 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 17 14:40:51 2008 -0700"
      },
      "message": "USB: extend poisoning to anchors\n\nthis extends the poisoning concept to anchors. This way poisoning\nwill work with fire and forget drivers.\n\nSigned-off-by: Oliver Neukum \u003coneukum@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "55b447bf79ad25591437d24b78caa9d0ae4fec82",
      "tree": "f8b84be61cf96a993664f35f572d8ddf6e618d39",
      "parents": [
        "49b707b90c7f7260beb8691fc5d99d71a5549ec0"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "oliver@neukum.org",
        "time": "Tue Jul 29 15:26:15 2008 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 17 14:40:51 2008 -0700"
      },
      "message": "USB: kill URBs permanently\n\nlooking at usb_kill_urb() it seems to me that it is unnecessarily lenient.\nIn the use case of disconnect() you never want to use the URB again\n(for the same device) But leaving urb-\u003ereject elevated will make it easier\nto avoid races between read/write and disconnect.\n\nSigned-off-by: Oliver Neukum \u003coneukum@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "5b775f672cc993ba9dba5626811ab1f2ac42883b",
      "tree": "61d8e0706a11e7bb808081720644b11ef58f77cd",
      "parents": [
        "eb86be5424d4c08e686d5e578b72a26c516ae58a"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 26 16:22:06 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 17 14:40:51 2008 -0700"
      },
      "message": "USB: add USB test and measurement class driver\n\nThis driver was originaly written by Stefan Kopp, but massively\nreworked by Greg for submission.\n\nThanks to Felipe Balbi \u003cme@felipebalbi.com\u003e for lots of work in cleaning\nup this driver.\n\nThanks to Oliver Neukum \u003coliver@neukum.org\u003e for reviewing previous\nversions and pointing out problems.\n\n\nCc: Stefan Kopp \u003cstefan_kopp@agilent.com\u003e\nCc: Marcel Janssen \u003ckorgull@home.nl\u003e\nCc: Felipe Balbi \u003cme@felipebalbi.com\u003e\nCc: Oliver Neukum \u003coliver@neukum.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "2a1d245b70f3f966f96767aaea1a2db6823e2f6e",
      "tree": "b783f81c10fdbe5e4baa8e56436a770d95aea7d5",
      "parents": [
        "def52393205cbd22b0b4a59096db2a0dcc72cd0a"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Wed Oct 15 14:47:36 2008 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Fri Oct 17 17:25:11 2008 -0300"
      },
      "message": "V4L/DVB (9240): saa7127: Fix two typos\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "5ba4ecc8b0166de4363cc31aa68d52abe0dff8de",
      "tree": "ca0d05cc9e7fc457ad4bffa160f1a7ae0255926a",
      "parents": [
        "97854829b97093ae172144a2597fc49ea203dcf3"
      ],
      "author": {
        "name": "Manu Abraham",
        "email": "abraham.manu@gmail.com",
        "time": "Tue Oct 14 19:50:03 2008 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Fri Oct 17 17:15:43 2008 -0300"
      },
      "message": "V4L/DVB (9196): Add support for DSS delivery\n\nSigned-off-by: Manu Abraham \u003cmanu@linuxtv.org\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "97854829b97093ae172144a2597fc49ea203dcf3",
      "tree": "1135de531d8cbf1488f8f4ec2e2fb45c029237f9",
      "parents": [
        "f051ae1866e67567b4f33371969dee9cdddb34ed"
      ],
      "author": {
        "name": "Manu Abraham",
        "email": "abraham.manu@gmail.com",
        "time": "Tue Oct 14 19:48:07 2008 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Fri Oct 17 17:15:37 2008 -0300"
      },
      "message": "V4L/DVB (9195): Frontend API Fix: 32APSK is a valid modulation for the DVB-S2 delivery\n\nSigned-off-by: Manu Abraham \u003cmanu@linuxtv.org\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "504e518953a330c8d44a95bdd65a5c9f50f1012e",
      "tree": "383df8cd12bebecd9bcf7714b6d8b07324a6353f",
      "parents": [
        "18de9735300756e3ca9c361ef58409d8561dfe0d"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@suse.de",
        "time": "Thu Oct 16 14:15:16 2008 +1100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Oct 17 13:06:45 2008 -0400"
      },
      "message": "Make nfs_file_cred more robust.\n\nAs not all files have an associated open_context (e.g. device special\nfiles), it is safest to test for the existence of the open context\nbefore de-referencing it.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "26e9a397774a0e94efbb8a0bf4a952c28d808cab",
      "tree": "fee2211b32a30c71bd22543acb791feeebd91b35",
      "parents": [
        "bdbf0ac7e187b2b757216e653e64f8b808b9077e",
        "99e06e372378c5833a0c60274b645dfb2e4a4b08"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 17 09:50:12 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 17 09:50:12 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6: (25 commits)\n  staging: at76_usb wireless driver\n  Staging: workaround build system bug\n  Staging: Lindent sxg.c\n  Staging: SLICOSS: Call pci_release_regions at driver exit\n  Staging: SLICOSS: Fix remaining type names\n  Staging: SLICOSS: Fix warnings due to static usage\n  Staging: SLICOSS: lots of checkpatch fixes\n  Staging: go7007 v4l fixes\n  Staging: Fix gcc warnings in sxg\n  Staging: add echo cancelation module\n  Staging: add wlan-ng prism2 usb driver\n  Staging: add w35und wifi driver\n  Staging: USB/IP: add host driver\n  Staging: USB/IP: add client driver\n  Staging: USB/IP: add common functions needed\n  Staging: add the go7007 video driver\n  Staging: add me4000 pci data collection driver\n  Staging: add me4000 firmware files\n  Staging: add sxg network driver\n  Staging: add Alacritech slicoss network driver\n  ...\n\nFixed up conflicts due to taint flags changes and MAINTAINERS cleanup in\nMAINTAINERS, include/linux/kernel.h and kernel/panic.c.\n"
    },
    {
      "commit": "c53dbf54863e7f3b0b8810dda2bdd0290006bdac",
      "tree": "f783074f1bec1112bf1148a077e0114a38403ad4",
      "parents": [
        "b73b636e8987f8728c6c700377615757691b9a55",
        "f73e2d13a16cc88c4faa4729967f92bfeec8a142"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 17 09:29:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 17 09:29:55 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  block: remove __generic_unplug_device() from exports\n  block: move q-\u003eunplug_work initialization\n  blktrace: pass zfcp driver data\n  blktrace: add support for driver data\n  block: fix current kernel-doc warnings\n  block: only call -\u003erequest_fn when the queue is not stopped\n  block: simplify string handling in elv_iosched_store()\n  block: fix kernel-doc for blk_alloc_devt()\n  block: fix nr_phys_segments miscalculation bug\n  block: add partition attribute for partition number\n  block: add BIG FAT WARNING to CONFIG_DEBUG_BLOCK_EXT_DEVT\n  softirq: Add support for triggering softirq work on softirqs.\n"
    },
    {
      "commit": "719254faa17ffedc87ba0fadb9b34e535c9758d5",
      "tree": "6afe1e9f2175aa5394cf6e0fc7c84afef0be3e9b",
      "parents": [
        "2e532d68a2b3e2aa6b19731501222069735c741c"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Oct 17 09:59:47 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@apollo.(none)",
        "time": "Fri Oct 17 18:13:38 2008 +0200"
      },
      "message": "NOHZ: unify the nohz function calls in irq_enter()\n\nWe have two separate nohz function calls in irq_enter() for no good\nreason. Just call a single NOHZ function from irq_enter() and call\nthe bits in the tick code.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "806f80a6fc203ad0bde84e5a9e94572617d2ae45",
      "tree": "20c684323e6e9f24af96df84008f06425a67ec6a",
      "parents": [
        "79cb380397c834a35952d8497651d93b543ef968"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Oct 17 18:09:14 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Oct 17 18:09:14 2008 +0200"
      },
      "message": "ide: add generic ATA/ATAPI disk driver\n\n* Add struct ide_disk_ops containing protocol specific methods.\n\n* Add \u0027struct ide_disk_ops *\u0027 to ide_drive_t.\n\n* Convert ide-{disk,floppy} drivers to use struct ide_disk_ops.\n\n* Merge ide-{disk,floppy} drivers into generic ide-gd driver.\n\nWhile at it:\n- ide_disk_init_capacity() -\u003e ide_disk_get_capacity()\n\nAcked-by: Borislav Petkov \u003cpetkovbb@gmail.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "79cb380397c834a35952d8497651d93b543ef968",
      "tree": "cfeb4b1c69327df9f8885d18fa0d0ef3e547cce4",
      "parents": [
        "9a6eb74d07f9152dd0e0ea551e878e869b8d2fc1"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Oct 17 18:09:13 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Oct 17 18:09:13 2008 +0200"
      },
      "message": "ide: allow device drivers to specify per-device type /proc settings\n\nTurn ide_driver_t\u0027s \u0027proc\u0027 field into -\u003eproc_entries method\n(and also \u0027settings\u0027 field into -\u003eproc_devsets method).  Then\nupdate all device drivers accordingly.\n\nThere should be no functional changes caused by this patch.\n\nAcked-by: Borislav Petkov \u003cpetkovbb@gmail.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    }
  ],
  "next": "42619d35c7af2f88cad56425fe3981f1f65ff0bd"
}
