)]}'
{
  "log": [
    {
      "commit": "8d1a0a13edecfdcb47fee3238ed4a2af2a2867f9",
      "tree": "f3ca0d2af8ec1e54a7d114c7dc2f177ae635b774",
      "parents": [
        "ede6f5aea054d3fb67c78857f7abdee602302043"
      ],
      "author": {
        "name": "Anders Larsen",
        "email": "al@alarsen.net",
        "time": "Thu Jan 01 17:17:35 2009 +0100"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Wed Jan 07 21:44:20 2009 +0100"
      },
      "message": "qnx: include \u003clinux/types.h\u003e for definitions of __[us]{8,16,32,64} types\n\nOn 2008-12-30 11:32:33, Sam Ravnborg wrote:\n\u003e We have added a few additional validation checks of the userspace headers:\n...\n\u003e 3) We should include \u003clinux/types.h\u003e and not \u003casm/types.h\u003e\n\u003e 4) If we use a __[us]{8,16,32,64} type then we must include \u003clinux/types.h\u003e\n\nSatisfy these requirements for the linux/qnx*.h headers.\n\nSigned-off-by: Anders Larsen \u003cal@alarsen.net\u003e\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "ede6f5aea054d3fb67c78857f7abdee602302043",
      "tree": "45362cd6f23e2eddc0004c96c46bca4ad82c9bd3",
      "parents": [
        "637b180c23313f2964e0ef20f1ee375203866968"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 21:17:57 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 21:17:57 2009 -0800"
      },
      "message": "Fix up 64-bit byte swaps for most 32-bit architectures\n\nThe __SWAB_64_THRU_32__ case of a 64-bit byte swap was depending on the\nno-longer-existant ___swab32() method (three underscores).  We got rid\nof some of the worst indirection and complexity, and now it should just\nuse the 32-bit swab function that was defined right above it.\n\nReported-and-tested-by: Nicolas Pitre \u003cnico@cam.org\u003e\nReported-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "637b180c23313f2964e0ef20f1ee375203866968",
      "tree": "f15dc98ab7ad182d49f589b94702e47879b98383",
      "parents": [
        "5cbd04ae36fcb8fd1f38c71dacbbe59f3166f074"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Jan 06 13:30:58 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 19:45:13 2009 -0800"
      },
      "message": "byteorder: remove the now unused byteorder.h\n\nThis implementation caused problems in userspace which can, and does\ndefine _both_ __LITTLE_ENDIAN and __BIG_ENDIAN.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "991c0e6d1ae3df59f0ddfe05edecec8319e35a1b",
      "tree": "3bc3d717b6d3e6a05d07b62738e0605851a7259a",
      "parents": [
        "c89a9f5a42811aa5b2f258e32750c0109f570fc1"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Jan 06 14:56:21 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 18:10:26 2009 -0800"
      },
      "message": "byteorder: only use linux/swab.h\n\nThe first step to make swab.h a regular header that will\ninclude an asm/swab.h with arch overrides.\n\nAvoid the gratuitous differences introduced in the new\nlinux/swab.h by naming the ___constant_swabXX bits and\n__fswabXX bits exactly as found in the old implementation\nin byteorder/swab[b].h\n\nUse this new swab.h in byteorder/[big|little]_endian.h and\nremove the two old swab headers.\n\nAlthough the inclusion of asm/byteorder.h looks strange in\nlinux/swab.h, this will allow each arch to move the actual\narch overrides for the swab bits in an asm file and then\nthe includes can be cleaned up without requiring a flag day\nfor all arches at once.\n\nKeep providing __fswabXX in case some userspace was using them\ndirectly, but the revised __swabXX should be used instead in\nany new code and will always do constant folding not dependent\non the optimization level, which means the __constant versions\ncan be phased out in-kernel.\n\nArches that use the old-style arch macros will lose their\noptimized versions until they move to the new style, but at\nleast they will still compile.  Many arches have already moved\nand the patches to move the remaining arches are trivial.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "db30c70575822cc84d87b5613c19cac24734b99f",
      "tree": "82945ad5813bfe6633698233981d270b5f0a310b",
      "parents": [
        "c861ea2cb2c25c1698734d9b0540a09e253690a1",
        "9334e90d5ac5ee1fa6d8b75acb7c64a8907787d1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 17:14:01 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 17:14:01 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (29 commits)\n  Input: i8042 - add Dell Vostro 1510 to nomux list\n  Input: gtco - use USB endpoint API\n  Input: add support for Maple controller as a joystick\n  Input: atkbd - broaden the Dell DMI signatures\n  Input: HIL drivers - add MODULE_ALIAS()\n  Input: map_to_7segment.h - convert to __inline__ for userspace\n  Input: add support for enhanced rotary controller on pxa930 and pxa935\n  Input: add support for trackball on pxa930 and pxa935\n  Input: add da9034 touchscreen support\n  Input: ads7846 - strict_strtoul takes unsigned long\n  Input: make some variables and functions static\n  Input: add tsc2007 based touchscreen driver\n  Input: psmouse - add module parameters to control OLPC touchpad delays\n  Input: i8042 - add Gigabyte M912 netbook to noloop exception table\n  Input: atkbd - Samsung NC10 key repeat fix\n  Input: atkbd - add keyboard quirk for HP Pavilion ZV6100 laptop\n  Input: libps2 - handle 0xfc responses from devices\n  Input: add support for Wacom W8001 penabled serial touchscreen\n  Input: synaptics - report multi-taps only if supported by the device\n  Input: add joystick driver for Walkera WK-0701 RC transmitter\n  ...\n"
    },
    {
      "commit": "c861ea2cb2c25c1698734d9b0540a09e253690a1",
      "tree": "b83e5313ca07a3efbcbcdd7fe33e0f6ad6284493",
      "parents": [
        "3610639d1fceb09cb418c65fcbe9136c31eee03a",
        "ac8cc0fa5395fe2278e305a4cbed48e90d88d878"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 17:11:39 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 17:11:39 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6:\n  CRED: Fix regression in cap_capable() as shown up by sys_faccessat() [ver #3]\n  Revert \"CRED: Fix regression in cap_capable() as shown up by sys_faccessat() [ver #2]\"\n  SELinux: shrink sizeof av_inhert selinux_class_perm and context\n  CRED: Fix regression in cap_capable() as shown up by sys_faccessat() [ver #2]\n  keys: fix sparse warning by adding __user annotation to cast\n  smack: Add support for unlabeled network hosts and networks\n  selinux: Deprecate and schedule the removal of the the compat_net functionality\n  netlabel: Update kernel configuration API\n"
    },
    {
      "commit": "3610639d1fceb09cb418c65fcbe9136c31eee03a",
      "tree": "78aa6de9e9495c39f8671aed927fece5adff8d24",
      "parents": [
        "cfa97f993c275d193fe82c22511dfb5f1e51b661",
        "82c5b7b527ccc4b5d3cf832437e842f9d2920a79"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 17:10:53 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 17:10:53 2009 -0800"
      },
      "message": "Merge branch \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  hrtimer: splitout peek ahead functionality, fix\n  hrtimer: fixup comments\n  hrtimer: fix recursion deadlock by re-introducing the softirq\n  hrtimer: simplify hotplug migration\n  hrtimer: fix HOTPLUG_CPU\u003dn compile warning\n  hrtimer: splitout peek ahead functionality\n"
    },
    {
      "commit": "cfa97f993c275d193fe82c22511dfb5f1e51b661",
      "tree": "552cea5db0ef07bbcc5d53850607dcda6f9b664c",
      "parents": [
        "7238eb4ca35cd63340dc02caf757376e40c1210c",
        "db2f59c8c9b315f2b88b1dac159b988c6009034d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 17:10:33 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 17:10:33 2009 -0800"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: fix section mismatch\n  sched: fix double kfree in failure path\n  sched: clean up arch_reinit_sched_domains()\n  sched: mark sched_create_sysfs_power_savings_entries() as __init\n  getrusage: RUSAGE_THREAD should return ru_utime and ru_stime\n  sched: fix sched_slice()\n  sched_clock: prevent scd-\u003eclock from moving backwards, take #2\n  sched: sched.c declare variables before they get used\n"
    },
    {
      "commit": "7238eb4ca35cd63340dc02caf757376e40c1210c",
      "tree": "fbaf811a0d9a5834ffa0f23baad2ad8f126d2f36",
      "parents": [
        "f94181da7192f4ed8ccb1b633ea4ce56954df130",
        "be92d7af38fb8a91f8575ab2272e00f2e51667ff"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 17:10:19 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 17:10:19 2009 -0800"
      },
      "message": "Merge branch \u0027irq-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027irq-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  genirq: provide irq_to_desc() to non-genirq architectures too\n"
    },
    {
      "commit": "f94181da7192f4ed8ccb1b633ea4ce56954df130",
      "tree": "2e28785f2df447573a11fbdd611dc19eb3fcb794",
      "parents": [
        "932adbed6d99cc373fc3433d701b3a594fea872c",
        "fdbc0450df12cc9cb397f3497db4b0cad7c1a8ff"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 17:10:04 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 17:10:04 2009 -0800"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  rcu: fix rcutorture bug\n  rcu: eliminate synchronize_rcu_xxx macro\n  rcu: make treercu safe for suspend and resume\n  rcu: fix rcutree grace-period-latency bug on small systems\n  futex: catch certain assymetric (get|put)_futex_key calls\n  futex: make futex_(get|put)_key() calls symmetric\n  locking, percpu counters: introduce separate lock classes\n  swiotlb: clean up EXPORT_SYMBOL usage\n  swiotlb: remove unnecessary declaration\n  swiotlb: replace architecture-specific swiotlb.h with linux/swiotlb.h\n  swiotlb: add support for systems with highmem\n  swiotlb: store phys address in io_tlb_orig_addr array\n  swiotlb: add hwdev to swiotlb_phys_to_bus() / swiotlb_sg_to_bus()\n"
    },
    {
      "commit": "40d7ee5d162203b40b5f4fbb312ab016edddb97f",
      "tree": "432db33df85f7f244676127a189a828dfbf2877b",
      "parents": [
        "5fec8bdbf9a1c4df4ad3f20e52aa2d8caed490c8",
        "b8ac9fc0e8cda9f9776019c5b0464b0c6d2d4c90"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 17:02:07 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 17:02:07 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (60 commits)\n  uio: make uio_info\u0027s name and version const\n  UIO: Documentation for UIO ioport info handling\n  UIO: Pass information about ioports to userspace (V2)\n  UIO: uio_pdrv_genirq: allow custom irq_flags\n  UIO: use pci_ioremap_bar() in drivers/uio\n  arm: struct device - replace bus_id with dev_name(), dev_set_name()\n  libata: struct device - replace bus_id with dev_name(), dev_set_name()\n  avr: struct device - replace bus_id with dev_name(), dev_set_name()\n  block: struct device - replace bus_id with dev_name(), dev_set_name()\n  chris: struct device - replace bus_id with dev_name(), dev_set_name()\n  dmi: struct device - replace bus_id with dev_name(), dev_set_name()\n  gadget: struct device - replace bus_id with dev_name(), dev_set_name()\n  gpio: struct device - replace bus_id with dev_name(), dev_set_name()\n  gpu: struct device - replace bus_id with dev_name(), dev_set_name()\n  hwmon: struct device - replace bus_id with dev_name(), dev_set_name()\n  i2o: struct device - replace bus_id with dev_name(), dev_set_name()\n  IA64: struct device - replace bus_id with dev_name(), dev_set_name()\n  i7300_idle: struct device - replace bus_id with dev_name(), dev_set_name()\n  infiniband: struct device - replace bus_id with dev_name(), dev_set_name()\n  ISDN: struct device - replace bus_id with dev_name(), dev_set_name()\n  ...\n"
    },
    {
      "commit": "5fec8bdbf9a1c4df4ad3f20e52aa2d8caed490c8",
      "tree": "e8c1b1a9f3ea6b6a0edb972f082d0d7338c98af4",
      "parents": [
        "59e3af21e94bd56f6a31ba774786a2bfc753581b",
        "5d9ec854bfb6f1e122b1d96b344164a71eac5be8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 17:01:20 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 17:01:20 2009 -0800"
      },
      "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: clean up annotations of fc-\u003elock\n  fuse: fix sparse warning in ioctl\n  fuse: update interface version\n  fuse: add fuse_conn-\u003erelease()\n  fuse: separate out fuse_conn_init() from new_conn()\n  fuse: add fuse_ prefix to several functions\n  fuse: implement poll support\n  fuse: implement unsolicited notification\n  fuse: add file kernel handle\n  fuse: implement ioctl support\n  fuse: don\u0027t let fuse_req-\u003eend() put the base reference\n  fuse: move FUSE_MINOR to miscdevice.h\n  fuse: style fixes\n"
    },
    {
      "commit": "59e3af21e94bd56f6a31ba774786a2bfc753581b",
      "tree": "ce535150d8edd5648a6fc81fdc2387a6813b7e08",
      "parents": [
        "f59abb161c955b68fd3d473368420c5919733e09",
        "c2ce5ca047ff6bbc41d491451c39e597c4537cd3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 17:00:50 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 17:00:50 2009 -0800"
      },
      "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: (41 commits)\n  scc_pata: make use of scc_dma_sff_read_status()\n  ide-dma-sff: factor out ide_dma_sff_write_status()\n  ide: move read_sff_dma_status() method to \u0027struct ide_dma_ops\u0027\n  ide: don\u0027t set hwif-\u003edma_ops in init_dma() method\n  Resurrect IT8172 IDE controller driver\n  piix: sync ich_laptop[] with ata_piix.c\n  ide: update warm-plug HOWTO\n  ide: fix ide_port_scan() to do ACPI setup after initializing request queues\n  ide: remove now redundant -\u003ecur_dev checks\n  ide: remove unused ide_hwif_t.sg_mapped field\n  ide: struct ide_atapi_pc - remove unused fields and update documentation\n  ide: remove superfluous hwif variable assignment from ide_timer_expiry()\n  ide: use ide_pci_is_in_compatibility_mode() helper in setup-pci.c\n  ide: make \"paranoia\" -\u003ehandler check in ide_intr() more strict\n  ide-cd: convert to ide-atapi facilities\n  ide-cd: start DMA before sending the actual packet command\n  ide-cd: wait for DRQ to get set per default\n  ide: Fix drive\u0027s DWORD-IO handling\n  ide: add port and host iterators\n  ide: dynamic allocation of device structures\n  ...\n"
    },
    {
      "commit": "8cd3ac3aca3f2afe8570708066d64d893da468e8",
      "tree": "ff8d828f3da57880e5d679f32485b5d77d5d3679",
      "parents": [
        "4cb0e11b15d2badad455fcd538af0cccf05dc012"
      ],
      "author": {
        "name": "WANG Cong",
        "email": "wangcong@zeuux.org",
        "time": "Tue Jan 06 14:42:48 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:29 2009 -0800"
      },
      "message": "fs/exec.c: make do_coredump() void\n\nNo one cares do_coredump()\u0027s return value, and also it seems that it\nis also not necessary. So make it void.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: WANG Cong \u003cwangcong@zeuux.org\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d3635abfee0c55ad9dcd6b6172a0c6a5455900c9",
      "tree": "7d368b4f9c9861f44f621cd7dea8d73afd838f0b",
      "parents": [
        "d78dd070ccda6384efeae142b116bc174f0cd9fa"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue Jan 06 14:42:41 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:28 2009 -0800"
      },
      "message": "rapidio: remove excess kernel-doc notation\n\nRemove excess kernel-doc notation from rio header and driver:\n\nWarning(include/linux/rio_drv.h:399): Excess function parameter or struct member \u0027buffer\u0027 description in \u0027rio_get_inb_message\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Matt Porter \u003cmporter@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cabb3fc4bd1628c37c37e054960eb3e4bf30dc26",
      "tree": "db8acce21cc4c9762da5f815779ec702f5a59c0c",
      "parents": [
        "ba6c4033b9db22cb54e7e03dae5b624b7b0ffaf9"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Tue Jan 06 14:42:26 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:25 2009 -0800"
      },
      "message": "twl4030-gpio: cleanup debounce\n\nProvide a static debounce configuration mechanism for twl4030 GPIOs,\nreplacing the previous dynamic one.  The single user of that mechanism was\nfor MMC card detect debouncing.\n\nBoards can provide a bitmask saying which GPIOs to debounce (30 msec).\nIt\u0027s always enabled for pins with the MMC card-detect/VMMCx link active,\nso most boards won\u0027t need to set the debounce mask.\n\nThis is a net code shrink, including runtime footprint.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Tony Lindgren \u003ctony@atomide.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a92daf6ba1f9ace8584edc8eb557a77aa7c2c71d",
      "tree": "a4734bb761e762af714710ab53c4b3c3c58516f8",
      "parents": [
        "41cfef2eb87694a8d64105c059b39f7bd6b7d4fe"
      ],
      "author": {
        "name": "Ian Kent",
        "email": "raven@themaw.net",
        "time": "Tue Jan 06 14:42:08 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:23 2009 -0800"
      },
      "message": "autofs4: make autofs type usage explicit\n\n- the type assigned at mount when no type is given is changed\n  from 0 to AUTOFS_TYPE_INDIRECT. This was done because 0 and\n  AUTOFS_TYPE_INDIRECT were being treated implicitly as the same\n  type.\n\n- previously, an offset mount had it\u0027s type set to\n  AUTOFS_TYPE_DIRECT|AUTOFS_TYPE_OFFSET but the mount control\n  re-implementation needs to be able distinguish all three types.\n  So this was changed to make the type setting explicit.\n\n- a type AUTOFS_TYPE_ANY was added for use by the re-implementation\n  when checking if a given path is a mountpoint. It\u0027s not really a\n  type as we use this to ask if a given path is a mountpoint in the\n  autofs_dev_ioctl_ismountpoint() function.\n\n- functions to set and test the autofs mount types have been added to\n  improve readability and make the type usage explicit.\n\n- the mount type is used from user space for the mount control\n  re-implementtion so, for consistency, all the definitions have\n  been moved to the user space include file include/linux/auto_fs4.h.\n\nSigned-off-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Jeff Moyer \u003cjmoyer@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": "730c9eeca9808fc2cfb506cc68c90aa330da17b0",
      "tree": "95de85ecf2ee6c071af151ba4e33f1017868a776",
      "parents": [
        "f70f582f0072f37790d2984647198deb3e7782a3"
      ],
      "author": {
        "name": "Ian Kent",
        "email": "raven@themaw.net",
        "time": "Tue Jan 06 14:42:06 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:23 2009 -0800"
      },
      "message": "autofs4: improve parameter usage\n\nThe parameter usage in the device node ioctl code uses arg1 and arg2 as\nparameter names.  This patch redefines the parameter names to reflect what\nthey actually are in an effort to make the code more readable.\n\nSigned-off-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Jeff Moyer \u003cjmoyer@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": "e8386a0cb22f4a2d439384212c494ad0bda848fe",
      "tree": "84c462bccddead49c0e2c0dcfcc0f70cd9cf60f7",
      "parents": [
        "017c39bdb1b3ac1da6db339474a77b528043c05a"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Tue Jan 06 14:41:52 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:21 2009 -0800"
      },
      "message": "kprobes: support probing module __exit function\n\nAllows kprobes to probe __exit routine.  This adds flags member to struct\nkprobe.  When module is freed(kprobes hooks module_notifier to get this\nevent), kprobes which probe the functions in that module are set to \"Gone\"\nflag to the flags member.  These \"Gone\" probes are never be enabled.\nUsers can check the GONE flag through debugfs.\n\nThis also removes mod_refcounted, because we couldn\u0027t free a module if\nkprobe incremented the refcount of that module.\n\n[akpm@linux-foundation.org: document some locking]\n[mhiramat@redhat.com: bugfix: pass aggr_kprobe to arch_remove_kprobe]\n[mhiramat@redhat.com: bugfix: release old_p\u0027s insn_slot before error return]\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nAcked-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@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": "129415607845d4daea11ddcba706005c69dcb942",
      "tree": "9046ea79a0b81c8823b9d42f00fd7c158861ed5c",
      "parents": [
        "a06f6211ef9b1785922f9d0e8766d63ac4e66de1"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Tue Jan 06 14:41:50 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:20 2009 -0800"
      },
      "message": "kprobes: add kprobe_insn_mutex and cleanup arch_remove_kprobe()\n\nAdd kprobe_insn_mutex for protecting kprobe_insn_pages hlist, and remove\nkprobe_mutex from architecture dependent code.\n\nThis allows us to call arch_remove_kprobe() (and free_insn_slot) while\nholding kprobe_mutex.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nAcked-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a06f6211ef9b1785922f9d0e8766d63ac4e66de1",
      "tree": "4ceac7a7eda00cad3b3f02876e75c1c7af41ce23",
      "parents": [
        "12da3b888b2035bb0f106122f1cc1b6d357fad53"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Tue Jan 06 14:41:49 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:20 2009 -0800"
      },
      "message": "module: add within_module_core() and within_module_init()\n\nThis series of patches allows kprobes to probe module\u0027s __init and __exit\nfunctions.  This means, you can probe driver initialization and\nterminating.\n\nCurrently, kprobes can\u0027t probe __init function because these functions are\nfreed after module initialization.  And it also can\u0027t probe module __exit\nfunctions because kprobe increments reference count of target module and\nuser can\u0027t unload it.  this means __exit functions never be called unless\nremoving probes from the module.\n\nTo solve both cases, this series of patches introduces GONE flag and sets\nit when the target code is freed(for this purpose, kprobes hooks\nMODULE_STATE_* events).  This also removes refcount incrementing for\nallowing user to unload target module.  Users can check which probes are\nGONE by debugfs interface.  For taking timing of freeing module\u0027s .init\ntext, these also include a patch which adds module\u0027s notifier of\nMODULE_STATE_LIVE event.\n\nThis patch:\n\nAdd within_module_core() and within_module_init() for checking whether an\naddress is in the module .init.text section or .text section, and replace\nwithin() local inline functions in kernel/module.c with them.\n\nkprobes uses these functions to check where the kprobe is inserted.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nAcked-by: Rusty Russell \u003crusty@rustcorp.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": "d29389de0b0ee1715333bafc6ac3f22a75aa4313",
      "tree": "6c4321359bd10231532d6cb2141f06070d8ddfd6",
      "parents": [
        "c2bacfc44f4b8d03dbaad5d2dca2fb4161e81975"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Tue Jan 06 14:41:41 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:19 2009 -0800"
      },
      "message": "spi_gpio driver\n\nGeneralize the old at91rm9200 \"bootstrap\" bitbanging SPI master driver as\n\"spi_gpio\", so it works with arbitrary GPIOs and can be configured through\nplatform_data.  Such SPI masters support:\n\n - any number of bus instances (bus_num is the platform_device.id)\n - any number of chipselects (one GPIO per spi_device)\n - all four SPI_MODE values, and SPI_CS_HIGH\n - i/o word sizes from 1 to 32 bits;\n - devices configured as with any other spi_master controller\n\nWhen configured using platform_data, this provides relatively low clock\nrates.  On platforms that support inlined GPIO calls, significantly\nimproved transfer speeds are also possible with a semi-custom driver.\n(It\u0027s still painful when accessing flash memory, but less so.)\n\nSanity checked by using this version to replace both native controllers on\na board with six different SPI slaves, relying on three different\nSPI_MODE_* values and both SPI_CS_HIGH settings for correct operation.\n\n[akpm@linux-foundation.org: cleanups]\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nAcked-by: Magnus Damm \u003cdamm@igel.co.jp\u003e\nTested-by: Magnus Damm \u003cdamm@igel.co.jp\u003e\nCc: Torgil Svensson \u003ctorgil.svensson@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": "5cf0cc4e670b8da2231a3375db87ec3b6cb84432",
      "tree": "8545da4f0b0313f24ffa9ef7f862660fe5345d4e",
      "parents": [
        "29041b4b1a3d68192eef7613703669f5c7b01d0c"
      ],
      "author": {
        "name": "Hiroshi Shimamoto",
        "email": "h-shimamoto@ct.jp.nec.com",
        "time": "Tue Jan 06 14:41:38 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:19 2009 -0800"
      },
      "message": "binfmts.h: include list.h\n\nlinux_binfmt uses list_head, so list.h is needed.\n\n[akpm@linux-foundation.org: fix `make headerscheck\u0027]\nSigned-off-by: Hiroshi Shimamoto \u003ch-shimamoto@ct.jp.nec.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8c3659347efb43857b2c2d7bc63a9c7d68d1a608",
      "tree": "0cfb3b77dea6f07d8a26e5805c9465860e942388",
      "parents": [
        "208b95ce3afbc2f4ef0a84b8cfdd7a8b94d17a5a"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jj@chaosbits.net",
        "time": "Tue Jan 06 14:41:14 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:14 2009 -0800"
      },
      "message": "include/linux/interrupt.h: do not include linux/irqnr.h twice\n\nSigned-off-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "179f7ebff6be45738c6e2fa68c8d2cc5c2c6308e",
      "tree": "3d48b5f825cfa29f5b39656503c5157872454e9f",
      "parents": [
        "e3d5a27d5862b6425d0879272e24abecf7245105"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Tue Jan 06 14:41:04 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:13 2009 -0800"
      },
      "message": "percpu_counter: FBC_BATCH should be a variable\n\nFor NR_CPUS \u003e\u003d 16 values, FBC_BATCH is 2*NR_CPUS\n\nConsidering more and more distros are using high NR_CPUS values, it makes\nsense to use a more sensible value for FBC_BATCH, and get rid of NR_CPUS.\n\nA sensible value is 2*num_online_cpus(), with a minimum value of 32 (This\nminimum value helps branch prediction in __percpu_counter_add())\n\nWe already have a hotcpu notifier, so we can adjust FBC_BATCH dynamically.\n\nWe rename FBC_BATCH to percpu_counter_batch since its not a constant\nanymore.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5f820f648c92a5ecc771a96b3c29aa6e90013bba",
      "tree": "0445b45fa33072d37b32c6ef592a4d0c102e05cc",
      "parents": [
        "67ec7d3ab779ad9001ef57a6b4cfdf80ac9f9acc"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Jan 06 14:40:59 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:12 2009 -0800"
      },
      "message": "poll: allow f_op-\u003epoll to sleep\n\nf_op-\u003epoll is the only vfs operation which is not allowed to sleep.  It\u0027s\nbecause poll and select implementation used task state to synchronize\nagainst wake ups, which doesn\u0027t have to be the case anymore as wait/wake\ninterface can now use custom wake up functions.  The non-sleep restriction\ncan be a bit tricky because -\u003epoll is not called from an atomic context\nand the result of accidentally sleeping in -\u003epoll only shows up as\ntemporary busy looping when the timing is right or rather wrong.\n\nThis patch converts poll/select to use custom wake up function and use\nseparate triggered variable to synchronize against wake up events.  The\nonly added overhead is an extra function call during wake up and\nnegligible.\n\nThis patch removes the one non-sleep exception from vfs locking rules and\nis beneficial to userland filesystem implementations like FUSE, 9p or\npeculiar fs like spufs as it\u0027s very difficult for those to implement\nnon-sleeping poll method.\n\nWhile at it, make the following cosmetic changes to make poll.h and\nselect.c checkpatch friendly.\n\n* s/type * symbol/type *symbol/\t\t   : three places in poll.h\n* remove blank line before EXPORT_SYMBOL() : two places in select.c\n\nOleg: spotted missing barrier in poll_schedule_timeout()\nDavide: spotted missing write barrier in pollwake()\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\nCc: Ron Minnich \u003crminnich@sandia.gov\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Brad Boyer \u003cflar@allandria.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Oleg Nesterov \u003coleg@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": "9fe06081ef145d6582c39e18203b5fffe6f3abc2",
      "tree": "290e0e6019f0aad96041340ce9b89bb8edf23840",
      "parents": [
        "30079677428ae1349d5063b96f677270dfd54309"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@us.ibm.com",
        "time": "Tue Jan 06 14:40:51 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:12 2009 -0800"
      },
      "message": "Create a DIV_ROUND_CLOSEST macro to do division with rounding\n\nCreate a helper macro to divide two numbers and round the result to the\nnearest whole number.  This is a helper macro for hwmon drivers that want\nto convert incoming sysfs values per standard hwmon practice, though the\nmacro itself can be used by anyone.\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@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": "f1883f86dea84fe47a71a39fc1afccc005915ed8",
      "tree": "357c50d2eb44e9e62c39c0c1025bae7b2b6eba67",
      "parents": [
        "eaccbfa564e48c87626594511f42dc8c0ad2daae"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Jan 06 14:40:45 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:11 2009 -0800"
      },
      "message": "Remove remaining unwinder code\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Gabor Gombas \u003cgombasg@sztaki.hu\u003e\nCc: Jan Beulich \u003cjbeulich@novell.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.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": "ea435467500612636f8f4fb639ff6e76b2496e4b",
      "tree": "fdf5cb7ca3834f0a4120fb3cce5a631dd2769f26",
      "parents": [
        "f99ebf0a86de13f77bc4ee349de96db9f2f67f2e"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Tue Jan 06 14:40:39 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:10 2009 -0800"
      },
      "message": "atomic_t: unify all arch definitions\n\nThe atomic_t type cannot currently be used in some header files because it\nwould create an include loop with asm/atomic.h.  Move the type definition\nto linux/types.h to break the loop.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nCc: Huang Ying \u003cying.huang@intel.com\u003e\nCc: \u003clinux-arch@vger.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": "901608d9045146aec6f14a7777ea4b1501c379f0",
      "tree": "0155189f48479b920855dedccba6829363376d4d",
      "parents": [
        "67d58ac47d25f7e2a105248a4aea6113131ab874"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Tue Jan 06 14:40:29 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:09 2009 -0800"
      },
      "message": "mm: introduce get_mm_hiwater_xxx(), fix taskstats-\u003ehiwater_xxx accounting\n\nxacct_add_tsk() relies on do_exit()-\u003eupdate_hiwater_xxx() and uses\nmm-\u003ehiwater_xxx directly, this leads to 2 problems:\n\n- taskstats_user_cmd() can call fill_pid()-\u003exacct_add_tsk() at any\n  moment before the task exits, so we should check the current values of\n  rss/vm anyway.\n\n- do_exit()-\u003eupdate_hiwater_xxx() calls are racy.  An exiting thread can\n  be preempted right before mm-\u003ehiwater_xxx \u003d new_val, and another thread\n  can use A_LOT of memory and exit in between.  When the first thread\n  resumes it can be the last thread in the thread group, in that case we\n  report the wrong hiwater_xxx values which do not take A_LOT into\n  account.\n\nIntroduce get_mm_hiwater_rss() and get_mm_hiwater_vm() helpers and change\nxacct_add_tsk() to use them.  The first helper will also be used by\nrusage-\u003eru_maxrss accounting.\n\nKill do_exit()-\u003eupdate_hiwater_xxx() calls.  Unless we are going to\ndecrease rss/vm there is no point to update mm-\u003ehiwater_xxx, and nobody\ncan look at this mm_struct when exit_mmap() actually unmaps the memory.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Hugh Dickins \u003chugh@veritas.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.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": "856bf4d717feb8c55d4e2f817b71ebb70cfbc67b",
      "tree": "f44790d9b8f42223955d1866645103ac5f9c68a3",
      "parents": [
        "38f21977663126fef53f5585e7f1653d8ebe55c4"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Tue Jan 06 14:40:26 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:09 2009 -0800"
      },
      "message": "fs: sys_sync fix\n\ns_syncing livelock avoidance was breaking data integrity guarantee of\nsys_sync, by allowing sys_sync to skip writing or waiting for superblocks\nif there is a concurrent sys_sync happening.\n\nThis livelock avoidance is much less important now that we don\u0027t have the\nget_super_to_sync() call after every sb that we sync.  This was replaced\nby __put_super_and_need_restart.\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": "4f5a99d64c17470a784a6c68064207d82e3e74a5",
      "tree": "2a3e0f0c3990bb8dbda2cdaa506a64180e5cbff2",
      "parents": [
        "e8ea1759138d4279869f52bfb7dca8f02f8ccfe5"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Tue Jan 06 14:40:25 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:09 2009 -0800"
      },
      "message": "fs: remove WB_SYNC_HOLD\n\nRemove WB_SYNC_HOLD.  The primary motiviation is the design of my\nanti-starvation code for fsync.  It requires taking an inode lock over the\nsync operation, so we could run into lock ordering problems with multiple\ninodes.  It is possible to take a single global lock to solve the ordering\nproblem, but then that would prevent a future nice implementation of \"sync\nmultiple inodes\" based on lock order via inode address.\n\nSeems like a backward step to remove this, but actually it is busted\nanyway: we can\u0027t use the inode lists for data integrity wait: an inode can\nbe taken off the dirty lists but still be under writeback.  In order to\nsatisfy data integrity semantics, we should wait for it to finish\nwriteback, but if we only search the dirty lists, we\u0027ll miss it.\n\nIt would be possible to have a \"writeback\" list, for sys_sync, I suppose.\nBut why complicate things by prematurely optimise?  For unmounting, we\ncould avoid the \"livelock avoidance\" code, which would be easier, but\nagain premature IMO.\n\nFixing the existing data integrity problem will come next.\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": "edc315fd222497ae4f4b959a9e31ada1e68a4755",
      "tree": "aaf1a6b015368c52097ed0c362a24bf18e40897f",
      "parents": [
        "2509ef26db4699a5d9fa876e90ddfc107afcab84"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue Jan 06 14:40:11 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:07 2009 -0800"
      },
      "message": "badpage: remove vma from page_remove_rmap\n\nRemove page_remove_rmap()\u0027s vma arg, which was only for the Eeek message.\nAnd remove the BUG_ON(page_mapcount(page) \u003d\u003d 0) from CONFIG_DEBUG_VM\u0027s\npage_dup_rmap(): we\u0027re trying to be more resilient about that than BUGs.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: 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": "2509ef26db4699a5d9fa876e90ddfc107afcab84",
      "tree": "09e65185142c60b5d766d8b75f3cbc8a65de6a39",
      "parents": [
        "22b31eec63e5f2e219a3ee15f456897272bc73e8"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue Jan 06 14:40:10 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:07 2009 -0800"
      },
      "message": "badpage: zap print_bad_pte on swap and file\n\nComplete zap_pte_range()\u0027s coverage of bad pagetable entries by calling\nprint_bad_pte() on a pte_file in a linear vma and on a bad swap entry.\nThat needs free_swap_and_cache() to tell it, which will also have shown\none of those \"swap_free\" errors (but with much less information).\n\nSimilar checks in fork\u0027s copy_one_pte()?  No, that would be more noisy\nthan helpful: we\u0027ll see them when parent and child exec or exit.\n\nWhere do_nonlinear_fault() calls print_bad_pte(): omit !VM_CAN_NONLINEAR\ncase, that could only be a bug in sys_remap_file_pages(), not a bad pte.\nVM_FAULT_OOM rather than VM_FAULT_SIGBUS?  Well, okay, that is consistent\nwith what happens if do_swap_page() operates a bad swap entry; but don\u0027t\nwe have patches to be more careful about killing when VM_FAULT_OOM?\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: 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": "79f4b7bf393e67bbffec807cc68caaefc72b82ee",
      "tree": "5bee7c12fe49e63e38d74afc6bbd2933906ecb9b",
      "parents": [
        "0f64415d42760379753e6088787ce3fd3e069509"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue Jan 06 14:40:05 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:07 2009 -0800"
      },
      "message": "badpage: simplify page_alloc flag check+clear\n\nSimplify the PAGE_FLAGS checking and clearing when freeing and allocating\na page: check the same flags as before when freeing, clear ALL the flags\n(unless PageReserved) when freeing, check ALL flags off when allocating.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: 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": "20137a490f397d9c01fc9fadd83a8d198bda4477",
      "tree": "38e2d904e06f576a825cca3e1eaad7da6fd55947",
      "parents": [
        "7992fde72ce06c73280a1939b7a1e903bc95ef85"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue Jan 06 14:39:54 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:05 2009 -0800"
      },
      "message": "swapfile: swapon randomize if nonrot\n\nSwap allocation has always started from the beginning of the swap area;\nbut if we\u0027re dealing with a solidstate swap device which can only remap\nblocks within limited zones, that would sooner wear out the first zone.\n\nTherefore sys_swapon() test whether blk_queue is non-rotational, and if so\nrandomize the cluster_next starting position for allocation.\n\nIf blk_queue is nonrot, note SWP_SOLIDSTATE for later use, and report it\nwith an \"SS\" at the right end of the kernel\u0027s \"Adding ...  swap\" message\n(so that if it\u0027s both nonrot and discardable, \"SSD\" will be shown there).\nPerhaps something should be shown in /proc/swaps (swapon -s), but we have\nto be more cautious before making any addition to that format.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nCc: Joern Engel \u003cjoern@logfs.org\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: Donjun Shin \u003cdjshin90@gmail.com\u003e\nCc: Tejun Heo \u003cteheo@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": "7992fde72ce06c73280a1939b7a1e903bc95ef85",
      "tree": "8e8ef30ec4e29b325f70c2d01d2a9def192b5c64",
      "parents": [
        "6a6ba83175c029c7820765bae44692266b29e67a"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue Jan 06 14:39:53 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:05 2009 -0800"
      },
      "message": "swapfile: swap allocation use discard\n\nWhen scan_swap_map() finds a free cluster of swap pages to allocate,\ndiscard the old contents of the cluster if the device supports discard.\nBut don\u0027t bother when swap is so fragmented that we allocate single pages.\n\nBe careful about racing allocations made while we\u0027re scanning for a\ncluster; and hold up allocations made while we\u0027re discarding.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nCc: Joern Engel \u003cjoern@logfs.org\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: Donjun Shin \u003cdjshin90@gmail.com\u003e\nCc: Tejun Heo \u003cteheo@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": "6a6ba83175c029c7820765bae44692266b29e67a",
      "tree": "30bfb4938c73b715eb90dd15c09777fe0bbf93e6",
      "parents": [
        "ebebbbe904634b0ca1c674457b399f68db5e05b1"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue Jan 06 14:39:51 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:05 2009 -0800"
      },
      "message": "swapfile: swapon use discard (trim)\n\nWhen adding swap, all the old data on swap can be forgotten: sys_swapon()\ndiscard all but the header page of the swap partition (or every extent but\nthe header of the swap file), to give a solidstate swap device the\nopportunity to optimize its wear-levelling.\n\nIf that succeeds, note SWP_DISCARDABLE for later use, and report it with a\n\"D\" at the right end of the kernel\u0027s \"Adding ...  swap\" message.  Perhaps\nsomething should be shown in /proc/swaps (swapon -s), but we have to be\nmore cautious before making any addition to that format.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nCc: Joern Engel \u003cjoern@logfs.org\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: Donjun Shin \u003cdjshin90@gmail.com\u003e\nCc: Tejun Heo \u003cteheo@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": "ebebbbe904634b0ca1c674457b399f68db5e05b1",
      "tree": "168c6c1193580e40ba1916ebaff822e15e8ee186",
      "parents": [
        "81e33971271ec8603fe696731ff9967afb99e729"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue Jan 06 14:39:50 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:05 2009 -0800"
      },
      "message": "swapfile: rearrange scan and swap_info\n\nBefore making functional changes, rearrange scan_swap_map() to simplify\nsubsequent diffs.  Actually, there is one functional change in there:\nleave cluster_nr negative while scanning for a new cluster - resetting it\nearly increased the likelihood that when we have difficulty finding a free\ncluster, another task may come in and try doing exactly the same - just a\nwaste of cpu.\n\nBefore making functional changes, rearrange struct swap_info_struct\nslightly: flags will be needed as an unsigned long (for wait_on_bit), next\nis a good int to pair with prio, old_block_size is uninteresting so shift\nit to the end.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: 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": "22c6f8fdb31993cf49bdd4a47b64a7002391e1c7",
      "tree": "4721575904bc220bed559efb95f04f32a1febbfe",
      "parents": [
        "73fd8748ab0b9b3ddd178bea1d7ae03372033d96"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue Jan 06 14:39:48 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:05 2009 -0800"
      },
      "message": "swapfile: remove SWP_ACTIVE mask\n\nRemove the SWP_ACTIVE mask: it just obscures the SWP_WRITEOK flag.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: 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": "69beeb1d3428424fbc7546f85e5cd7ac4119c09d",
      "tree": "b00c806e4ced5ace1bdf4a492c985ee4fa0605b7",
      "parents": [
        "efab81864161f8c546d4403873e7ae7831ed5b26"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Tue Jan 06 14:39:46 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:05 2009 -0800"
      },
      "message": "mm: make vread() and vwrite() declaration\n\nSparse output following warnings.\n\nmm/vmalloc.c:1436:6: warning: symbol \u0027vread\u0027 was not declared. Should it be static?\nmm/vmalloc.c:1474:6: warning: symbol \u0027vwrite\u0027 was not declared. Should it be static?\n\nHowever, it is used by /dev/kmem. fixed here.\n\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": "b962716b459505a8d83aea313fea0abe76749f42",
      "tree": "b401e882f2ee8ff5a11209057496e603c211e8fe",
      "parents": [
        "60371d971a3d01afd102f0bbf2681f32ecc31d78"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue Jan 06 14:39:41 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:04 2009 -0800"
      },
      "message": "mm: optimize get_scan_ratio for no swap\n\nRik suggests a simplified get_scan_ratio() for !CONFIG_SWAP.  Yes, the gcc\noptimizer gives us that, when nr_swap_pages is #defined as 0L.  Move usual\ndeclaration to swapfile.c: it never belonged in page_alloc.c.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Robin Holt \u003cholt@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": "60371d971a3d01afd102f0bbf2681f32ecc31d78",
      "tree": "999cd75fbf80877f99b518e632c445ae849eeb4d",
      "parents": [
        "ac47b003d03c2a4f28aef1d505b66d24ad191c4f"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue Jan 06 14:39:40 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:04 2009 -0800"
      },
      "message": "mm: add add_to_swap stub\n\nIf we add a failing stub for add_to_swap(), then we can remove the #ifdef\nCONFIG_SWAP from mm/vmscan.c.\n\nThis was intended as a source cleanup, but looking more closely, it turns\nout that the !CONFIG_SWAP case was going to keep_locked for an anonymous\npage, whereas now it goes to the more suitable activate_locked, like the\nCONFIG_SWAP nr_swap_pages 0 case.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Robin Holt \u003cholt@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": "ac47b003d03c2a4f28aef1d505b66d24ad191c4f",
      "tree": "12c31491b756f4dc7a55a9e11b69b193743ff647",
      "parents": [
        "63d6c5ad7fc27455ce5cb4706884671fb7e0df08"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue Jan 06 14:39:39 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:04 2009 -0800"
      },
      "message": "mm: remove gfp_mask from add_to_swap\n\nRemove gfp_mask argument from add_to_swap(): it\u0027s misleading because its\nonly caller, shrink_page_list(), is not atomic at that point; and in due\ncourse (implementing discard) we\u0027ll sometimes want to allocate some memory\nwith GFP_NOIO (as is used in swap_writepage) when allocating swap.\n\nNo change to the gfp_mask passed down to add_to_swap_cache(): still use\n__GFP_HIGH without __GFP_WAIT (with nomemalloc and nowarn as before):\nthough it\u0027s not obvious if that\u0027s the best combination to ask for here.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Robin Holt \u003cholt@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": "a2c43eed8334e878702fca713b212ae2a11d84b9",
      "tree": "4eb3f9b9153df5e7a638b15a6f7c9aa924066a94",
      "parents": [
        "7b1fe59793e61f826bef053107b57b23954833bb"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue Jan 06 14:39:36 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:03 2009 -0800"
      },
      "message": "mm: try_to_free_swap replaces remove_exclusive_swap_page\n\nremove_exclusive_swap_page(): its problem is in living up to its name.\n\nIt doesn\u0027t matter if someone else has a reference to the page (raised\npage_count); it doesn\u0027t matter if the page is mapped into userspace\n(raised page_mapcount - though that hints it may be worth keeping the\nswap): all that matters is that there be no more references to the swap\n(and no writeback in progress).\n\nswapoff (try_to_unuse) has been removing pages from swapcache for years,\nwith no concern for page count or page mapcount, and we used to have a\ncomment in lookup_swap_cache() recognizing that: if you go for a page of\nswapcache, you\u0027ll get the right page, but it could have been removed from\nswapcache by the time you get page lock.\n\nSo, give up asking for exclusivity: get rid of\nremove_exclusive_swap_page(), and remove_exclusive_swap_page_ref() and\nremove_exclusive_swap_page_count() which were spawned for the recent LRU\nwork: replace them by the simpler try_to_free_swap() which just checks\npage_swapcount().\n\nSimilarly, remove the page_count limitation from free_swap_and_count(),\nbut assume that it\u0027s worth holding on to the swap if page is mapped and\nswap nowhere near full.  Add a vm_swap_full() test in free_swap_cache()?\nIt would be consistent, but I think we probably have enough for now.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Robin Holt \u003cholt@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": "7b1fe59793e61f826bef053107b57b23954833bb",
      "tree": "0ac769c48123c5d0770b0a0f88bad9e6318b83ed",
      "parents": [
        "ab967d86015a19777955370deebc8262d50fed63"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue Jan 06 14:39:34 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:03 2009 -0800"
      },
      "message": "mm: reuse_swap_page replaces can_share_swap_page\n\nA good place to free up old swap is where do_wp_page(), or do_swap_page(),\nis about to redirty the page: the data on disk is then stale and won\u0027t be\nread again; and if we do decide to write the page out later, using the\nprevious swap location makes an unnecessary disk seek very likely.\n\nSo give can_share_swap_page() the side-effect of delete_from_swap_cache()\nwhen it safely can.  And can_share_swap_page() was always a misleading\nname, the more so if it has a side-effect: rename it reuse_swap_page().\n\nIrrelevant cleanup nearby: remove swap_token_default_timeout definition\nfrom swap.h: it\u0027s used nowhere.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Robin Holt \u003cholt@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": "2da02997e08d3efe8174c7a47696e6f7cbe69ba9",
      "tree": "2e52d9346c52dda83dc8cc9626cbe302e026ad9a",
      "parents": [
        "364aeb2849789b51bf4b9af2ddd02fee7285c54e"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Tue Jan 06 14:39:31 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:03 2009 -0800"
      },
      "message": "mm: add dirty_background_bytes and dirty_bytes sysctls\n\nThis change introduces two new sysctls to /proc/sys/vm:\ndirty_background_bytes and dirty_bytes.\n\ndirty_background_bytes is the counterpart to dirty_background_ratio and\ndirty_bytes is the counterpart to dirty_ratio.\n\nWith growing memory capacities of individual machines, it\u0027s no longer\nsufficient to specify dirty thresholds as a percentage of the amount of\ndirtyable memory over the entire system.\n\ndirty_background_bytes and dirty_bytes specify quantities of memory, in\nbytes, that represent the dirty limits for the entire system.  If either\nof these values is set, its value represents the amount of dirty memory\nthat is needed to commence either background or direct writeback.\n\nWhen a `bytes\u0027 or `ratio\u0027 file is written, its counterpart becomes a\nfunction of the written value.  For example, if dirty_bytes is written to\nbe 8096, 8K of memory is required to commence direct writeback.\ndirty_ratio is then functionally equivalent to 8K / the amount of\ndirtyable memory:\n\n\tdirtyable_memory \u003d free pages + mapped pages + file cache\n\n\tdirty_background_bytes \u003d dirty_background_ratio * dirtyable_memory\n\t\t-or-\n\tdirty_background_ratio \u003d dirty_background_bytes / dirtyable_memory\n\n\t\tAND\n\n\tdirty_bytes \u003d dirty_ratio * dirtyable_memory\n\t\t-or-\n\tdirty_ratio \u003d dirty_bytes / dirtyable_memory\n\nOnly one of dirty_background_bytes and dirty_background_ratio may be\nspecified at a time, and only one of dirty_bytes and dirty_ratio may be\nspecified.  When one sysctl is written, the other appears as 0 when read.\n\nThe `bytes\u0027 files operate on a page size granularity since dirty limits\nare compared with ZVC values, which are in page units.\n\nPrior to this change, the minimum dirty_ratio was 5 as implemented by\nget_dirty_limits() although /proc/sys/vm/dirty_ratio would show any user\nwritten value between 0 and 100.  This restriction is maintained, but\ndirty_bytes has a lower limit of only one page.\n\nAlso prior to this change, the dirty_background_ratio could not equal or\nexceed dirty_ratio.  This restriction is maintained in addition to\nrestricting dirty_background_bytes.  If either background threshold equals\nor exceeds that of the dirty threshold, it is implicitly set to half the\ndirty threshold.\n\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: 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": "364aeb2849789b51bf4b9af2ddd02fee7285c54e",
      "tree": "4a24ea43a2a76ae744571f3c7b5022aa1107599e",
      "parents": [
        "58a01a45721bf7bd3a41a86248c3cb02a6b0c501"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Tue Jan 06 14:39:29 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:02 2009 -0800"
      },
      "message": "mm: change dirty limit type specifiers to unsigned long\n\nThe background dirty and dirty limits are better defined with type\nspecifiers of unsigned long since negative writeback thresholds are not\npossible.\n\nThese values, as returned by get_dirty_limits(), are normally compared\nwith ZVC values to determine whether writeback shall commence or be\nthrottled.  Such page counts cannot be negative, so declaring the page\nlimits as signed is unnecessary.\n\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: 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": "2afd1c928f1132b8d0099866e75ce8ad713a1180",
      "tree": "e31d1cfd0b11df74e0241fe43e4be2c72a8946ff",
      "parents": [
        "b5934c531849ff4a51ce0f290141efe564290e40"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue Jan 06 14:39:26 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:02 2009 -0800"
      },
      "message": "mm: make page_lock_anon_vma() static\n\npage_lock_anon_vma() and page_unlock_anon_vma() were made available to\nshow_page_path() in vmscan.c; but now that has been removed, make them\nstatic in rmap.c again, they\u0027re better kept private if possible.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nReviewed-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": "b5934c531849ff4a51ce0f290141efe564290e40",
      "tree": "0c741a5bd6178db11f1147875f59e7a1a9d1754d",
      "parents": [
        "51726b1222863852c46ca21ed0115b85d1edfd89"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue Jan 06 14:39:25 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:02 2009 -0800"
      },
      "message": "mm: add_active_or_unevictable into rmap\n\nlru_cache_add_active_or_unevictable() and page_add_new_anon_rmap() always\nappear together.  Save some symbol table space and some jumping around by\nremoving lru_cache_add_active_or_unevictable(), folding its code into\npage_add_new_anon_rmap(): like how we add file pages to lru just after\nadding them to page cache.\n\nRemove the nearby \"TODO: is this safe?\" comments (yes, it is safe), and\nchange page_add_new_anon_rmap()\u0027s address BUG_ON to VM_BUG_ON as\noriginally intended.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6d91add09f4bad5f4d4233b13faa392f0c4b16be",
      "tree": "26f77047b316dfc0879307fbfda84b15a199155f",
      "parents": [
        "3c1d43787b48c798f44dc32a6e6deb5ca2da3e68"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue Jan 06 14:39:24 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:02 2009 -0800"
      },
      "message": "mm: add Set,ClearPageSwapCache stubs\n\nIf we add NOOP stubs for SetPageSwapCache() and ClearPageSwapCache(), then\nwe can remove the #ifdef CONFIG_SWAPs from mm/migrate.c.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3c1d43787b48c798f44dc32a6e6deb5ca2da3e68",
      "tree": "587da6031de37a716839656cf4fe4245aba2afb4",
      "parents": [
        "e5991371ee0d1c0ce19e133c6f9075b49c5b4ae8"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue Jan 06 14:39:23 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:01 2009 -0800"
      },
      "message": "mm: remove GFP_HIGHUSER_PAGECACHE\n\nGFP_HIGHUSER_PAGECACHE is just an alias for GFP_HIGHUSER_MOVABLE, making\nthat harder to track down: remove it, and its out-of-work brothers\nGFP_NOFS_PAGECACHE and GFP_USER_PAGECACHE.\n\nSince we\u0027re making that improvement to hotremove_migrate_alloc(), I think\nwe can now also remove one of the \"o\"s from its comment.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: 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": "e5991371ee0d1c0ce19e133c6f9075b49c5b4ae8",
      "tree": "3e5c9c3293c025f537ff4416660a96d33c694b5f",
      "parents": [
        "39f0dee2d8abe902617622b71f8f6f73985ec71c"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue Jan 06 14:39:22 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:01 2009 -0800"
      },
      "message": "mm: remove cgroup_mm_owner_callbacks\n\ncgroup_mm_owner_callbacks() was brought in to support the memrlimit\ncontroller, but sneaked into mainline ahead of it.  That controller has\nnow been shelved, and the mm_owner_changed() args were inadequate for it\nanyway (they needed an mm pointer instead of a task pointer).\n\nRemove the dead code, and restore mm_update_next_owner() locking to how it\nwas before: taking mmap_sem there does nothing for memcontrol.c, now the\nonly user of mm-\u003eowner.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Balbir Singh \u003cbalbir@in.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": "64cdd548ffe26849d4cd113ac640f60606063b14",
      "tree": "9a7a8af9022621d2da3648757b724fcd32b20168",
      "parents": [
        "1b0bd118862cd9fe9ac2872137a1b8107e83ff9d"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Tue Jan 06 14:39:16 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:00 2009 -0800"
      },
      "message": "mm: cleanup: remove #ifdef CONFIG_MIGRATION\n\n#ifdef in *.c file decrease source readability a bit.  removing is better.\n\nThis patch doesn\u0027t have any functional change.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: 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": "1b0bd118862cd9fe9ac2872137a1b8107e83ff9d",
      "tree": "2bd59ee95762164d4e98bbafd251e3abd31c2af1",
      "parents": [
        "5594c8c813d9e907ff55da7080d42653478b73e8"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Tue Jan 06 14:39:15 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:00 2009 -0800"
      },
      "message": "mm: get rid of pagevec_release_nonlru()\n\nspeculative page references patch (commit:\ne286781d5f2e9c846e012a39653a166e9d31777d) removed last\npagevec_release_nonlru() caller.\n\nSo this function can be removed now.\n\nThis patch doesn\u0027t have any functional change.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: 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": "c04fc586c1a480ba198f03ae7b6cbd7b57380b91",
      "tree": "9d6544a3b62cc01dbcbb1e315b84378b45ba86d2",
      "parents": [
        "ee53a891f47444c53318b98dac947ede963db400"
      ],
      "author": {
        "name": "Gary Hade",
        "email": "garyhade@us.ibm.com",
        "time": "Tue Jan 06 14:39:14 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:00 2009 -0800"
      },
      "message": "mm: show node to memory section relationship with symlinks in sysfs\n\nShow node to memory section relationship with symlinks in sysfs\n\nAdd /sys/devices/system/node/nodeX/memoryY symlinks for all\nthe memory sections located on nodeX.  For example:\n/sys/devices/system/node/node1/memory135 -\u003e ../../memory/memory135\nindicates that memory section 135 resides on node1.\n\nAlso revises documentation to cover this change as well as updating\nDocumentation/ABI/testing/sysfs-devices-memory to include descriptions\nof memory hotremove files \u0027phys_device\u0027, \u0027phys_index\u0027, and \u0027state\u0027\nthat were previously not described there.\n\nIn addition to it always being a good policy to provide users with\nthe maximum possible amount of physical location information for\nresources that can be hot-added and/or hot-removed, the following\nare some (but likely not all) of the user benefits provided by\nthis change.\nImmediate:\n  - Provides information needed to determine the specific node\n    on which a defective DIMM is located.  This will reduce system\n    downtime when the node or defective DIMM is swapped out.\n  - Prevents unintended onlining of a memory section that was\n    previously offlined due to a defective DIMM.  This could happen\n    during node hot-add when the user or node hot-add assist script\n    onlines _all_ offlined sections due to user or script inability\n    to identify the specific memory sections located on the hot-added\n    node.  The consequences of reintroducing the defective memory\n    could be ugly.\n  - Provides information needed to vary the amount and distribution\n    of memory on specific nodes for testing or debugging purposes.\nFuture:\n  - Will provide information needed to identify the memory\n    sections that need to be offlined prior to physical removal\n    of a specific node.\n\nSymlink creation during boot was tested on 2-node x86_64, 2-node\nppc64, and 2-node ia64 systems.  Symlink creation during physical\nmemory hot-add tested on a 2-node x86_64 system.\n\nSigned-off-by: Gary Hade \u003cgaryhade@us.ibm.com\u003e\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nAcked-by: 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": "75aa199410359dc5fbcf9025ff7af98a9d20f0d5",
      "tree": "569bffa181ccba56d884ec7e826ae61384297f56",
      "parents": [
        "c7d4caeb1d68d07f77cc09fc20b7759d6d7aa3b1"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Tue Jan 06 14:39:01 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:58:59 2009 -0800"
      },
      "message": "oom: print triggering task\u0027s cpuset and mems allowed\n\nWhen cpusets are enabled, it\u0027s necessary to print the triggering task\u0027s\nset of allowable nodes so the subsequently printed meminfo can be\ninterpreted correctly.\n\nWe also print the task\u0027s cpuset name for informational purposes.\n\n[rientjes@google.com: task lock current before dereferencing cpuset]\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1c0fe6e3bda0464728c23c8d84aa47567e8b716c",
      "tree": "64f7903ee7757b14464e8a06bf91f5c4d5a8ba56",
      "parents": [
        "5bd1455c239672081d0e7f086e899b8cbc7a9844"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Tue Jan 06 14:38:59 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:58:58 2009 -0800"
      },
      "message": "mm: invoke oom-killer from page fault\n\nRather than have the pagefault handler kill a process directly if it gets\na VM_FAULT_OOM, have it call into the OOM killer.\n\nWith increasingly sophisticated oom behaviour (cpusets, memory cgroups,\noom killing throttling, oom priority adjustment or selective disabling,\npanic on oom, etc), it\u0027s silly to unconditionally kill the faulting\nprocess at page fault time.  Create a hook for pagefault oom path to call\ninto instead.\n\nOnly converted x86 and uml so far.\n\n[akpm@linux-foundation.org: make __out_of_memory() static]\n[akpm@linux-foundation.org: fix comment]\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3340289ddf29ca75c3acfb3a6b72f234b2f74d5c",
      "tree": "d5da94eb1cb0146160fcb0e7aa161bfa5b6ac807",
      "parents": [
        "08fba69986e20c1c9e5fe2e6064d146cc4f42480"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Tue Jan 06 14:38:54 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:58:58 2009 -0800"
      },
      "message": "mm: report the MMU pagesize in /proc/pid/smaps\n\nThe KernelPageSize entry in /proc/pid/smaps is the pagesize used by the\nkernel to back a VMA.  This matches the size used by the MMU in the\nmajority of cases.  However, one counter-example occurs on PPC64 kernels\nwhereby a kernel using 64K as a base pagesize may still use 4K pages for\nthe MMU on older processor.  To distinguish, this patch reports\nMMUPageSize as the pagesize used by the MMU in /proc/pid/smaps.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: \"KOSAKI Motohiro\" \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@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": "08fba69986e20c1c9e5fe2e6064d146cc4f42480",
      "tree": "40bd36a6778624527d91ede0eb51aa5b99aab01c",
      "parents": [
        "238c6d54830c624f34ac9cf123ac04aebfca5013"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Tue Jan 06 14:38:53 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:58:58 2009 -0800"
      },
      "message": "mm: report the pagesize backing a VMA in /proc/pid/smaps\n\nIt is useful to verify a hugepage-aware application is using the expected\npagesizes for its memory regions. This patch creates an entry called\nKernelPageSize in /proc/pid/smaps that is the size of page used by the\nkernel to back a VMA. The entry is not called PageSize as it is possible\nthe MMU uses a different size. This extension should not break any sensible\nparser that skips lines containing unrecognised information.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: \"KOSAKI Motohiro\" \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@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": "ac8cc0fa5395fe2278e305a4cbed48e90d88d878",
      "tree": "515f577bfddd054ee4373228be7c974dfb8133af",
      "parents": [
        "238c6d54830c624f34ac9cf123ac04aebfca5013",
        "3699c53c485bf0168e6500d0ed18bf931584dd7c"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Wed Jan 07 09:58:22 2009 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Wed Jan 07 09:58:22 2009 +1100"
      },
      "message": "Merge branch \u0027next\u0027 into for-linus\n"
    },
    {
      "commit": "3699c53c485bf0168e6500d0ed18bf931584dd7c",
      "tree": "eee63a8ddbdb0665bc6a4a053a2405ca7a5b867f",
      "parents": [
        "29881c4502ba05f46bc12ae8053d4e08d7e2615c"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Jan 06 22:27:01 2009 +0000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Wed Jan 07 09:38:48 2009 +1100"
      },
      "message": "CRED: Fix regression in cap_capable() as shown up by sys_faccessat() [ver #3]\n\nFix a regression in cap_capable() due to:\n\n\tcommit 3b11a1decef07c19443d24ae926982bc8ec9f4c0\n\tAuthor: David Howells \u003cdhowells@redhat.com\u003e\n\tDate:   Fri Nov 14 10:39:26 2008 +1100\n\n\t    CRED: Differentiate objective and effective subjective credentials on a task\n\nThe problem is that the above patch allows a process to have two sets of\ncredentials, and for the most part uses the subjective credentials when\naccessing current\u0027s creds.\n\nThere is, however, one exception: cap_capable(), and thus capable(), uses the\nreal/objective credentials of the target task, whether or not it is the current\ntask.\n\nOrdinarily this doesn\u0027t matter, since usually the two cred pointers in current\npoint to the same set of creds.  However, sys_faccessat() makes use of this\nfacility to override the credentials of the calling process to make its test,\nwithout affecting the creds as seen from other processes.\n\nOne of the things sys_faccessat() does is to make an adjustment to the\neffective capabilities mask, which cap_capable(), as it stands, then ignores.\n\nThe affected capability check is in generic_permission():\n\n\tif (!(mask \u0026 MAY_EXEC) || execute_ok(inode))\n\t\tif (capable(CAP_DAC_OVERRIDE))\n\t\t\treturn 0;\n\nThis change passes the set of credentials to be tested down into the commoncap\nand SELinux code.  The security functions called by capable() and\nhas_capability() select the appropriate set of credentials from the process\nbeing checked.\n\nThis can be tested by compiling the following program from the XFS testsuite:\n\n/*\n *  t_access_root.c - trivial test program to show permission bug.\n *\n *  Written by Michael Kerrisk - copyright ownership not pursued.\n *  Sourced from: http://linux.derkeiler.com/Mailing-Lists/Kernel/2003-10/6030.html\n */\n#include \u003climits.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003cstdlib.h\u003e\n#include \u003cfcntl.h\u003e\n#include \u003csys/stat.h\u003e\n\n#define UID 500\n#define GID 100\n#define PERM 0\n#define TESTPATH \"/tmp/t_access\"\n\nstatic void\nerrExit(char *msg)\n{\n    perror(msg);\n    exit(EXIT_FAILURE);\n} /* errExit */\n\nstatic void\naccessTest(char *file, int mask, char *mstr)\n{\n    printf(\"access(%s, %s) returns %d\\n\", file, mstr, access(file, mask));\n} /* accessTest */\n\nint\nmain(int argc, char *argv[])\n{\n    int fd, perm, uid, gid;\n    char *testpath;\n    char cmd[PATH_MAX + 20];\n\n    testpath \u003d (argc \u003e 1) ? argv[1] : TESTPATH;\n    perm \u003d (argc \u003e 2) ? strtoul(argv[2], NULL, 8) : PERM;\n    uid \u003d (argc \u003e 3) ? atoi(argv[3]) : UID;\n    gid \u003d (argc \u003e 4) ? atoi(argv[4]) : GID;\n\n    unlink(testpath);\n\n    fd \u003d open(testpath, O_RDWR | O_CREAT, 0);\n    if (fd \u003d\u003d -1) errExit(\"open\");\n\n    if (fchown(fd, uid, gid) \u003d\u003d -1) errExit(\"fchown\");\n    if (fchmod(fd, perm) \u003d\u003d -1) errExit(\"fchmod\");\n    close(fd);\n\n    snprintf(cmd, sizeof(cmd), \"ls -l %s\", testpath);\n    system(cmd);\n\n    if (seteuid(uid) \u003d\u003d -1) errExit(\"seteuid\");\n\n    accessTest(testpath, 0, \"0\");\n    accessTest(testpath, R_OK, \"R_OK\");\n    accessTest(testpath, W_OK, \"W_OK\");\n    accessTest(testpath, X_OK, \"X_OK\");\n    accessTest(testpath, R_OK | W_OK, \"R_OK | W_OK\");\n    accessTest(testpath, R_OK | X_OK, \"R_OK | X_OK\");\n    accessTest(testpath, W_OK | X_OK, \"W_OK | X_OK\");\n    accessTest(testpath, R_OK | W_OK | X_OK, \"R_OK | W_OK | X_OK\");\n\n    exit(EXIT_SUCCESS);\n} /* main */\n\nThis can be run against an Ext3 filesystem as well as against an XFS\nfilesystem.  If successful, it will show:\n\n\t[root@andromeda src]# ./t_access_root /tmp/xxx 0 4043 4043\n\t---------- 1 dhowells dhowells 0 2008-12-31 03:00 /tmp/xxx\n\taccess(/tmp/xxx, 0) returns 0\n\taccess(/tmp/xxx, R_OK) returns 0\n\taccess(/tmp/xxx, W_OK) returns 0\n\taccess(/tmp/xxx, X_OK) returns -1\n\taccess(/tmp/xxx, R_OK | W_OK) returns 0\n\taccess(/tmp/xxx, R_OK | X_OK) returns -1\n\taccess(/tmp/xxx, W_OK | X_OK) returns -1\n\taccess(/tmp/xxx, R_OK | W_OK | X_OK) returns -1\n\nIf unsuccessful, it will show:\n\n\t[root@andromeda src]# ./t_access_root /tmp/xxx 0 4043 4043\n\t---------- 1 dhowells dhowells 0 2008-12-31 02:56 /tmp/xxx\n\taccess(/tmp/xxx, 0) returns 0\n\taccess(/tmp/xxx, R_OK) returns -1\n\taccess(/tmp/xxx, W_OK) returns -1\n\taccess(/tmp/xxx, X_OK) returns -1\n\taccess(/tmp/xxx, R_OK | W_OK) returns -1\n\taccess(/tmp/xxx, R_OK | X_OK) returns -1\n\taccess(/tmp/xxx, W_OK | X_OK) returns -1\n\taccess(/tmp/xxx, R_OK | W_OK | X_OK) returns -1\n\nI\u0027ve also tested the fix with the SELinux and syscalls LTP testsuites.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nTested-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "29881c4502ba05f46bc12ae8053d4e08d7e2615c",
      "tree": "536ea4ac63554e836438bd5f370ddecaa343f1f4",
      "parents": [
        "76f7ba35d4b5219fcc4cb072134c020ec77d030d"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Wed Jan 07 09:21:54 2009 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Wed Jan 07 09:21:54 2009 +1100"
      },
      "message": "Revert \"CRED: Fix regression in cap_capable() as shown up by sys_faccessat() [ver #2]\"\n\nThis reverts commit 14eaddc967b16017d4a1a24d2be6c28ecbe06ed8.\n\nDavid has a better version to come.\n"
    },
    {
      "commit": "b8ac9fc0e8cda9f9776019c5b0464b0c6d2d4c90",
      "tree": "ec16e6a3844396dd67af3f87c915cb272570cc98",
      "parents": [
        "a2ab3d30005cdce45c2c7e31ad6743ad7975609a"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Fri Dec 12 11:44:21 2008 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 06 10:44:44 2009 -0800"
      },
      "message": "uio: make uio_info\u0027s name and version const\n\nThese are only ever assigned constant strings and never modified.\n\nThis was noticed because Wolfram Sang needed to cast the result of\nof_get_property() in order to assign it to the name field of a struct\nuio_info.\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "e70c412ee45332db2636a8f5a35a0685efb0e4aa",
      "tree": "98340f89baa09af04f67f4be5184363c54f2ef2f",
      "parents": [
        "e543ae896626a54c0c05e3c434312d6d033d450c"
      ],
      "author": {
        "name": "Hans J. Koch",
        "email": "hjk@linutronix.de",
        "time": "Sat Dec 06 02:23:13 2008 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 06 10:44:44 2009 -0800"
      },
      "message": "UIO: Pass information about ioports to userspace (V2)\n\nDevices sometimes have memory where all or parts of it can not be mapped to\nuserspace. But it might still be possible to access this memory from\nuserspace by other means. An example are PCI cards that advertise not only\nmappable memory but also ioport ranges. On x86 architectures, these can be\naccessed with ioperm, iopl, inb, outb, and friends. Mike Frysinger (CCed)\nreported a similar problem on Blackfin arch where it doesn\u0027t seem to be easy\nto mmap non-cached memory but it can still be accessed from userspace.\n\nThis patch allows kernel drivers to pass information about such ports to\nuserspace. Similar to the existing mem[] array, it adds a port[] array to\nstruct uio_info. Each port range is described by start, size, and porttype.\n\nIf a driver fills in at least one such port range, the UIO core will simply\npass this information to userspace by creating a new directory \"portio\"\nunderneath /sys/class/uio/uioN/. Similar to the \"mem\" directory, it will\ncontain a subdirectory (portX) for each port range given.\n\nNote that UIO simply passes this information to userspace, it performs no\naction whatsoever with this data. It\u0027s userspace\u0027s responsibility to obtain\naccess to these ports and to solve arch dependent issues. The \"porttype\"\nattribute tells userspace what kind of port it is dealing with.\n\nThis mechanism could also be used to give userspace information about GPIOs\nrelated to a device. You frequently find such hardware in embedded devices,\nso I added a UIO_PORT_GPIO definition. I\u0027m not really sure if this is a good\nidea since there are other solutions to this problem, but it won\u0027t hurt much\nanyway.\n\nSigned-off-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "475b44c19913b877537c8bc19799f75b0b142641",
      "tree": "4049c6a9e17cb62761b9b4b0eb92bf60786af73f",
      "parents": [
        "24d254759dc4eb59b47317790c05569f732a2577"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Tue Jan 06 10:44:38 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 06 10:44:38 2009 -0800"
      },
      "message": "mtd: struct device - replace bus_id with dev_name(), dev_set_name()\n\nCC: David Woodhouse \u003cdwmw2@infradead.org\u003e\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "0aa0dc41bfd993491c2344870eee7a3b218551fb",
      "tree": "bf0896c7e0bb9f5b7e6253fc15c8846b6f188d08",
      "parents": [
        "7232800ba8aca1c070d43a81cc49991f230b5da1"
      ],
      "author": {
        "name": "Mark McLoughlin",
        "email": "markmc@redhat.com",
        "time": "Mon Dec 15 12:58:26 2008 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 06 10:44:33 2009 -0800"
      },
      "message": "driver core: add root_device_register()\n\nAdd support for allocating root device objects which group\ndevice objects under /sys/devices directories.\n\nAlso add a sysfs \u0027module\u0027 symlink which points to the owner\nof the root device object. This symlink will be used in virtio\nto allow userspace to determine which virtio bus implementation\na given device is associated with.\n\n[Includes suggestions from Cornelia Huck]\n\nSigned-off-by: Mark McLoughlin \u003cmarkmc@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "d0d85ff989222f08dd1fa66321fef5567bbc4a7b",
      "tree": "77af68b3dcd51d95c231025dcb3e4dd3bd21b285",
      "parents": [
        "b9daa99ee533578e3f88231e7a16784dcb44ec42"
      ],
      "author": {
        "name": "Cornelia Huck",
        "email": "cornelia.huck@de.ibm.com",
        "time": "Thu Dec 04 16:55:47 2008 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 06 10:44:33 2009 -0800"
      },
      "message": "Make DEBUG take precedence over DYNAMIC_PRINTK_DEBUG\n\nStatically defined DEBUG should take precedence over\ndynamically enabled debugging; otherwise adding DEBUG\n(like, for example, via CONFIG_DEBUG_KOBJECT) does not\nhave the expected result of printing pr_debug() and dev_dbg()\nmessages unconditionally.\n\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nAcked-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b9daa99ee533578e3f88231e7a16784dcb44ec42",
      "tree": "10f572ac695927866ec8293efdf4b937c11c4597",
      "parents": [
        "93e746db183b3bdbbda67900f79b5835f9cb388f"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Dec 16 12:26:21 2008 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 06 10:44:33 2009 -0800"
      },
      "message": "driver core: move knode_bus into private structure\n\nNothing outside of the driver core should ever touch knode_bus, so\nmove it out of the public eye.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "93e746db183b3bdbbda67900f79b5835f9cb388f",
      "tree": "658cb2c8cac313b7e2cc94f914dac52996432c93",
      "parents": [
        "11c3b5c3e08f4d855cbef52883c266b9ab9df879"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Dec 16 12:25:49 2008 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 06 10:44:32 2009 -0800"
      },
      "message": "driver core: move knode_driver into private structure\n\nNothing outside of the driver core should ever touch knode_driver, so\nmove it out of the public eye.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "11c3b5c3e08f4d855cbef52883c266b9ab9df879",
      "tree": "43278db9cb198f3800eaa73c3c051d875c92709d",
      "parents": [
        "2831fe6f9cc4e16c103504ee09a47a084297c0f3"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Dec 16 12:24:56 2008 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 06 10:44:32 2009 -0800"
      },
      "message": "driver core: move klist_children into private structure\n\nNothing outside of the driver core should ever touch klist_children, or\nknode_parent, so move them out of the public eye.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "2831fe6f9cc4e16c103504ee09a47a084297c0f3",
      "tree": "36869b2a4ad9dce0fb0812f44355233e907afa95",
      "parents": [
        "2e5ba26a483218b51b7b327fb235b348890aea15"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Dec 16 12:23:36 2008 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 06 10:44:32 2009 -0800"
      },
      "message": "driver core: create a private portion of struct device\n\nThis is to be used to move things out of struct device that no code\noutside of the driver core should ever touch.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "210272a28465a7a31bcd580d2f9529f924965aa5",
      "tree": "bd368e8f27c7691b12deaafc1a52c79db1fa1cc9",
      "parents": [
        "929d2fa5955ab27aa21fac615b23e0e92e8dc3a0"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Thu Oct 16 14:57:54 2008 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 06 10:44:30 2009 -0800"
      },
      "message": "driver core: Remove completion from struct klist_node\n\nRemoving the completion from klist_node reduces its size from 64 bytes\nto 28 on x86-64.  To maintain the semantics of klist_remove(), we add\na single list of klist nodes which are pending deletion and scan them.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "929d2fa5955ab27aa21fac615b23e0e92e8dc3a0",
      "tree": "7cca230fb8187f2b90543f89715581f4ad81ea77",
      "parents": [
        "7f4f5d4516b441d712fa0ffe5380618fb7fc545e"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Thu Oct 16 15:51:35 2008 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 06 10:44:30 2009 -0800"
      },
      "message": "driver core: Rearrange struct device for better packing\n\nThis minor rearrangement saves 16 bytes from sizeof(struct device)\naccording to pahole.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "7f4f5d4516b441d712fa0ffe5380618fb7fc545e",
      "tree": "60e7577895c1466f1f62b5389017c4dbdad580ec",
      "parents": [
        "adf094931ffb25ef4b381559918f1a34181a5273"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Mon Nov 17 11:14:19 2008 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 06 10:44:30 2009 -0800"
      },
      "message": "Fix misspellings in pm.h macros\n\nThis patch (as1167) fixes some misspellings in various recently-added\nmacros in pm.h.  Fortunately these macros are not yet used anywhere.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nAcked-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n\n"
    },
    {
      "commit": "adf094931ffb25ef4b381559918f1a34181a5273",
      "tree": "bd343d4c15b21dff6a73359fd2d82ff77e30e0d4",
      "parents": [
        "238c6d54830c624f34ac9cf123ac04aebfca5013"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Oct 06 22:46:05 2008 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 06 10:44:29 2009 -0800"
      },
      "message": "PM: Simplify the new suspend/hibernation framework for devices\n\nPM: Simplify the new suspend/hibernation framework for devices\n\nFollowing the discussion at the Kernel Summit, simplify the new\ndevice PM framework by merging \u0027struct pm_ops\u0027 and\n\u0027struct pm_ext_ops\u0027 and removing pointers to \u0027struct pm_ext_ops\u0027\nfrom \u0027struct platform_driver\u0027 and \u0027struct pci_driver\u0027.\n\nAfter this change, the suspend/hibernation callbacks will only\nreside in \u0027struct device_driver\u0027 as well as at the bus type/\ndevice class/device type level.  Accordingly, PCI and platform\ndevice drivers are now expected to put their suspend/hibernation\ncallbacks into the \u0027struct device_driver\u0027 embedded in\n\u0027struct pci_driver\u0027 or \u0027struct platform_driver\u0027, respectively.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@suse.cz\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "592b5315219881c6c0af4785f96456ad2043193a",
      "tree": "2b330d7b4880c10013a9e3e86b5cf18160aed785",
      "parents": [
        "3f023b0138b7db21bac0074b3d5ca2854372c6ff"
      ],
      "author": {
        "name": "Sergei Shtylyov",
        "email": "sshtylyov@ru.mvista.com",
        "time": "Tue Jan 06 17:21:02 2009 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Tue Jan 06 17:21:02 2009 +0100"
      },
      "message": "ide: move read_sff_dma_status() method to \u0027struct ide_dma_ops\u0027\n\nMove apparently misplaced read_sff_dma_status() method from \u0027struct ide_tp_ops\u0027\nto \u0027struct ide_dma_ops\u0027, renaming it to dma_sff_read_status() and making only\nrequired for SFF-8038i compatible IDE controller drivers (greatly cutting down\nthe number of initializers) as its only user (outside ide-dma-sff.c and such\ndrivers) appears to be ide_pci_check_simplex() which is only called for such\ncontrollers...\n\nSigned-off-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "391ad1908a9c13d457ea12ce1508d6b8a7ba72ad",
      "tree": "3ca36ed65d3dced7de8d2e6e6cebe60624936434",
      "parents": [
        "7ee98034d6402b9ba31d749ffb66534a44177ba9"
      ],
      "author": {
        "name": "Shane McDonald",
        "email": "mcdonald.shane@gmail.com",
        "time": "Tue Jan 06 17:21:01 2009 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Tue Jan 06 17:21:01 2009 +0100"
      },
      "message": "Resurrect IT8172 IDE controller driver\n\nSupport for the IT8172 IDE controller was removed from the kernel\nsometime after 2.6.18.  Support for the only boards that used the IT8172\nwas removed from the kernel after 2.6.18, as they had never compiled\nsince 2.6.0.  However, there are a couple of platforms that use this\nchip: the PMC-Sierra Xiao Hu thin-client computer, which is no longer\nin production, and the Linksys NSS4000 Network Attached Storage box,\nwhich is based on the Xiao Hu board.  I am attempting to add support\nfor the Xiao Hu to the kernel, and this IT8172 IDE controller is the\nfirst bit of code in this effort.\n\nThis patch resurrects the IT8172 IDE controller code.  I began with\nthe 2.6.18 version of the it8172.c file, and have moved it forward so\nthat it works with the latest version of the kernel.  I have run this\ndriver on a PMC-Sierra Xiao Hu board with the 2.6.28 kernel, and\nI have had no problems with it in my configuration.  The attached patch\napplies cleanly against 2.6.28.\n\nSigned-off-by: Shane McDonald \u003cmcdonald.shane@gmail.com\u003e\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nCc: alan@lxorguk.ukuu.org.uk\n[bart: s/HWIF(drive)/drive-\u003ehwif/]\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "94c96445f32c16cfdc398b20b7e78945ab7e35f9",
      "tree": "a39761dfe8f90014c6ee3dfd7022d17bf6b1d2a3",
      "parents": [
        "906ef986a71d541a726550fa40dcbc5c356f810e"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Tue Jan 06 17:20:59 2009 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Tue Jan 06 17:20:59 2009 +0100"
      },
      "message": "ide: remove unused ide_hwif_t.sg_mapped field\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "906ef986a71d541a726550fa40dcbc5c356f810e",
      "tree": "362ca2504f293e057979a9e87d30e5a2707bffc2",
      "parents": [
        "b1b1cd9a23dfa9b33267519ee7c228da708ddaf6"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Tue Jan 06 17:20:59 2009 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Tue Jan 06 17:20:59 2009 +0100"
      },
      "message": "ide: struct ide_atapi_pc - remove unused fields and update documentation\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "d6251d4488a361c93da2398818e1ec69cffb6073",
      "tree": "25ce4225e9a0fd0ade887580d225a583b80fe9f2",
      "parents": [
        "1e91477aa335fc1c97eb15649ed1a1714cc758ec"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "petkovbb@gmail.com",
        "time": "Tue Jan 06 17:20:58 2009 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Tue Jan 06 17:20:58 2009 +0100"
      },
      "message": "ide-cd: convert to ide-atapi facilities\n\n... and remove no longer needed cdrom_start_packet_command and\ncdrom_transfer_packet_command.\n\nTested lightly with ide-cd and ide-floppy.\n\nSigned-off-by: Borislav Petkov \u003cpetkovbb@gmail.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "2bd24a1cfc99d242c2cff9a6b74ca49fcaac3fb6",
      "tree": "d4797f56699e9da367e12b5e1d01b108241424f6",
      "parents": [
        "5e7f3a46690f7f6c9f2781c700ab4370874aa0e8"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Tue Jan 06 17:20:56 2009 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Tue Jan 06 17:20:56 2009 +0100"
      },
      "message": "ide: add port and host iterators\n\nAdd ide_port_for_each_dev() / ide_host_for_each_port() iterators\nand update IDE code to use them.\n\nWhile at it:\n- s/unit/i/ variable in ide_port_wait_ready(), ide_probe_port(),\n  ide_port_tune_devices(), ide_port_init_devices_data(), do_reset1(),\n  ide_acpi_set_state() and scc_dma_end()\n- s/d/i/ variable in ide_proc_port_register_devices()\n\nThere should be no functional changes caused by this patch.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "5e7f3a46690f7f6c9f2781c700ab4370874aa0e8",
      "tree": "be5a50962416bbbc323c24d997ceb3472e3d44b9",
      "parents": [
        "a32296f93821497d794ab8e1312d677717479777"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Tue Jan 06 17:20:56 2009 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Tue Jan 06 17:20:56 2009 +0100"
      },
      "message": "ide: dynamic allocation of device structures\n\nAllocate device structures dynamically instead of having them embedded\nin ide_hwif_t:\n\n* Remove needless zeroing of port structure from ide_init_port_data().\n\n* Add ide_hwif_t.devices[MAX_DRIVES] (table of pointers to the devices).\n\n* Add ide_port_{alloc,free}_devices() helpers and use them respectively\n  in ide_{host,free}_alloc().\n\n* Convert all users of -\u003edrives[] to use -\u003edevices[] instead.\n\nWhile at it:\n\n* Use drive-\u003edn for the slave device check in scc_pata.c.\n\nAs a nice side-effect this patch cuts ~1kB (x86-32) from the resulting\ncode size:\n\n   text    data     bss     dec     hex filename\n  53963    1244     237   55444    d894 drivers/ide/ide-core.o.before\n  52981    1244     237   54462    d4be drivers/ide/ide-core.o.after\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "627e05daa10896a8f012fa78e8434c07e9e55ea7",
      "tree": "4104df5b2504dce8a26c59d6648e4e89229fc37f",
      "parents": [
        "585e9715c271f7ef171813eb49febf27dea75887"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Tue Jan 06 17:20:54 2009 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Tue Jan 06 17:20:54 2009 +0100"
      },
      "message": "ide: remove -\u003eerror method from struct ide_driver\n\n* Remove (now superfluous) -\u003eerror method from struct ide_driver.\n\n* Unexport __ide_error() and make it static.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "7f3c868ba78e486bd9d7569f884dd46d8f59bb18",
      "tree": "c52ff0d21b22ae60194a462d565a6caf2518b569",
      "parents": [
        "9892ec5497af1ec38c46974b5a370ba11c636b19"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Tue Jan 06 17:20:53 2009 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Tue Jan 06 17:20:53 2009 +0100"
      },
      "message": "ide: remove ide_driver_t typedef\n\nWhile at it:\n- s/struct ide_driver_s/struct ide_driver/\n- use to_ide_driver() macro in ide-proc.c\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "9892ec5497af1ec38c46974b5a370ba11c636b19",
      "tree": "53849e2268621888be3b8d3c911b407a5c9bcbf1",
      "parents": [
        "c0ae50234771684ae0cbac5dfb70e1a09c22aa89"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Tue Jan 06 17:20:53 2009 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Tue Jan 06 17:20:53 2009 +0100"
      },
      "message": "ide: remove \u0027byte\u0027 typedef\n\nJust use u8 instead, also s/__u8/u8/ in ide-cd.h while at it.\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "c0ae50234771684ae0cbac5dfb70e1a09c22aa89",
      "tree": "1fc27098ebc7b22f5eadb228176544f3a39c648e",
      "parents": [
        "54cc1428cfa619e16d75baae8cb041a2eff015f0"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Tue Jan 06 17:20:52 2009 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Tue Jan 06 17:20:52 2009 +0100"
      },
      "message": "ide: remove ide_pci_enablebit_t typedef\n\nRemove needless parens while at it.\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "54cc1428cfa619e16d75baae8cb041a2eff015f0",
      "tree": "364fdf6f09ca790c7d0de1cbb0c2d4e0d2797358",
      "parents": [
        "898ec223fea2a2df88035e58dbf50f493577e225"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Tue Jan 06 17:20:52 2009 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Tue Jan 06 17:20:52 2009 +0100"
      },
      "message": "ide: remove local_irq_set() macro\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "898ec223fea2a2df88035e58dbf50f493577e225",
      "tree": "93e6a4b6a4f518f15743786751cd39b9715f5558",
      "parents": [
        "b40d1b88f1001f0224c63fa2c008914514bcef33"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Tue Jan 06 17:20:52 2009 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Tue Jan 06 17:20:52 2009 +0100"
      },
      "message": "ide: remove HWIF() macro\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "b40d1b88f1001f0224c63fa2c008914514bcef33",
      "tree": "84b86e05c8b9218366871fef77b1ea0f2ae09da8",
      "parents": [
        "ff670e632e818535950d9e31d9d0dcfc7d5b4090"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Tue Jan 06 17:20:51 2009 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Tue Jan 06 17:20:51 2009 +0100"
      },
      "message": "ide: move ide_init_port_data() and friends to ide-probe.c\n\n* Move IDE_DEFAULT_MAX_FAILURES to \u003clinux/ide.h\u003e.\n\n* Move ide_cfg_mtx, ide_hwif_to_major[], ide_port_init_devices_data(),\n  ide_init_port_data(), ide_init_port_hw() and ide_unregister() to\n  ide-probe.c from ide.c.\n\n* Make ide_unregister(), ide_init_port_data(), ide_init_port_hw()\n  and ide_cfg_mtx static.\n\nWhile at it:\n\n* Remove stale ide_init_port_data() documentation and ide_lock extern.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "b65fac32cfe3b2f98cd472fef400bd1c1340de23",
      "tree": "493a7e30e23e5413a9e5ad6102b8e91ebc02c069",
      "parents": [
        "5b31f855f10d0053e738baa6d91fb6a3fad35119"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Tue Jan 06 17:20:50 2009 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Tue Jan 06 17:20:50 2009 +0100"
      },
      "message": "ide: merge ide_hwgroup_t with ide_hwif_t (v2)\n\n* Merge ide_hwgroup_t with ide_hwif_t.\n\n* Cleanup init_irq() accordingly, then remove no longer needed\n  ide_remove_port_from_hwgroup() and ide_ports[].\n\n* Remove now unused HWGROUP() macro.\n\nWhile at it:\n\n* ide_dump_ata_error() fixups\n\nv2:\n* Fix -\u003equirk_list check in do_ide_request()\n  (s/hwif-\u003ecur_dev/prev_port-\u003ecur_dev).\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "5b31f855f10d0053e738baa6d91fb6a3fad35119",
      "tree": "bdd8125faf6e4b8baf37d86270389b4d6f62f37d",
      "parents": [
        "efe0397eef544ac4bcca23d39aa8d5db154952e0"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Tue Jan 06 17:20:49 2009 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Tue Jan 06 17:20:49 2009 +0100"
      },
      "message": "ide: use lock bitops for ports serialization (v2)\n\n* Add -\u003ehost_busy field to struct ide_host and use it\u0027s first bit\n  together with lock bitops to provide new ports serialization method.\n\n* Convert core IDE code to use new ide_[un]lock_host() helpers.\n\n  This removes the need for taking hwgroup-\u003elock if host is already\n  busy on serialized hosts and makes it possible to merge ide_hwgroup_t\n  into ide_hwif_t (done in the later patch).\n\n* Remove no longer needed ide_hwgroup_t.busy and ide_[un]lock_hwgroup().\n\n* Update do_ide_request() documentation.\n\nv2:\n* ide_release_lock() should be called inside IDE_HFLAG_SERIALIZE check.\n\n* Add ide_hwif_t.busy flag and ide_[un]lock_port() for serializing\n  devices on a port.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "efe0397eef544ac4bcca23d39aa8d5db154952e0",
      "tree": "25418872f1a813d3fd15237dad67797d93aa8ad3",
      "parents": [
        "ae86afaee6a1c77c7a06d81dcc3bf872204d3bec"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Tue Jan 06 17:20:49 2009 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Tue Jan 06 17:20:49 2009 +0100"
      },
      "message": "ide: remove hwgroup-\u003ehwif and {drive,hwif}-\u003enext\n\n* Add \u0027int port_count\u0027 field to ide_hwgroup_t to keep the track\n  of the number of ports in the hwgroup.  Then update init_irq()\n  and ide_remove_port_from_hwgroup() to use it.\n\n* Remove no longer needed hwgroup-\u003ehwif, {drive,hwif}-\u003enext,\n  ide_add_drive_to_hwgroup() and ide_remove_drive_from_hwgroup()\n  (hwgroup-\u003edrive now only denotes the currently active device\n   in the hwgroup).\n\n* Update locking documentation in \u003clinux/ide.h\u003e.\n\nWhile at it:\n\n* Rename -\u003edrive field in ide_hwgroup_t to -\u003ecur_dev.\n\n* Use __func__ in ide_timer_expiry().\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "ae86afaee6a1c77c7a06d81dcc3bf872204d3bec",
      "tree": "992b5b436de3033c23c3dc6cd7ded617a4603eed",
      "parents": [
        "bd53cbcce501b61921a1af2dddfa87c5b9923dfd"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Tue Jan 06 17:20:48 2009 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Tue Jan 06 17:20:48 2009 +0100"
      },
      "message": "ide: use per-port IRQ handlers\n\nUse hwif instead of hwgroup as {request,free}_irq()\u0027s cookie,\nteach ide_intr() to return early for non-active serialized ports,\nmodify unexpected_intr() accordingly and then use per-port IRQ\nhandlers instead of per-hwgroup ones.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "bd53cbcce501b61921a1af2dddfa87c5b9923dfd",
      "tree": "73ffd27a76dd2594fc93073f663a96df505a282f",
      "parents": [
        "42cf2611b28602cf4c9dc7c22bc8653a10dff60d"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Tue Jan 06 17:20:48 2009 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Tue Jan 06 17:20:48 2009 +0100"
      },
      "message": "ide: add -\u003ecur_port to struct ide_host and use it for serialized hosts\n\n* Pass \u0027ide_hwif_t *\u0027 instead of \u0027ide_hwgroup_t *\u0027 to unexpected_intr().\n\n* Cache pointer to the port currently being serviced in -\u003ecur_port\n  and use it instead of hwif-\u003ehwgroup on serialized hosts.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "d9be28ea9110c596a05bd2d56afa94251bd19818",
      "tree": "c23a960b9087694a880011a4a956cbcf8c3c5b72",
      "parents": [
        "c70f22d203fc02c805b6ed4a3483b740dc36786b",
        "1c5745aa380efb6417b5681104b007c8612fb496",
        "47fea2adfc9e16846bc57c2f64ff233b354fef39",
        "238c6d54830c624f34ac9cf123ac04aebfca5013"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 06 09:33:57 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 06 09:33:57 2009 +0100"
      },
      "message": "Merge branches \u0027sched/clock\u0027, \u0027sched/cleanups\u0027 and \u0027linus\u0027 into sched/urgent\n"
    },
    {
      "commit": "fdbc0450df12cc9cb397f3497db4b0cad7c1a8ff",
      "tree": "3d266bd156f140f06b22f27784a7487bba6d6da5",
      "parents": [
        "46483d10e5123d78cf9abf37577aa8e75f18b8a4",
        "90621c40cc4ab7b0a414311ce37e7cc7173403b6",
        "ea319518ba3de282c13ae1cf4bf2215c5e03e67e",
        "238c6d54830c624f34ac9cf123ac04aebfca5013"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 06 09:32:11 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 06 09:32:11 2009 +0100"
      },
      "message": "Merge branches \u0027core/futexes\u0027, \u0027core/locking\u0027, \u0027core/rcu\u0027 and \u0027linus\u0027 into core/urgent\n"
    },
    {
      "commit": "238c6d54830c624f34ac9cf123ac04aebfca5013",
      "tree": "43b7f595013483382a3053237c45d9d2824e0295",
      "parents": [
        "8e128ce3318a147903c893de1891f6c2306f8a61",
        "a159c1ac5f33c6cf0f5aa3c9d1ccdc82c907ee46"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 19:20:59 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 19:20:59 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm:\n  dm snapshot: extend exception store functions\n  dm snapshot: split out exception store implementations\n  dm snapshot: rename struct exception_store\n  dm snapshot: separate out exception store interface\n  dm mpath: move trigger_event to system workqueue\n  dm: add name and uuid to sysfs\n  dm table: rework reference counting\n  dm: support barriers on simple devices\n  dm request: extend target interface\n  dm request: add caches\n  dm ioctl: allow dm_copy_name_and_uuid to return only one field\n  dm log: ensure log bitmap fits on log device\n  dm log: move region_size validation\n  dm log: avoid reinitialising io_req on every operation\n  dm: consolidate target deregistration error handling\n  dm raid1: fix error count\n  dm log: fix dm_io_client leak on error paths\n  dm snapshot: change yield to msleep\n  dm table: drop reference at unbind\n"
    },
    {
      "commit": "ab4c1424882be9cd70b89abf2b484add355712fa",
      "tree": "8baed3606be67900df9f02e42fcdb091b78c5def",
      "parents": [
        "7d76345da6ed3927c9cbf5d3f7a7021e8bba7374"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Tue Jan 06 03:05:09 2009 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Tue Jan 06 03:05:09 2009 +0000"
      },
      "message": "dm: support barriers on simple devices\n\nImplement barrier support for single device DM devices\n\nThis patch implements barrier support in DM for the common case of dm linear\njust remapping a single underlying device. In this case we can safely\npass the barrier through because there can be no reordering between\ndevices.\n\n NB. Any DM device might cease to support barriers if it gets\n     reconfigured so code must continue to allow for a possible\n     -EOPNOTSUPP on every barrier bio submitted.  - agk\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "7d76345da6ed3927c9cbf5d3f7a7021e8bba7374",
      "tree": "d0b470dd1a55dfffb27ffa012e4a5afebd133495",
      "parents": [
        "8fbf26ad5b16ad3a826ca7fe3e86700420abed1f"
      ],
      "author": {
        "name": "Kiyoshi Ueda",
        "email": "k-ueda@ct.jp.nec.com",
        "time": "Tue Jan 06 03:05:07 2009 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Tue Jan 06 03:05:07 2009 +0000"
      },
      "message": "dm request: extend target interface\n\nThis patch adds the following target interfaces for request-based dm.\n\n  map_rq    : for mapping a request\n\n  rq_end_io : for finishing a request\n\n  busy      : for avoiding performance regression from bio-based dm.\n              Target can tell dm core not to map requests now, and\n              that may help requests in the block layer queue to be\n              bigger by I/O merging.\n              In bio-based dm, this behavior is done by device\n              drivers managing the block layer queue.\n              But in request-based dm, dm core has to do that\n              since dm core manages the block layer queue.\n\nSigned-off-by: Kiyoshi Ueda \u003ck-ueda@ct.jp.nec.com\u003e\nSigned-off-by: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    }
  ],
  "next": "10d3bd09a3c25df114f74f7f86e1b58d070bef32"
}
