)]}'
{
  "log": [
    {
      "commit": "b8273570f802a7658827dcb077b0b517ba75a289",
      "tree": "06fcee4433089cdb16504f40b1975ebbdf69e241",
      "parents": [
        "704cc92e9ffe29458ea8831ae097c631b1160c01"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Sep 24 15:44:05 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 24 15:44:05 2009 -0700"
      },
      "message": "genetlink: fix netns vs. netlink table locking (2)\n\nSimilar to commit d136f1bd366fdb7e747ca7e0218171e7a00a98a5,\nthere\u0027s a bug when unregistering a generic netlink family,\nwhich is caught by the might_sleep() added in that commit:\n\n    BUG: sleeping function called from invalid context at net/netlink/af_netlink.c:183\n    in_atomic(): 1, irqs_disabled(): 0, pid: 1510, name: rmmod\n    2 locks held by rmmod/1510:\n     #0:  (genl_mutex){+.+.+.}, at: [\u003cffffffff8138283b\u003e] genl_unregister_family+0x2b/0x130\n     #1:  (rcu_read_lock){.+.+..}, at: [\u003cffffffff8138270c\u003e] __genl_unregister_mc_group+0x1c/0x120\n    Pid: 1510, comm: rmmod Not tainted 2.6.31-wl #444\n    Call Trace:\n     [\u003cffffffff81044ff9\u003e] __might_sleep+0x119/0x150\n     [\u003cffffffff81380501\u003e] netlink_table_grab+0x21/0x100\n     [\u003cffffffff813813a3\u003e] netlink_clear_multicast_users+0x23/0x60\n     [\u003cffffffff81382761\u003e] __genl_unregister_mc_group+0x71/0x120\n     [\u003cffffffff81382866\u003e] genl_unregister_family+0x56/0x130\n     [\u003cffffffffa0007d85\u003e] nl80211_exit+0x15/0x20 [cfg80211]\n     [\u003cffffffffa000005a\u003e] cfg80211_exit+0x1a/0x40 [cfg80211]\n\nFix in the same way by grabbing the netlink table lock\nbefore doing rcu_read_lock().\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "18a1166de994685d770425086b2bcc1ba567f7ed",
      "tree": "748916e0e5640506b438b7bcafb863153a4c0816",
      "parents": [
        "582b0b611345fc8d9ab8a0605d2f14c468902719"
      ],
      "author": {
        "name": "Rémi Denis-Courmont",
        "email": "remi.denis-courmont@nokia.com",
        "time": "Wed Sep 23 03:17:11 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 24 15:38:57 2009 -0700"
      },
      "message": "Phonet: error on broadcast sending (unimplemented)\n\nIf we ever implement this, then we can stop returning an error.\n\nSigned-off-by: Rémi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8b3f6af86378d0a10ca2f1ded1da124aef13b62c",
      "tree": "de6ca90295730343c495be8d98be8efa322140ef",
      "parents": [
        "139d6065c83071d5f66cd013a274a43699f8e2c1",
        "94e0fb086fc5663c38bbc0fe86d698be8314f82f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 24 15:13:11 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 24 15:13:11 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of /home/davem/src/GIT/linux-2.6/\n\nConflicts:\n\tdrivers/staging/Kconfig\n\tdrivers/staging/Makefile\n\tdrivers/staging/cpc-usb/TODO\n\tdrivers/staging/cpc-usb/cpc-usb_drv.c\n\tdrivers/staging/cpc-usb/cpc.h\n\tdrivers/staging/cpc-usb/cpc_int.h\n\tdrivers/staging/cpc-usb/cpcusb.h\n"
    },
    {
      "commit": "b7f21bb2e23b4fec16b448a34889f467465be659",
      "tree": "3569f95b5ebf5bcce03aad976ef69b9b818de832",
      "parents": [
        "7ca263cdf8cf74d0f1c6f48d07d556de92e3bec9",
        "76baeebf7df493703eeb4428eac015bdb7fabda6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 09:57:08 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 09:57:08 2009 -0700"
      },
      "message": "Merge branch \u0027linux-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6\n\n* \u0027linux-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: (21 commits)\n  x86/PCI: make 32 bit NUMA node array int, not unsigned char\n  x86/PCI: default pcibus cpumask to all cpus if it lacks affinity\n  MAINTAINTERS: remove hotplug driver entries\n  PCI: pciehp: remove slot capabilities definitions\n  PCI: pciehp: remove error message definitions\n  PCI: pciehp: remove number field\n  PCI: pciehp: remove hpc_ops\n  PCI: pciehp: remove pci_dev field\n  PCI: pciehp: remove crit_sect mutex\n  PCI: pciehp: remove slot_bus field\n  PCI: pciehp: remove first_slot field\n  PCI: pciehp: remove slot_device_offset field\n  PCI: pciehp: remove hp_slot field\n  PCI: pciehp: remove device field\n  PCI: pciehp: remove bus field\n  PCI: pciehp: remove slot_num_inc field\n  PCI: pciehp: remove num_slots field\n  PCI: pciehp: remove slot_list field\n  PCI: fix VGA arbiter header file\n  PCI: Disable AER with pci\u003dnomsi\n  ...\n\nFixed up trivial conflicts in MAINTAINERS\n"
    },
    {
      "commit": "2c9871de0ae89a0e2c365ea6e277135fe031d8b4",
      "tree": "1b5a05333f53c9eebb4d89924944201ec6e1f400",
      "parents": [
        "dc2af6a6bcf3abdf44ac545759a6547dfe12070e",
        "ffa9f12a41ec117207e8d953f90b9c179546c8d7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 09:01:05 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 09:01:05 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:\n  module: don\u0027t call percpu_modfree on NULL pointer.\n  module: fix memory leak when load fails after srcversion/version allocated\n  module: preferred way to use MODULE_AUTHOR\n  param: allow whitespace as kernel parameter separator\n  module: reduce string table for loaded modules (v2)\n  module: reduce symbol table for loaded modules (v2)\n"
    },
    {
      "commit": "6c5daf012c9155aafd2c7973e4278766c30dfad0",
      "tree": "33959d7b36d03e1610615641a2940cb2de5e8603",
      "parents": [
        "6d39b27f0ac7e805ae3bd9efa51d7da04bec0360",
        "c08d3b0e33edce28e9cfa7b64f7fe5bdeeb29248"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 08:32:11 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 08:32:11 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  truncate: use new helpers\n  truncate: new helpers\n  fs: fix overflow in sys_mount() for in-kernel calls\n  fs: Make unload_nls() NULL pointer safe\n  freeze_bdev: grab active reference to frozen superblocks\n  freeze_bdev: kill bd_mount_sem\n  exofs: remove BKL from super operations\n  fs/romfs: correct error-handling code\n  vfs: seq_file: add helpers for data filling\n  vfs: remove redundant position check in do_sendfile\n  vfs: change sb-\u003es_maxbytes to a loff_t\n  vfs: explicitly cast s_maxbytes in fiemap_check_ranges\n  libfs: return error code on failed attr set\n  seq_file: return a negative error code when seq_path_root() fails.\n  vfs: optimize touch_time() too\n  vfs: optimization for touch_atime()\n  vfs: split generic_forget_inode() so that hugetlbfs does not have to copy it\n  fs/inode.c: add dev-id and inode number for debugging in init_special_inode()\n  libfs: make simple_read_from_buffer conventional\n"
    },
    {
      "commit": "1d7015caa082d465faeae5d6fd1be077ee6dfa87",
      "tree": "db04698fc032f1a480c12e293558f87643c1533d",
      "parents": [
        "26d052bfce799ef0e7262695b46e3525ca4d381d"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Sep 25 00:32:58 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Sep 25 00:32:58 2009 +0930"
      },
      "message": "module: preferred way to use MODULE_AUTHOR\n\nFor the longest time now we\u0027ve been using multiple MODULE_AUTHOR()\nstatements when a module has more than one author, but the comment here\ndisagrees.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: Jiri Kosina \u003cjkosina@suse.cz\u003e\nCc: Luciano Coelho \u003cluciano.coelho@nokia.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "554bdfe5acf3715e87c8d5e25a4f9a896ac9f014",
      "tree": "8a03f9799114c8100a3e54d230d9e31703248f7a",
      "parents": [
        "4a4962263f07d14660849ec134ee42b63e95ea9a"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@novell.com",
        "time": "Mon Jul 06 14:51:44 2009 +0100"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Sep 25 00:32:57 2009 +0930"
      },
      "message": "module: reduce string table for loaded modules (v2)\n\nAlso remove all parts of the string table (referenced by the symbol\ntable) that are not needed for kallsyms use (i.e. which were only\nreferenced by symbols discarded by the previous patch, or not\nreferenced at all for whatever reason).\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "4a4962263f07d14660849ec134ee42b63e95ea9a",
      "tree": "0edfe694167c224a6d9e48901743edd478a71c29",
      "parents": [
        "94a8d5caba74211ec76dac80fc6e2d5c391530df"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@novell.com",
        "time": "Mon Jul 06 14:50:42 2009 +0100"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Sep 25 00:32:57 2009 +0930"
      },
      "message": "module: reduce symbol table for loaded modules (v2)\n\nDiscard all symbols not interesting for kallsyms use: absolute,\nsection, and in the common case (!KALLSYMS_ALL) data ones.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "a487b6705a811087c182c8cab7e3b5845dfa6ccb",
      "tree": "c9c1e41b7105b5ac9de7a74416d15f12433ed6ff",
      "parents": [
        "9f6ac7850a9c6363f4117fd2248e232a2d534627",
        "4b3df5668c8ebaebd8d66a5a94374be3e3b2ef0c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:55:29 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:55:29 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://neil.brown.name/md\n\n* \u0027for-linus\u0027 of git://neil.brown.name/md: (97 commits)\n  md: raid-1/10: fix RW bits manipulation\n  md: remove unnecessary memset from multipath.\n  md: report device as congested when suspended\n  md: Improve name of threads created by md_register_thread\n  md: remove sparse warnings about lock context.\n  md: remove sparse waring \"symbol xxx shadows an earlier one\"\n  async_tx/raid6: add missing dma_unmap calls to the async fail case\n  ioat3: fix uninitialized var warnings\n  drivers/dma/ioat/dma_v2.c: fix warnings\n  raid6test: fix stack overflow\n  ioat2: clarify ring size limits\n  md/raid6: cleanup ops_run_compute6_2\n  md/raid6: eliminate BUG_ON with side effect\n  dca: module load should not be an error message\n  ioat: driver version 4.0\n  dca: registering requesters in multiple dca domains\n  async_tx: remove HIGHMEM64G restriction\n  dmaengine: sh: Add Support SuperH DMA Engine driver\n  dmaengine: Move all map_sg/unmap_sg for slave channel to its client\n  fsldma: Add DMA_SLAVE support\n  ...\n"
    },
    {
      "commit": "db16826367fefcb0ddb93d76b66adc52eb4e6339",
      "tree": "626224c1eb1eb79c522714591f208b4fdbdcd9d4",
      "parents": [
        "cd6045138ed1bb5d8773e940d51c34318eef3ef2",
        "465fdd97cbe16ef8727221857e96ef62dd352017"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:53:22 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:53:22 2009 -0700"
      },
      "message": "Merge branch \u0027hwpoison\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-mce-2.6\n\n* \u0027hwpoison\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-mce-2.6: (21 commits)\n  HWPOISON: Enable error_remove_page on btrfs\n  HWPOISON: Add simple debugfs interface to inject hwpoison on arbitary PFNs\n  HWPOISON: Add madvise() based injector for hardware poisoned pages v4\n  HWPOISON: Enable error_remove_page for NFS\n  HWPOISON: Enable .remove_error_page for migration aware file systems\n  HWPOISON: The high level memory error handler in the VM v7\n  HWPOISON: Add PR_MCE_KILL prctl to control early kill behaviour per process\n  HWPOISON: shmem: call set_page_dirty() with locked page\n  HWPOISON: Define a new error_remove_page address space op for async truncation\n  HWPOISON: Add invalidate_inode_page\n  HWPOISON: Refactor truncate to allow direct truncating of page v2\n  HWPOISON: check and isolate corrupted free pages v2\n  HWPOISON: Handle hardware poisoned pages in try_to_unmap\n  HWPOISON: Use bitmask/action code for try_to_unmap behaviour\n  HWPOISON: x86: Add VM_FAULT_HWPOISON handling to x86 page fault handler v2\n  HWPOISON: Add poison check to page fault handling\n  HWPOISON: Add basic support for poisoned pages in fault handler v3\n  HWPOISON: Add new SIGBUS error codes for hardware poison signals\n  HWPOISON: Add support for poison swap entries v2\n  HWPOISON: Export some rmap vma locking to outside world\n  ...\n"
    },
    {
      "commit": "801460d0cf5c5288153b722565773059b0f44348",
      "tree": "ff2542903572a546ac59e92f295e9a18e718afa0",
      "parents": [
        "2fa4341074cd02fb39aa23410740764948755635"
      ],
      "author": {
        "name": "Hiroshi Shimamoto",
        "email": "h-shimamoto@ct.jp.nec.com",
        "time": "Wed Sep 23 15:57:41 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:21:05 2009 -0700"
      },
      "message": "task_struct cleanup: move binfmt field to mm_struct\n\nBecause the binfmt is not different between threads in the same process,\nit can be moved from task_struct to mm_struct.  And binfmt moudle is\nhandled per mm_struct instead of task_struct.\n\nSigned-off-by: Hiroshi Shimamoto \u003ch-shimamoto@ct.jp.nec.com\u003e\nAcked-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2fa4341074cd02fb39aa23410740764948755635",
      "tree": "0b01f80d461ca836c686acf218677568c66abdbe",
      "parents": [
        "6a8811629e9aa611aa710162f9e02020bba52c87"
      ],
      "author": {
        "name": "Albin Tonnerre",
        "email": "albin.tonnerre@free-electrons.com",
        "time": "Wed Sep 23 15:57:38 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:21:05 2009 -0700"
      },
      "message": "include/linux/unaligned/{l,b}e_byteshift.h: fix usage for compressed kernels\n\nWhen unaligned accesses are required for uncompressing a kernel (such as\nfor LZO decompression on ARM in a patch that follows), including\n\u003clinux/kernel.h\u003e causes issues as it brings in a lot of things that are\nnot available in the decompression environment.\n\nlinux/kernel.h brings at least:\nextern int console_printk[];\nextern const char hex_asc[];\nwhich causes errors at link-time as they are not available when\ncompiling the pre-boot environement. There are also a few others:\n\n  arch/arm/boot/compressed/misc.o: In function `valid_user_regs\u0027:\n   arch/arm/include/asm/ptrace.h:158: undefined reference to `elf_hwcap\u0027\n  arch/arm/boot/compressed/misc.o: In function `console_silent\u0027:\n   include/linux/kernel.h:292: undefined reference to `console_printk\u0027\n  arch/arm/boot/compressed/misc.o: In function `console_verbose\u0027:\n   include/linux/kernel.h:297: undefined reference to `console_printk\u0027\n  arch/arm/boot/compressed/misc.o: In function `pack_hex_byte\u0027:\n   include/linux/kernel.h:360: undefined reference to `hex_asc\u0027\n  arch/arm/boot/compressed/misc.o: In function `hweight_long\u0027:\n   include/linux/bitops.h:45: undefined reference to `hweight32\u0027\n  arch/arm/boot/compressed/misc.o: In function `__cmpxchg_local_generic\u0027:\n   include/asm-generic/cmpxchg-local.h:21: undefined reference to `wrong_size_cmpxchg\u0027\n   include/asm-generic/cmpxchg-local.h:42: undefined reference to `wrong_size_cmpxchg\u0027\n  arch/arm/boot/compressed/misc.o: In function `__xchg\u0027:\n   arch/arm/include/asm/system.h:309: undefined reference to `__bad_xchg\u0027\n\nHowever, those files apparently use nothing from \u003clinux/kernel.h\u003e, all\nthey need is the declaration of types such as u32 or u64, so\n\u003clinux/types.h\u003e should be enough\n\nSigned-off-by: Albin Tonnerre \u003calbin.tonnerre@free-electrons.com\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Phillip Lougher \u003cphillip@lougher.demon.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "858f09930b32c11b40fd0c5c467982ba09b10894",
      "tree": "43972de84d69d61904f4f24ff78f99a3a82c2ff3",
      "parents": [
        "b873c2f34ecd4a5a69b41b852cbc365694541c5f"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Sep 23 15:57:32 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:21:05 2009 -0700"
      },
      "message": "aio: ifdef fields in mm_struct\n\n-\u003eioctx_lock and -\u003eioctx_list are used only under CONFIG_AIO.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Zach Brown \u003czach.brown@oracle.com\u003e\nCc: Benjamin LaHaise \u003cbcrl@kvack.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9064a6787aa1d8ceaf5ba16fe1dfedb0755dc7eb",
      "tree": "9d9e556b736a5e91edfddaebd478d453a2392b81",
      "parents": [
        "e5a4738699d6eca408dcb225bd350413927701e2"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Wed Sep 23 15:57:23 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:21:04 2009 -0700"
      },
      "message": "linux/futex.h: place kernel types behind __KERNEL__\n\nThe forward decls for some kernel types are only needed by the code behind\n__KERNEL__, so don\u0027t bleed these types to userspace.\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\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": "8d65af789f3e2cf4cfbdbf71a0f7a61ebcd41d38",
      "tree": "121df3bfffc7853ac6d2c514ad514d4a748a0933",
      "parents": [
        "c0d0787b6d47d9f4d5e8bd321921104e854a9135"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Sep 23 15:57:19 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:21:04 2009 -0700"
      },
      "message": "sysctl: remove \"struct file *\" argument of -\u003eproc_handler\n\nIt\u0027s unused.\n\nIt isn\u0027t needed -- read or write flag is already passed and sysctl\nshouldn\u0027t care about the rest.\n\nIt _was_ used in two places at arch/frv for some reason.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d9588725e52650e82989707f8fd2feb67ad2dc8e",
      "tree": "39a9f9f5e8ba6a6e008b9ada310347e24ede400e",
      "parents": [
        "ba0a6c9f6fceed11c6a99e8326f0477fe383e6b5"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Wed Sep 23 15:57:04 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:21:01 2009 -0700"
      },
      "message": "signals: inline __fatal_signal_pending\n\n__fatal_signal_pending inlines to one instruction on x86, probably two\ninstructions on other machines.  It takes two longer x86 instructions just\nto call it and test its return value, not to mention the function itself.\n\nOn my random x86_64 config, this saved 70 bytes of text (59 of those being\n__fatal_signal_pending itself).\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\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": "4a30debfb778240a4b1767d4b0c5a5b25ab97160",
      "tree": "bc4fed4ebb8368ebbfa719a004b15101b0a71d53",
      "parents": [
        "964ee7df90d799e38fb1556c57cd5c45fc736436"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Sep 23 15:57:00 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:21:01 2009 -0700"
      },
      "message": "signals: introduce do_send_sig_info() helper\n\nIntroduce do_send_sig_info() and convert group_send_sig_info(),\nsend_sig_info(), do_send_specific() to use this helper.\n\nHopefully it will have more users soon, it allows to specify\nspecific/group behaviour via \"bool group\" argument.\n\nShaves 80 bytes from .text.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: stephane eranian \u003ceranian@googlemail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "964ee7df90d799e38fb1556c57cd5c45fc736436",
      "tree": "58ae7325f80394cb86409d5876c710376dde8e1a",
      "parents": [
        "61be228a06dc6e8662f30e89eda3c12083c1f379"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Sep 23 15:56:59 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:21:01 2009 -0700"
      },
      "message": "exec: fix set_binfmt() vs sys_delete_module() race\n\nsys_delete_module() can set MODULE_STATE_GOING after\nsearch_binary_handler() does try_module_get().  In this case\nset_binfmt()-\u003etry_module_get() fails but since none of the callers\ncheck the returned error, the task will run with the wrong old\n-\u003ebinfmt.\n\nThe proper fix should change all -\u003eload_binary() methods, but we can\nrely on fact that the caller must hold a reference to binfmt-\u003emodule\nand use __module_get() which never fails.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Hiroshi Shimamoto \u003ch-shimamoto@ct.jp.nec.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ae6d2ed7bb3877ff35b9569402025f40ea2e1803",
      "tree": "80527061ab7615cd890236b777b2be6e909a1573",
      "parents": [
        "b6fe2d117e98805ee76352e6468f87d494a97292"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Wed Sep 23 15:56:53 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:21:00 2009 -0700"
      },
      "message": "signals: tracehook_notify_jctl change\n\nThis changes tracehook_notify_jctl() so it\u0027s called with the siglock held,\nand changes its argument and return value definition.  These clean-ups\nmake it a better fit for what new tracing hooks need to check.\n\nTracing needs the siglock here, held from the time TASK_STOPPED was set,\nto avoid potential SIGCONT races if it wants to allow any blocking in its\ntracing hooks.\n\nThis also folds the finish_stop() function into its caller\ndo_signal_stop().  The function is short, called only once and only\nunconditionally.  It aids readability to fold it in.\n\n[oleg@redhat.com: do not call tracehook_notify_jctl() in TASK_STOPPED state]\n[oleg@redhat.com: introduce tracehook_finish_jctl() helper]\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: 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": "a7f0765edfd53aed09cb7b0e15863688b39447de",
      "tree": "c89adfe418f9988ad4044e0f22827458bdf6b155",
      "parents": [
        "1dd3a27326d307952f8ad2499478c84dc7311517"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Sep 23 15:56:44 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:20:59 2009 -0700"
      },
      "message": "ptrace: __ptrace_detach: do __wake_up_parent() if we reap the tracee\n\nThe bug is old, it wasn\u0027t cause by recent changes.\n\nTest case:\n\n\tstatic void *tfunc(void *arg)\n\t{\n\t\tint pid \u003d (long)arg;\n\n\t\tassert(ptrace(PTRACE_ATTACH, pid, NULL, NULL) \u003d\u003d 0);\n\t\tkill(pid, SIGKILL);\n\n\t\tsleep(1);\n\t\treturn NULL;\n\t}\n\n\tint main(void)\n\t{\n\t\tpthread_t th;\n\t\tlong pid \u003d fork();\n\n\t\tif (!pid)\n\t\t\tpause();\n\n\t\tsignal(SIGCHLD, SIG_IGN);\n\t\tassert(pthread_create(\u0026th, NULL, tfunc, (void*)pid) \u003d\u003d 0);\n\n\t\tint r \u003d waitpid(-1, NULL, __WNOTHREAD);\n\t\tprintf(\"waitpid: %d %m\\n\", r);\n\n\t\treturn 0;\n\t}\n\nBefore the patch this program hangs, after this patch waitpid() correctly\nfails with errno \u003d\u003d -ECHILD.\n\nThe problem is, __ptrace_detach() reaps the EXIT_ZOMBIE tracee if its\n-\u003ereal_parent is our sub-thread and we ignore SIGCHLD.  But in this case\nwe should wake up other threads which can sleep in do_wait().\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Vitaly Mayatskikh \u003cvmayatsk@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": "4e41695356fb4e0b153be1440ad027e46e0a7ea2",
      "tree": "547dae77d1655a1acb260ea8b266c7b8a48f2d2c",
      "parents": [
        "75822b4495b62e8721e9b88e3cf9e653a0c85b73"
      ],
      "author": {
        "name": "Balbir Singh",
        "email": "balbir@linux.vnet.ibm.com",
        "time": "Wed Sep 23 15:56:39 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:20:59 2009 -0700"
      },
      "message": "memory controller: soft limit reclaim on contention\n\nImplement reclaim from groups over their soft limit\n\nPermit reclaim from memory cgroups on contention (via the direct reclaim\npath).\n\nmemory cgroup soft limit reclaim finds the group that exceeds its soft\nlimit by the largest number of pages and reclaims pages from it and then\nreinserts the cgroup into its correct place in the rbtree.\n\nAdd additional checks to mem_cgroup_hierarchical_reclaim() to detect long\nloops in case all swap is turned off.  The code has been refactored and\nthe loop check (loop \u003c 2) has been enhanced for soft limits.  For soft\nlimits, we try to do more targetted reclaim.  Instead of bailing out after\ntwo loops, the routine now reclaims memory proportional to the size by\nwhich the soft limit is exceeded.  The proportion has been empirically\ndetermined.\n\n[akpm@linux-foundation.org: build fix]\n[kamezawa.hiroyu@jp.fujitsu.com: fix softlimit css refcnt handling]\n[nishimura@mxp.nes.nec.co.jp: refcount of the \"victim\" should be decremented before exiting the loop]\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f64c3f54940d6929a2b6dcffaab942bd62be2e66",
      "tree": "7b3587700b08639970580be6c87f36df80ca8c74",
      "parents": [
        "296c81d89f4f14269f7346f81442910158c0a83a"
      ],
      "author": {
        "name": "Balbir Singh",
        "email": "balbir@linux.vnet.ibm.com",
        "time": "Wed Sep 23 15:56:37 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:20:59 2009 -0700"
      },
      "message": "memory controller: soft limit organize cgroups\n\nOrganize cgroups over soft limit in a RB-Tree\n\nIntroduce an RB-Tree for storing memory cgroups that are over their soft\nlimit.  The overall goal is to\n\n1. Add a memory cgroup to the RB-Tree when the soft limit is exceeded.\n   We are careful about updates, updates take place only after a particular\n   time interval has passed\n2. We remove the node from the RB-Tree when the usage goes below the soft\n   limit\n\nThe next set of patches will exploit the RB-Tree to get the group that is\nover its soft limit by the largest amount and reclaim from it, when we\nface memory contention.\n\n[hugh.dickins@tiscali.co.uk: CONFIG_CGROUP_MEM_RES_CTLR\u003dy CONFIG_PREEMPT\u003dy fails to boot]\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Jiri Slaby \u003cjirislaby@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": "296c81d89f4f14269f7346f81442910158c0a83a",
      "tree": "cf0e1facd1fed8282c1885bc4126e7bca1928712",
      "parents": [
        "a6df63615b943dbef22df04c19f4506330fe835e"
      ],
      "author": {
        "name": "Balbir Singh",
        "email": "balbir@linux.vnet.ibm.com",
        "time": "Wed Sep 23 15:56:36 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:20:59 2009 -0700"
      },
      "message": "memory controller: soft limit interface\n\nAdd an interface to allow get/set of soft limits.  Soft limits for memory\nplus swap controller (memsw) is currently not supported.  Resource\ncounters have been enhanced to support soft limits and new type\nRES_SOFT_LIMIT has been added.  Unlike hard limits, soft limits can be\ndirectly set and do not need any reclaim or checks before setting them to\na newer value.\n\nKamezawa-San raised a question as to whether soft limit should belong to\nres_counter.  Since all resources understand the basic concepts of hard\nand soft limits, it is justified to add soft limits here.  Soft limits are\na generic resource usage feature, even file system quotas support soft\nlimits.\n\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: 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": "4b3bde4c983de36c59e6c1a24701f6fe816f9f55",
      "tree": "e759c5ceccf57331b868b7feac61cae5e932c6d4",
      "parents": [
        "be367d09927023d081f9199665c8500f69f14d22"
      ],
      "author": {
        "name": "Balbir Singh",
        "email": "balbir@linux.vnet.ibm.com",
        "time": "Wed Sep 23 15:56:32 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:20:58 2009 -0700"
      },
      "message": "memcg: remove the overhead associated with the root cgroup\n\nChange the memory cgroup to remove the overhead associated with accounting\nall pages in the root cgroup.  As a side-effect, we can no longer set a\nmemory hard limit in the root cgroup.\n\nA new flag to track whether the page has been accounted or not has been\nadded as well.  Flags are now set atomically for page_cgroup,\npcg_default_flags is now obsolete and removed.\n\n[akpm@linux-foundation.org: fix a few documentation glitches]\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nSigned-off-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "be367d09927023d081f9199665c8500f69f14d22",
      "tree": "f0c5b9da037506da3c5890cf11b51b39a7d3c427",
      "parents": [
        "c378369d8b4fa516ff2b1e79c3eded4e0e955ebb"
      ],
      "author": {
        "name": "Ben Blum",
        "email": "bblum@google.com",
        "time": "Wed Sep 23 15:56:31 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:20:58 2009 -0700"
      },
      "message": "cgroups: let ss-\u003ecan_attach and ss-\u003eattach do whole threadgroups at a time\n\nAlter the ss-\u003ecan_attach and ss-\u003eattach functions to be able to deal with\na whole threadgroup at a time, for use in cgroup_attach_proc.  (This is a\npre-patch to cgroup-procs-writable.patch.)\n\nCurrently, new mode of the attach function can only tell the subsystem\nabout the old cgroup of the threadgroup leader.  No subsystem currently\nneeds that information for each thread that\u0027s being moved, but if one were\nto be added (for example, one that counts tasks within a group) this bit\nwould need to be reworked a bit to tell the subsystem the right\ninformation.\n\n[hidave.darkstar@gmail.com: fix build]\nSigned-off-by: Ben Blum \u003cbblum@google.com\u003e\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nAcked-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nReviewed-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Dave Young \u003chidave.darkstar@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": "c378369d8b4fa516ff2b1e79c3eded4e0e955ebb",
      "tree": "33dff6fa14c5b70cf25368b1bde57e5610a308b3",
      "parents": [
        "d1d9fd3308fdef6b4bf564fa3d6cfe35b68b50bc"
      ],
      "author": {
        "name": "Ben Blum",
        "email": "bblum@google.com",
        "time": "Wed Sep 23 15:56:29 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:20:58 2009 -0700"
      },
      "message": "cgroups: change css_set freeing mechanism to be under RCU\n\nChanges css_set freeing mechanism to be under RCU\n\nThis is a prepatch for making the procs file writable. In order to free the\nold css_sets for each task to be moved as they\u0027re being moved, the freeing\nmechanism must be RCU-protected, or else we would have to have a call to\nsynchronize_rcu() for each task before freeing its old css_set.\n\nSigned-off-by: Ben Blum \u003cbblum@google.com\u003e\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nAcked-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\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": "72a8cb30d10d4041c455a7054607a7d519167c87",
      "tree": "9b499f9c7f4de011ba5c8282df0b2280b7c21f0b",
      "parents": [
        "102a775e3647628727ae83a9a6abf0564c3ca7cb"
      ],
      "author": {
        "name": "Ben Blum",
        "email": "bblum@google.com",
        "time": "Wed Sep 23 15:56:27 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:20:58 2009 -0700"
      },
      "message": "cgroups: ensure correct concurrent opening/reading of pidlists across pid namespaces\n\nPreviously there was the problem in which two processes from different pid\nnamespaces reading the tasks or procs file could result in one process\nseeing results from the other\u0027s namespace.  Rather than one pidlist for\neach file in a cgroup, we now keep a list of pidlists keyed by namespace\nand file type (tasks versus procs) in which entries are placed on demand.\nEach pidlist has its own lock, and that the pidlists themselves are passed\naround in the seq_file\u0027s private pointer means we don\u0027t have to touch the\ncgroup or its master list except when creating and destroying entries.\n\nSigned-off-by: Ben Blum \u003cbblum@google.com\u003e\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\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": "102a775e3647628727ae83a9a6abf0564c3ca7cb",
      "tree": "77a3d9717daa0f1dceccc0dcdf821aa12e684e07",
      "parents": [
        "8f3ff20862cfcb85500a2bb55ee64622bd59fd0c"
      ],
      "author": {
        "name": "Ben Blum",
        "email": "bblum@google.com",
        "time": "Wed Sep 23 15:56:26 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:20:58 2009 -0700"
      },
      "message": "cgroups: add a read-only \"procs\" file similar to \"tasks\" that shows only unique tgids\n\nstruct cgroup used to have a bunch of fields for keeping track of the\npidlist for the tasks file.  Those are now separated into a new struct\ncgroup_pidlist, of which two are had, one for procs and one for tasks.\nThe way the seq_file operations are set up is changed so that just the\npidlist struct gets passed around as the private data.\n\nInterface example: Suppose a multithreaded process has pid 1000 and other\nthreads with ids 1001, 1002, 1003:\n$ cat tasks\n1000\n1001\n1002\n1003\n$ cat cgroup.procs\n1000\n$\n\nSigned-off-by: Ben Blum \u003cbblum@google.com\u003e\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nAcked-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\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": "8f3ff20862cfcb85500a2bb55ee64622bd59fd0c",
      "tree": "ccf408f52ee23b1c0130520a84c21bbd8f4077e7",
      "parents": [
        "2c6ab6d200827e1c41dc71fff3a2ac7473f51777"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Wed Sep 23 15:56:25 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:20:58 2009 -0700"
      },
      "message": "cgroups: revert \"cgroups: fix pid namespace bug\"\n\nThe following series adds a \"cgroup.procs\" file to each cgroup that\nreports unique tgids rather than pids, and allows all threads in a\nthreadgroup to be atomically moved to a new cgroup.\n\nThe subsystem \"attach\" interface is modified to support attaching whole\nthreadgroups at a time, which could introduce potential problems if any\nsubsystem were to need to access the old cgroup of every thread being\nmoved.  The attach interface may need to be revised if this becomes the\ncase.\n\nAlso added is functionality for read/write locking all CLONE_THREAD\nfork()ing within a threadgroup, by means of an rwsem that lives in the\nsighand_struct, for per-threadgroup-ness and also for sharing a cacheline\nwith the sighand\u0027s atomic count.  This scheme should introduce no extra\noverhead in the fork path when there\u0027s no contention.\n\nThe final patch reveals potential for a race when forking before a\nsubsystem\u0027s attach function is called - one potential solution in case any\nsubsystem has this problem is to hang on to the group\u0027s fork mutex through\nthe attach() calls, though no subsystem yet demonstrates need for an\nextended critical section.\n\nThis patch:\n\nRevert\n\ncommit 096b7fe012d66ed55e98bc8022405ede0cc80e96\nAuthor:     Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAuthorDate: Wed Jul 29 15:04:04 2009 -0700\nCommit:     Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCommitDate: Wed Jul 29 19:10:35 2009 -0700\n\n    cgroups: fix pid namespace bug\n\nThis is in preparation for some clashing cgroups changes that subsume the\noriginal commit\u0027s functionaliy.\n\nThe original commit fixed a pid namespace bug which Ben Blum fixed\nindependently (in the same way, but with different code) as part of a\nseries of patches.  I played around with trying to reconcile Ben\u0027s patch\nseries with Li\u0027s patch, but concluded that it was simpler to just revert\nLi\u0027s, given that Ben\u0027s patch series contained essentially the same fix.\n\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\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": "55dff4954ebdeba2be59e19398a607d799c5fa9f",
      "tree": "b442f972d503de39bf0d4a3eed007294a45b4dc9",
      "parents": [
        "0b4b2ad5307c76c7105d6e7c724b1c14b8daf482"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Wed Sep 23 15:56:17 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:20:57 2009 -0700"
      },
      "message": "docs: fix various Documentation/ paths in header files\n\nFix various Documentation/ paths in include/linux/.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nReviewed-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": "57f1f0874f426a9bdfc5cd3f886113dd5cd17834",
      "tree": "f7938f5c195f7733543d3d86c6ae3c902fd7adef",
      "parents": [
        "ef1ff6b8c08954bc203b59e887d1e580dd91755a"
      ],
      "author": {
        "name": "Zhaolei",
        "email": "zhaolei@cn.fujitsu.com",
        "time": "Wed Sep 23 15:56:10 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:20:56 2009 -0700"
      },
      "message": "time: add function to convert between calendar time and broken-down time for universal use\n\nThere are many similar code in kernel for one object: convert time between\ncalendar time and broken-down time.\n\nHere is some source I found:\n  fs/ncpfs/dir.c\n  fs/smbfs/proc.c\n  fs/fat/misc.c\n  fs/udf/udftime.c\n  fs/cifs/netmisc.c\n  net/netfilter/xt_time.c\n  drivers/scsi/ips.c\n  drivers/input/misc/hp_sdc_rtc.c\n  drivers/rtc/rtc-lib.c\n  arch/ia64/hp/sim/boot/fw-emu.c\n  arch/m68k/mac/misc.c\n  arch/powerpc/kernel/time.c\n  arch/parisc/include/asm/rtc.h\n  ...\n\nWe can make a common function for this type of conversion, At least we\ncan get following benefit:\n\n1: Make kernel simple and unify\n2: Easy to fix bug in converting code\n3: Reduce clone of code in future\n   For example, I\u0027m trying to make ftrace display walltime,\n   this patch will make me easy.\n\nThis code is based on code from glibc-2.6\n\nSigned-off-by: Zhao Lei \u003czhaolei@cn.fujitsu.com\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "25d9e2d15286281ec834b829a4aaf8969011f1cd",
      "tree": "e4329a481ca197afae30f04335e023c7d04f7d67",
      "parents": [
        "eca6f534e61919b28fb21aafbd1c2983deae75be"
      ],
      "author": {
        "name": "npiggin@suse.de",
        "email": "npiggin@suse.de",
        "time": "Fri Aug 21 02:35:05 2009 +1000"
      },
      "committer": {
        "name": "al",
        "email": "al@dizzy.pdmi.ras.ru",
        "time": "Thu Sep 24 08:41:47 2009 -0400"
      },
      "message": "truncate: new helpers\n\nIntroduce new truncate helpers truncate_pagecache and inode_newsize_ok.\nvmtruncate is also consolidated from mm/memory.c and mm/nommu.c and\ninto mm/truncate.c.\n\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "4504230a71566785a05d3e6b53fa1ee071b864eb",
      "tree": "e73070fcad99b800f0324992c392d44c6dddc97c",
      "parents": [
        "4fadd7bb20a1e7c774ed88dc703d8fbcd00ff917"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Aug 03 23:28:35 2009 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Sep 24 07:47:41 2009 -0400"
      },
      "message": "freeze_bdev: grab active reference to frozen superblocks\n\nCurrently we held s_umount while a filesystem is frozen, despite that we\nmight return to userspace and unlock it from a different process.  Instead\ngrab an active reference to keep the file system busy and add an explicit\ncheck for frozen filesystems in remount and reject the remount instead\nof blocking on s_umount.\n\nAdd a new get_active_super helper to super.c for use by freeze_bdev that\ngrabs an active reference to a superblock from a given block device.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "4fadd7bb20a1e7c774ed88dc703d8fbcd00ff917",
      "tree": "a6f3df6f19d27e81f35a93f8858b73bd4273f420",
      "parents": [
        "1ba50bbe93ebb98e83b174a85eff76af430c4e5b"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Aug 03 23:28:06 2009 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Sep 24 07:47:39 2009 -0400"
      },
      "message": "freeze_bdev: kill bd_mount_sem\n\nNow that we have the freeze count there is not much reason for bd_mount_sem\nanymore.  The actual freeze/thaw operations are serialized using the\nbd_fsfreeze_mutex, and the only other place we take bd_mount_sem is\nget_sb_bdev which tries to prevent mounting a filesystem while the block\ndevice is frozen.  Instead of add a check for bd_fsfreeze_count and\nreturn -EBUSY if a filesystem is frozen.  While that is a change in user\nvisible behaviour a failing mount is much better for this case rather\nthan having the mount process stuck uninterruptible for a long time.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "f84398068d9c2babe41500504ef247ae07081857",
      "tree": "7306df97a7ee62f314f4db152fb2afceff156988",
      "parents": [
        "f9098980ffea9c749622ff8ddf3b6d5831902a46"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Mon Sep 21 14:48:36 2009 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Sep 24 07:47:35 2009 -0400"
      },
      "message": "vfs: seq_file: add helpers for data filling\n\nAdd two helpers that allow access to the seq_file\u0027s own buffer, but\nhide the internal details of seq_files.\n\nThis allows easier implementation of special purpose filling\nfunctions.  It also cleans up some existing functions which duplicated\nthe seq_file logic.\n\nMake these inline functions in seq_file.h, as suggested by Al.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nAcked-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "42cb56ae2ab67390da34906b27bedc3f2ff1393b",
      "tree": "db4a6a4871feeb153f924a80a79b7790e4e2c90e",
      "parents": [
        "5aa98b706e83da4cde4172c890d6e815915536a0"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Sep 18 13:05:53 2009 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Sep 24 07:47:33 2009 -0400"
      },
      "message": "vfs: change sb-\u003es_maxbytes to a loff_t\n\nsb-\u003es_maxbytes is supposed to indicate the maximum size of a file that can\nexist on the filesystem.  It\u0027s declared as an unsigned long long.\n\nEven if a filesystem has no inherent limit that prevents it from using\nevery bit in that unsigned long long, it\u0027s still problematic to set it to\nanything larger than MAX_LFS_FILESIZE.  There are places in the kernel\nthat cast s_maxbytes to a signed value.  If it\u0027s set too large then this\ncast makes it a negative number and generally breaks the comparison.\n\nChange s_maxbytes to be loff_t instead.  That should help eliminate the\ntemptation to set it too large by making it a signed value.\n\nAlso, add a warning for couple of releases to help catch filesystems that\nset s_maxbytes too large.  Eventually we can either convert this to a\nBUG() or just remove it and in the hope that no one will get it wrong now\nthat it\u0027s a signed value.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Robert Love \u003crlove@google.com\u003e\nCc: Mandeep Singh Baines \u003cmsb@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "22fe404218156328a27e66349b1175cd0baa4990",
      "tree": "f03f8eb0b346a6950815212a5fa86c6b7e65bd16",
      "parents": [
        "af0d9ae811d11de8a01d6bc922c5e062be01bd7f"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Sep 18 13:05:44 2009 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Sep 24 07:47:25 2009 -0400"
      },
      "message": "vfs: split generic_forget_inode() so that hugetlbfs does not have to copy it\n\nHugetlbfs needs to do special things instead of truncate_inode_pages().\n Currently, it copied generic_forget_inode() except for\ntruncate_inode_pages() call which is asking for trouble (the code there\nisn\u0027t trivial).  So create a separate function generic_detach_inode()\nwhich does all the list magic done in generic_forget_inode() and call\nit from hugetlbfs_forget_inode().\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "94a8d5caba74211ec76dac80fc6e2d5c391530df",
      "tree": "21d17d214a354ae00ae27217d82b67bfc5bff3a3",
      "parents": [
        "2bcd57ab61e7cabed626226a3771617981c11ce1",
        "6ba2ef7baac23a5d9bb85e28b882d16b439a2293"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 18:14:11 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 18:14:11 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: (39 commits)\n  cpumask: Move deprecated functions to end of header.\n  cpumask: remove unused deprecated functions, avoid accusations of insanity\n  cpumask: use new-style cpumask ops in mm/quicklist.\n  cpumask: use mm_cpumask() wrapper: x86\n  cpumask: use mm_cpumask() wrapper: um\n  cpumask: use mm_cpumask() wrapper: mips\n  cpumask: use mm_cpumask() wrapper: mn10300\n  cpumask: use mm_cpumask() wrapper: m32r\n  cpumask: use mm_cpumask() wrapper: arm\n  cpumask: Use accessors for cpu_*_mask: um\n  cpumask: Use accessors for cpu_*_mask: powerpc\n  cpumask: Use accessors for cpu_*_mask: mips\n  cpumask: Use accessors for cpu_*_mask: m32r\n  cpumask: remove arch_send_call_function_ipi\n  cpumask: arch_send_call_function_ipi_mask: s390\n  cpumask: arch_send_call_function_ipi_mask: powerpc\n  cpumask: arch_send_call_function_ipi_mask: mips\n  cpumask: arch_send_call_function_ipi_mask: m32r\n  cpumask: arch_send_call_function_ipi_mask: alpha\n  cpumask: remove obsolete topology_core_siblings and topology_thread_siblings: ia64\n  ...\n"
    },
    {
      "commit": "2bcd57ab61e7cabed626226a3771617981c11ce1",
      "tree": "687c0c35fb2a632cb8c56b2729f9c3873c9461bd",
      "parents": [
        "95e0d86badc410d525ea7218fd32df7bfbf9c837"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Sep 24 04:22:25 2009 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 18:13:10 2009 -0700"
      },
      "message": "headers: utsname.h redux\n\n* remove asm/atomic.h inclusion from linux/utsname.h --\n   not needed after kref conversion\n * remove linux/utsname.h inclusion from files which do not need it\n\nNOTE: it looks like fs/binfmt_elf.c do not need utsname.h, however\ndue to some personality stuff it _is_ needed -- cowardly leave ELF-related\nheaders and files alone.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6ba2ef7baac23a5d9bb85e28b882d16b439a2293",
      "tree": "609150ce473b6466d53d42bd7bf9353b7a65ab66",
      "parents": [
        "4b805b17382c11a8b1c9bb8053ce9d1dcde0701a"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Sep 24 09:34:53 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Sep 24 09:34:53 2009 +0930"
      },
      "message": "cpumask: Move deprecated functions to end of header.\n\nThe new ones have pretty kerneldoc.  Move the old ones to the end to\navoid confusing people.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: benh@kernel.crashing.org\n"
    },
    {
      "commit": "4b805b17382c11a8b1c9bb8053ce9d1dcde0701a",
      "tree": "7d602732c50015b0ff2a7b88ef80555bc9074b3c",
      "parents": [
        "db7907865817137bfa3d5b4b30de9cc859b41bf1"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Sep 24 09:34:52 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Sep 24 09:34:53 2009 +0930"
      },
      "message": "cpumask: remove unused deprecated functions, avoid accusations of insanity\n\nWe\u0027re not forcing removal of the old cpu_ functions, but we might as\nwell delete the now-unused ones.\n\nEspecially CPUMASK_ALLOC and friends.  I actually got a phone call (!)\nfrom a hacker who thought I had introduced them as the new cpumask\nAPI.  He seemed bewildered that I had lost all taste.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: benh@kernel.crashing.org\n"
    },
    {
      "commit": "6f401420e2822c24c36e6e1c657f6e7f7f777a93",
      "tree": "bd11d56f964190886245c383746a736076850711",
      "parents": [
        "fe71a3c7dc8cfe0f239c04b4fc6501f4aa56aa0a"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Sep 24 09:34:40 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Sep 24 09:34:41 2009 +0930"
      },
      "message": "cpumask: remove obsolete topology_core_siblings and topology_thread_siblings: core\n\nThere were replaced by topology_core_cpumask and topology_thread_cpumask.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "fe71a3c7dc8cfe0f239c04b4fc6501f4aa56aa0a",
      "tree": "8624305d7d0df9ca5fb2ec8ad57df31c1e21d4a4",
      "parents": [
        "da83a84b53296a2ea498be8a497c86fb4a1fd2d6"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Sep 24 09:34:40 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Sep 24 09:34:40 2009 +0930"
      },
      "message": "cpumask: remove the deprecated smp_call_function_mask()\n\nEveryone is now using smp_call_function_many().\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "e0ad955680878998ff7dc51ce06ddad12260423a",
      "tree": "dc475d81413dacd8ecbe3e6d0e4949be7ec97b44",
      "parents": [
        "e68110fb54c3c784fb66be67d8d18a86286eefdd"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Sep 24 09:34:38 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Sep 24 09:34:39 2009 +0930"
      },
      "message": "cpumask: don\u0027t define set_cpus_allowed() if CONFIG_CPUMASK_OFFSTACK\u003dy\n\nYou\u0027re not supposed to pass cpumasks on the stack in that case.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "144e2ce6115c0a1ee4cb5c935360ea4e2966b0ce",
      "tree": "432b252a829d617399edf5ec5b7ba01bb5f883b5",
      "parents": [
        "ef79f8e191722dbc1fc33bdfc448f572266c37e9"
      ],
      "author": {
        "name": "Nobuhiro Iwamatsu",
        "email": "iwamatsu.nobuhiro@renesas.com",
        "time": "Mon Jun 15 12:16:54 2009 +0900"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Sep 24 09:34:38 2009 +0930"
      },
      "message": "cpumask: Remove mask field from comments\n\nBy 7be23e278f, mask field was deleted by irqaction. However, it was not\ndeleted from comment.\n\nSigned-off-by: Nobuhiro Iwamatsu \u003ciwamatsu.nobuhiro@renesas.com\u003e\nCC: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "ef79f8e191722dbc1fc33bdfc448f572266c37e9",
      "tree": "941d14d7044f41d84e231aa48b1890a07af5d1d6",
      "parents": [
        "1d1afc1957a441fc75a27517b17437d8af3b3b93"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Sep 24 09:34:37 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Sep 24 09:34:37 2009 +0930"
      },
      "message": "cpumask: remove unused mask field from struct irqaction.\n\nUp until 1.1.83, the primitive human tribes used struct sigaction for\ninterrupts.  The sa_mask field was overloaded to hold a pointer to the\nname.\n\nWhen someone created the new \"struct irqaction\" they carried across\nthe \"mask\" field as a kind of ancestor worship: the fact that it was\nunused makes clear its spiritual significance.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "72d78d05cbaa69f2a32f5f9d65a4551ba0da571f",
      "tree": "9116e29924269c671f19dba69abe38f5730bc00e",
      "parents": [
        "51c870a2d8708bda83c4ba47f26012a8420bdaff"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Sep 24 09:34:36 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Sep 24 09:34:36 2009 +0930"
      },
      "message": "cpumask: remove unused cpu_mask_all\n\nIt\u0027s only defined for NR_CPUS \u003e BITS_PER_LONG; cpu_all_mask is always\ndefined (and const).\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "a0219d948dd712561817b0d7c95fd2f10b698203",
      "tree": "64157005de183c3468cd39b81a1d1d397ebf2b29",
      "parents": [
        "29c337a034b5526e80a785409d15d3b7c7edecf4"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Sep 24 09:34:35 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Sep 24 09:34:35 2009 +0930"
      },
      "message": "cpumask: remove dangerous CPU_MASK_ALL_PTR\n\n(Thanks to Al Viro for reminding me of this, via Ingo)\n\nCPU_MASK_ALL is the (deprecated) \"all bits set\" cpumask, defined as so:\n\n\t#define CPU_MASK_ALL (cpumask_t) { { ... } }\n\nTaking the address of such a temporary is questionable at best,\nunfortunately 321a8e9d (cpumask: add CPU_MASK_ALL_PTR macro) added\nCPU_MASK_ALL_PTR:\n\n\t#define CPU_MASK_ALL_PTR (\u0026CPU_MASK_ALL)\n\nWhich formalizes this practice.  One day gcc could bite us over this\nusage (though we seem to have gotten away with it so far).\n\nNow all callers are removed, we kill it.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nReported-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Mike Travis \u003ctravis@sgi.com\u003e\n"
    },
    {
      "commit": "0dd52d0df02733dfc2d5f3824e41b96492305384",
      "tree": "4cfd84b7a66d71d83c624275d889136fb23a33c9",
      "parents": [
        "c37efa932598de5e30330a1414e34d9e082e0d9e",
        "fde1132374c9ba7da98a73b9a3c150dca6cf8502"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 15:39:36 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 15:39:36 2009 -0700"
      },
      "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:\n  Input: add driver for Atmel AT42QT2160 Sensor Chip\n  Input: max7359 - use threaded IRQs\n  Input: add driver for Maxim MAX7359 key switch controller\n  Input: add driver for ADP5588 QWERTY I2C Keypad\n  Input: add touchscreen driver for MELFAS MCS-5000 controller\n  Input: add driver for OpenCores Keyboard Controller\n  Input: dm355evm_keys - remove dm355evm_keys_hardirq\n  Input: synaptics_i2c - switch to using __cancel_delayed_work()\n  Input: ad7879 - add support for AD7889\n  Input: atkbd - rely on input core to restore state on resume\n  Input: add generic suspend and resume for input devices\n  Input: libps2 - additional locking for i8042 ports\n"
    },
    {
      "commit": "c37efa932598de5e30330a1414e34d9e082e0d9e",
      "tree": "1e3b782d257fa39a54f583af3dc7c32d7cffc67d",
      "parents": [
        "9e12a7e7d89ad813d01092890010cf67d0f914bd",
        "abe1ee3a221d53778c3e58747bbec6e518e5471b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 15:37:02 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 15:37:02 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next: (30 commits)\n  Use macros for .data.page_aligned section.\n  Use macros for .bss.page_aligned section.\n  Use new __init_task_data macro in arch init_task.c files.\n  kbuild: Don\u0027t define ALIGN and ENTRY when preprocessing linker scripts.\n  arm, cris, mips, sparc, powerpc, um, xtensa: fix build with bash 4.0\n  kbuild: add static to prototypes\n  kbuild: fail build if recordmcount.pl fails\n  kbuild: set -fconserve-stack option for gcc 4.5\n  kbuild: echo the record_mcount command\n  gconfig: disable \"typeahead find\" search in treeviews\n  kbuild: fix cc1 options check to ensure we do not use -fPIC when compiling\n  checkincludes.pl: add option to remove duplicates in place\n  markup_oops: use modinfo to avoid confusion with underscored module names\n  checkincludes.pl: provide usage helper\n  checkincludes.pl: close file as soon as we\u0027re done with it\n  ctags: usability fix\n  kernel hacking: move STRIP_ASM_SYMS from General\n  gitignore usr/initramfs_data.cpio.bz2 and usr/initramfs_data.cpio.lzma\n  kbuild: Check if linker supports the -X option\n  kbuild: introduce ld-option\n  ...\n\nFix trivial conflict in scripts/basic/fixdep.c\n"
    },
    {
      "commit": "9e12a7e7d89ad813d01092890010cf67d0f914bd",
      "tree": "0f7510f8f3364833024cb92267b2d39183fe803d",
      "parents": [
        "a7ddbf891b8236b51fb3c9574555eb7d7d13aca6",
        "2df54806389205d76bc3d1ce8a10cc14889ddec9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 15:22:41 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 15:22:41 2009 -0700"
      },
      "message": "Merge branch \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:\n  NFS: Propagate \u0027fsc\u0027 mount option through automounts\n  sunrpc/rpc_pipe: fix kernel-doc notation\n  sunrpc: xdr_xcode_hyper helpers cannot presume 64-bit alignment\n  NFS: Add nfs_alloc_parsed_mount_data\n  NFS/RPC: fix problems with reestablish_timeout and related code.\n  NFS: Get rid of the NFS_MOUNT_VER3 and NFS_MOUNT_TCP flags\n"
    },
    {
      "commit": "c82ffab9a857f8286ed2b559624b7005a367b638",
      "tree": "a5d0895a0b55c2db1bf36f517ca273e7e0abdf71",
      "parents": [
        "a724eada8c2a7b62463b73ccf73fd0bb6e928aeb",
        "5224ee086321fec78970e2f2805892d2b34e8957"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 15:18:57 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 15:18:57 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6:\n  SELinux: do not destroy the avc_cache_nodep\n  KEYS: Have the garbage collector set its timer for live expired keys\n  tpm-fixup-pcrs-sysfs-file-update\n  creds_are_invalid() needs to be exported for use by modules:\n  include/linux/cred.h: fix build\n\nFix trivial BUILD_BUG_ON-induced conflicts in drivers/char/tpm/tpm.c\n"
    },
    {
      "commit": "97363c6a4f93a20380b4a9e11f35e27fed68a517",
      "tree": "12d4c58196f7975a2b70ea0be1833c96f51f6edd",
      "parents": [
        "9423a08ad5773d0a7612d434700561dc8346b6d6"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Sep 23 14:36:38 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Sep 23 14:36:38 2009 -0400"
      },
      "message": "sunrpc: xdr_xcode_hyper helpers cannot presume 64-bit alignment\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1b9894f342a39601bb0420b7b8c7e445670c1b51",
      "tree": "09b063187a7b09690c08dac73d3bd49a72f5dbe8",
      "parents": [
        "7043078630bbc9eb908a56e08077c5abe7f2d311"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Mon Sep 21 11:12:03 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 11:24:57 2009 -0700"
      },
      "message": "serial core: fix new kernel-doc warnings\n\nFix new kernel-doc warnings in serial_core.[hc] files.\n\n  Warning(include/linux/serial_core.h:485): No description found for parameter \u0027uport\u0027\n  Warning(include/linux/serial_core.h:485): Excess function parameter \u0027port\u0027 description in \u0027uart_handle_dcd_change\u0027\n  Warning(include/linux/serial_core.h:511): No description found for parameter \u0027uport\u0027\n  Warning(include/linux/serial_core.h:511): Excess function parameter \u0027port\u0027 description in \u0027uart_handle_cts_change\u0027\n  Warning(drivers/serial/serial_core.c:2437): No description found for parameter \u0027uport\u0027\n  Warning(drivers/serial/serial_core.c:2437): Excess function parameter \u0027port\u0027 description in \u0027uart_add_one_port\u0027\n  Warning(drivers/serial/serial_core.c:2509): No description found for parameter \u0027uport\u0027\n  Warning(drivers/serial/serial_core.c:2509): Excess function parameter \u0027port\u0027 description in \u0027uart_remove_one_port\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "74908a0009eb36054190ab80deb9671014efed96",
      "tree": "c763a2ca3e5fa4d9b356ab1fe1f1f85da4321109",
      "parents": [
        "43c1266ce4dc06bfd236cec31e11e9ecd69c0bef"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Thu Sep 17 17:47:12 2009 -0700"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Wed Sep 23 11:01:25 2009 -0700"
      },
      "message": "include/linux/cred.h: fix build\n\nmips allmodconfig:\n\ninclude/linux/cred.h: In function `creds_are_invalid\u0027:\ninclude/linux/cred.h:187: error: `PAGE_SIZE\u0027 undeclared (first use in this function)\ninclude/linux/cred.h:187: error: (Each undeclared identifier is reported only once\ninclude/linux/cred.h:187: error: for each function it appears in.)\n\nFixes\n\ncommit b6dff3ec5e116e3af6f537d4caedcad6b9e5082a\nAuthor:     David Howells \u003cdhowells@redhat.com\u003e\nAuthorDate: Fri Nov 14 10:39:16 2008 +1100\nCommit:     James Morris \u003cjmorris@namei.org\u003e\nCommitDate: Fri Nov 14 10:39:16 2008 +1100\n\n    CRED: Separate task security context from task_struct\n\nI think.\n\nIt\u0027s way too large to be inlined anyway.\n\nDunno if this needs an EXPORT_SYMBOL() yet.\n\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "433c24ed7ff378b22c4d6531a4ce1ffc62642395",
      "tree": "d71181129b05d923100d160ca000f6771fc0ac85",
      "parents": [
        "85afd82780df133f03185aec7943ee3e0ed56a7b",
        "f056878332a91ed984a116bad4e7d49aefff9e6e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 10:11:08 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 10:11:08 2009 -0700"
      },
      "message": "Merge git://git.infradead.org/battery-2.6\n\n* git://git.infradead.org/battery-2.6:\n  power_supply: Add driver for the PMU on WM831x PMICs\n  ds2760_battery: Fix integer overflow for time_to_empty_now\n  wm97xx_battery: Convert to dev_pm_ops\n  wm97xx_battery: Use irq to detect charger state\n  wm97xx_battery: Use platform_data\n  wm97xx-core: Pass platform_data to battery\n  ds2760_battery: implement set_charged() feature\n  power_supply: get_by_name and set_charged functionality\n  power_supply: EXPORT_SYMBOL cleanups\n  ds2760_battery: add current_accum module parameter\n  ds2760_battery: handle full_active_uAh \u003d\u003d 0 case correctly\n  ds2760_battery: add rated_capacity module parameter\n  ds2760_battery: export more features\n  ds2760_battery: delay power supply registration\n  wm8350_power: Implement charge type property\n  power_supply: Add a charge_type property, and use it for olpc driver\n  olpc_battery: Add an \u0027error\u0027 sysfs device that displays raw errors\n  Revert \"power: remove POWER_SUPPLY_PROP_CAPACITY_LEVEL\"\n"
    },
    {
      "commit": "a7c367b95a9d8e65e0f0e7da31f700a556794efb",
      "tree": "5b1bb202801e29e3237381aa7aad5aa288378d5b",
      "parents": [
        "15f964bed054821d6d940d3752508c5f96a9ffd3",
        "e1070211f7327a1f197d535aa886f721a241c32f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 10:07:49 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 10:07:49 2009 -0700"
      },
      "message": "Merge git://git.infradead.org/mtd-2.6\n\n* git://git.infradead.org/mtd-2.6: (58 commits)\n  mtd: jedec_probe: add PSD4256G6V id\n  mtd: OneNand support for Nomadik 8815 SoC (on NHK8815 board)\n  mtd: nand: driver for Nomadik 8815 SoC (on NHK8815 board)\n  m25p80: Add Spansion S25FL129P serial flashes\n  jffs2: Use SLAB_HWCACHE_ALIGN for jffs2_raw_{dirent,inode} slabs\n  mtd: sh_flctl: register sh_flctl using platform_driver_probe()\n  mtd: nand: txx9ndfmc: transfer 512 byte at a time if possible\n  mtd: nand: fix tmio_nand ecc correction\n  mtd: nand: add __nand_correct_data helper function\n  mtd: cfi_cmdset_0002: add 0xFF intolerance for M29W128G\n  mtd: inftl: fix fold chain block number\n  mtd: jedec: fix compilation problem with I28F640C3B definition\n  mtd: nand: fix ECC Correction bug for SMC ordering for NDFC driver\n  mtd: ofpart: Check availability of reg property instead of name property\n  driver/Makefile: Initialize \"mtd\" and \"spi\" before \"net\"\n  mtd: omap: adding DMA mode support in nand prefetch/post-write\n  mtd: omap: add support for nand prefetch-read and post-write\n  mtd: add nand support for w90p910 (v2)\n  mtd: maps: add mtd-ram support to physmap_of\n  mtd: pxa3xx_nand: add single-bit error corrections reporting\n  ...\n"
    },
    {
      "commit": "15f964bed054821d6d940d3752508c5f96a9ffd3",
      "tree": "36778917886ab5eeffab356f21827e7ba8a06710",
      "parents": [
        "b09a75fc5e77b7c58d097236f89b1ff72dcdb562",
        "7c329288d72e025db4feac65f0fed95fb3e3ef1c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 10:07:24 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 10:07:24 2009 -0700"
      },
      "message": "Merge branch \u0027vgaarb-fix\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6\n\n* \u0027vgaarb-fix\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:\n  vgaarb: make client interface config invariant.\n"
    },
    {
      "commit": "b09a75fc5e77b7c58d097236f89b1ff72dcdb562",
      "tree": "8f818f1b3e44d9bc822b13dc7c368077981dd6ea",
      "parents": [
        "cf63ff5fa4399e215cc5ef322ccd8bddfff9afa6",
        "b94996c99c8befed9cbbb8804a4625e203913318"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 10:06:10 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 10:06:10 2009 -0700"
      },
      "message": "Merge git://git.infradead.org/iommu-2.6\n\n* git://git.infradead.org/iommu-2.6: (23 commits)\n  intel-iommu: Disable PMRs after we enable translation, not before\n  intel-iommu: Kill DMAR_BROKEN_GFX_WA option.\n  intel-iommu: Fix integer wrap on 32 bit kernels\n  intel-iommu: Fix integer overflow in dma_pte_{clear_range,free_pagetable}()\n  intel-iommu: Limit DOMAIN_MAX_PFN to fit in an \u0027unsigned long\u0027\n  intel-iommu: Fix kernel hang if interrupt remapping disabled in BIOS\n  intel-iommu: Disallow interrupt remapping if not all ioapics covered\n  intel-iommu: include linux/dmi.h to use dmi_ routines\n  pci/dmar: correct off-by-one error in dmar_fault()\n  intel-iommu: Cope with yet another BIOS screwup causing crashes\n  intel-iommu: iommu init error path bug fixes\n  intel-iommu: Mark functions with __init\n  USB: Work around BIOS bugs by quiescing USB controllers earlier\n  ia64: IOMMU passthrough mode shouldn\u0027t trigger swiotlb init\n  intel-iommu: make domain_add_dev_info() call domain_context_mapping()\n  intel-iommu: Unify hardware and software passthrough support\n  intel-iommu: Cope with broken HP DC7900 BIOS\n  iommu\u003dpt is a valid early param\n  intel-iommu: double kfree()\n  intel-iommu: Kill pointless intel_unmap_single() function\n  ...\n\nFixed up trivial include lines conflict in drivers/pci/intel-iommu.c\n"
    },
    {
      "commit": "fd8b327ee46593ccc5230bfd053287fbf7c38a69",
      "tree": "f4927e5d71ce5004f0d8ccca7f8de57851280841",
      "parents": [
        "0c9af2807490cc5f4d2833799482c391a3a3fee4",
        "63209a71e8e7727f52208d17bb7180cd392edcfb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 10:04:37 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 10:04:37 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6: (41 commits)\n  regulator: Add some brief design documentation\n  regulator: fix voltage range in da9034 ldo12\n  regulator/driver: be more specific in nanodoc for is_enabled\n  regulator/lp3971: drop unnecessary initialization\n  regulator: drop \u0027default n\u0027\n  regulator: fix typos\n  regulator: fix calculation of voltage range in da9034_set_ldo12_voltage()\n  regulator: update a filename in documentation\n  drivers/regulator/Kconfig: fix typo (s/Usersapce/Userspace/) in REGULATOR_USERSPACE_CONSUMER description\n  REGULATOR Handle positive returncode from enable\n  regulator: tps650xx - build fixes for x86_64\n  Fix some regulator documentation\n  Regulator: Adding TPS65023 and TPS6507x in Kconfig and Makefile\n  Regulator: Add TPS6507x regulator driver\n  Regulator: Add TPS65023 regulator driver\n  regulator: userspace: use sysfs_create_group\n  regulator: Add GPIO enable control to fixed voltage regulator driver\n  Regulator: Implement list_voltage for pcf50633 regulator driver.\n  regulator: regulator_enable() permission checking\n  regulator: Push locking for regulator_is_enabled() out\n  ...\n"
    },
    {
      "commit": "31bbb9b58d1e8ebcf2b28c95c2250a9f8e31e397",
      "tree": "6bb0c0490d66d32eca43e73abb28d8b3ab0e7b91",
      "parents": [
        "ff830b8e5f999d1ccbd0282a666520f0b557daa4",
        "3f0a525ebf4b8ef041a332bbe4a73aee94bb064b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 09:46:15 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 09:46:15 2009 -0700"
      },
      "message": "Merge branch \u0027timers-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  itimers: Add tracepoints for itimer\n  hrtimer: Add tracepoint for hrtimers\n  timers: Add tracepoints for timer_list timers\n  cputime: Optimize jiffies_to_cputime(1)\n  itimers: Simplify arm_timer() code a bit\n  itimers: Fix periodic tics precision\n  itimers: Merge ITIMER_VIRT and ITIMER_PROF\n\nTrivial header file include conflicts in kernel/fork.c\n"
    },
    {
      "commit": "ff830b8e5f999d1ccbd0282a666520f0b557daa4",
      "tree": "5979aba5ed48c93d658a208f3a1f714e9e1e8b67",
      "parents": [
        "746942d06acdb4dd78d16baa5f3728a48a033bdd",
        "625f0850a8e27b6a8d6fdb95056f35bc22d92b55"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 09:43:22 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 09:43:22 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:\n  ieee1394: sbp2: remove a workaround for Momobay FX-3A\n  firewire: sbp2: remove a workaround for Momobay FX-3A\n  firewire: sbp2: fix status reception\n  firewire: core: fix topology map response handler\n  firewire: core: fix race with parallel PCI device probe\n  firewire: core: header file cleanup\n  firewire: ohci: fix Self ID Count register mask (safeguard against buffer overflow)\n  ieee1394: raw1394: Do not leak memory on failed trylock.\n"
    },
    {
      "commit": "746942d06acdb4dd78d16baa5f3728a48a033bdd",
      "tree": "1470ffab015f6b7c2ff6f44314f9fab17d3a4c3f",
      "parents": [
        "c11f6c82581e8be4e1829c677db54e7f55cebece",
        "c602c65b2f81d14456771d1e3f15d1381f4b7efa"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 09:34:07 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 09:34:07 2009 -0700"
      },
      "message": "Merge branch \u0027sfi-release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-sfi-2.6\n\n* \u0027sfi-release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-sfi-2.6:\n  SFI: remove unneeded includes\n  sfi: Remove unused code\n  SFI: Hook PCI MMCONFIG\n  x86: add arch-specific SFI support\n  SFI: add capability to parse ACPI tables\n  SFI: add platform-independent core support\n  SFI: create linux/sfi.h\n  SFI: Simple Firmware Interface - MAINTAINERS, Kconfig\n"
    },
    {
      "commit": "c11f6c82581e8be4e1829c677db54e7f55cebece",
      "tree": "1a116241b0831ded998aabe800bdc24104cbd826",
      "parents": [
        "40aba218969914d1b225e742617adb921cf94eae",
        "193a6dec1c0246a80b6d0101e4f351ccf877bcac"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 09:32:11 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 09:32:11 2009 -0700"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (119 commits)\n  ACPI: don\u0027t pass handle for fixed hardware notifications\n  ACPI: remove null pointer checks in deferred execution path\n  ACPI: simplify deferred execution path\n  acerhdf: additional BIOS versions\n  acerhdf: convert to dev_pm_ops\n  acerhdf: fix fan control for AOA150 model\n  thermal: add missing Kconfig dependency\n  acpi: switch /proc/acpi/{debug_layer,debug_level} to seq_file\n  hp-wmi: fix rfkill memory leak on unload\n  ACPI: remove unnecessary #ifdef CONFIG_DMI\n  ACPI: linux/acpi.h should not include linux/dmi.h\n  hwmon driver for ACPI 4.0 power meters\n  topstar-laptop: add new driver for hotkeys support on Topstar N01\n  thinkpad_acpi: fix rfkill memory leak on unload\n  thinkpad-acpi: report brightness events when required\n  thinkpad-acpi: don\u0027t poll by default any of the reserved hotkeys\n  thinkpad-acpi: Fix procfs hotkey reset command\n  thinkpad-acpi: deprecate hotkey_bios_mask\n  thinkpad-acpi: hotkey poll fixes\n  thinkpad-acpi: be more strict when detecting a ThinkPad\n  ...\n"
    },
    {
      "commit": "40aba218969914d1b225e742617adb921cf94eae",
      "tree": "663ec9cdadbedec5f8eab754cbc590298c1d40be",
      "parents": [
        "b64ada6b23d4a305fb3ca59b79dd38707fc53b69",
        "cfd550ed3d3bd509b475c7a9d425fc63bf843a7c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 09:30:48 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 09:30:48 2009 -0700"
      },
      "message": "Merge branch \u0027i2c-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging\n\n* \u0027i2c-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:\n  i2c: Clearly mark ACPI drivers as such\n  i2c: Add driver for SMBus Control Method Interface\n  i2c-pnx: Correct use of request_region/request_mem_region\n  MAINTAINERS: Add maintainer for AT24 and PCA9564/PCA9665\n  i2c-piix4: Add AMD SB900 SMBus device ID\n  i2c/chips: Remove deprecated pcf8574 driver\n  i2c/chips: Remove deprecated pca9539 driver\n  i2c/chips: Remove deprecated pcf8575 driver\n  gpio/pcf857x: Copy i2c_device_id from old pcf8574 driver\n  i2c/scx200_acb: Provide more information on bus errors\n  i2c: Provide compatibility links for i2c adapters\n  i2c: Convert i2c adapters to bus devices\n  i2c: Convert i2c clients to a device type\n  i2c/tsl2550: Use combined SMBus transactions\n  i2c-taos-evm: Switch echo off to improve performance\n  i2c: Drop unused i2c_driver.id field\n"
    },
    {
      "commit": "be90a49ca22a95f184d9f32d35b5247b44032849",
      "tree": "d3c2edc18c003c384366f57901616ac29c80bc27",
      "parents": [
        "1f0918d03ff4b5c94540c71ce889672abdbc2f4a",
        "a87371b477774b290c27bc5cb7f4ccc5379574a9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 09:25:16 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 09:25:16 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (142 commits)\n  USB: Fix sysfs paths in documentation\n  USB: skeleton: fix coding style issues.\n  USB: O_NONBLOCK in read path of skeleton\n  USB: make usb-skeleton honor O_NONBLOCK in write path\n  USB: skel_read really sucks royally\n  USB: Add hub descriptor update hook for xHCI\n  USB: xhci: Support USB hubs.\n  USB: xhci: Set multi-TT field for LS/FS devices under hubs.\n  USB: xhci: Set route string for all devices.\n  USB: xhci: Fix command wait list handling.\n  USB: xhci: Change how xHCI commands are handled.\n  USB: xhci: Refactor input device context setup.\n  USB: xhci: Endpoint representation refactoring.\n  USB: gadget: ether needs to select CRC32\n  USB: fix USBTMC get_capabilities success handling\n  USB: fix missing error check in probing\n  USB: usbfs: add USBDEVFS_URB_BULK_CONTINUATION flag\n  USB: support for autosuspend in sierra while online\n  USB: ehci-dbgp,ehci: Allow dbpg to work with suspend/resume\n  USB: ehci-dbgp,documentation: Documentation updates for ehci-dbgp\n  ...\n"
    },
    {
      "commit": "1f0918d03ff4b5c94540c71ce889672abdbc2f4a",
      "tree": "ecee710444fb3405da55933501e339e10e4ac880",
      "parents": [
        "4266c97a3ef4604561a22212eb0eab8a3c338971",
        "ca60a42c9be41c07ebcc2ec8c43dd1be53f147bf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 09:23:45 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 09:23:45 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:\n  lguest: don\u0027t force VIRTIO_F_NOTIFY_ON_EMPTY\n  lguest: cleanup for map_switcher()\n  lguest: use PGDIR_SHIFT for PAE code to allow different PAGE_OFFSET\n  lguest: use set_pte/set_pmd uniformly for real page table entries\n  lguest: move panic notifier registration to its expected place.\n  virtio_blk: add support for cache flush\n  virtio: add virtio IDs file\n  virtio: get rid of redundant VIRTIO_ID_9P definition\n  virtio: make add_buf return capacity remaining\n  virtio_pci: minor MSI-X cleanups\n"
    },
    {
      "commit": "4fd8da8d62416d0dae05603ab5990a498d9aeb12",
      "tree": "81feb3cc66d49cfd89b0b26f067bbb52e164d0d8",
      "parents": [
        "a6e995ad7409403c5bbd6fe8f666a280e086bb22"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Sep 23 17:49:55 2009 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 09:21:05 2009 -0700"
      },
      "message": "fs: change sys_truncate length parameter type\n\nFor this system call user space passes a signed long length parameter,\nwhile the kernel side takes an unsigned long parameter and converts it\nlater to signed long again.\n\nThis has led to bugs in compat wrappers see e.g.  dd90bbd5 \"powerpc: Add\ncompat_sys_truncate\".  The s390 compat wrapper for this functions is\nbroken as well since it also performs zero extension instead of sign\nextension for the length parameter.\n\nIn addition if hpa comes up with an automated way of generating\ncompat wrappers it would generate a wrong one here.\n\nSo change the length parameter from unsigned long to long.\n\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4fefce9abaeef0d6ec45e06a882db23a65135272",
      "tree": "c4e543fd3f42d7586b85b3a10944ae70aa362b1e",
      "parents": [
        "a4255e4c1c41f906488ae4d3fa328a66695cf200"
      ],
      "author": {
        "name": "H Hartley Sweeten",
        "email": "hartleys@visionengravers.com",
        "time": "Tue Sep 22 16:48:02 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:58 2009 -0700"
      },
      "message": "jbd.h: bitfields should be unsigned\n\nbitfields should be unsigned.\n\nThis fixes sparse noise:\n  error: dubious one-bit signed bitfield\n\nSigned-off-by: H Hartley Sweeten \u003chsweeten@visionengravers.com\u003e\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nCc: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4cf8e53b3b55fa2f9b2a6b9c3e557b649adf7c6a",
      "tree": "3a3ca1ba8ced694568f7c0ee31c19f7fcc6e38a9",
      "parents": [
        "1e5db00687c1ebd93a902caf1d3694209013cb3e"
      ],
      "author": {
        "name": "Marek Vasut",
        "email": "marek.vasut@gmail.com",
        "time": "Tue Sep 22 16:46:35 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:48 2009 -0700"
      },
      "message": "mfd/gpio: add a GPIO interface to the UCB1400 MFD chip driver via gpiolib\n\nCc: Eric Miao \u003ceric.y.miao@gmail.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nCc: Samuel Ortiz \u003csameo@openedhand.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1e5db00687c1ebd93a902caf1d3694209013cb3e",
      "tree": "41043a4a38fc2f36d92fe20559cb5ada85228465",
      "parents": [
        "a4177ee7f1a83eecb1d75e85d32664b023ef65e9"
      ],
      "author": {
        "name": "Richard Röjfors",
        "email": "richard.rojfors.ext@mocean-labs.com",
        "time": "Tue Sep 22 16:46:34 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:46 2009 -0700"
      },
      "message": "gpio: add MC33880 driver\n\nA GPIO driver for the Freescale MC33880 High/Low side switch\n\nSigned-off-by: Richard Röjfors \u003crichard.rojfors.ext@mocean-labs.com\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a4177ee7f1a83eecb1d75e85d32664b023ef65e9",
      "tree": "614b12b1f28a1a9090d96bea33639265e3e79839",
      "parents": [
        "d8c1acb1664d17dd995e34507533321e986d9215"
      ],
      "author": {
        "name": "Jani Nikula",
        "email": "ext-jani.1.nikula@nokia.com",
        "time": "Tue Sep 22 16:46:33 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:46 2009 -0700"
      },
      "message": "gpiolib: allow exported GPIO nodes to be named using sysfs links\n\nCommit 926b663ce8215ba448960e1ff6e58b67a2c3b99b (gpiolib: allow GPIOs to\nbe named) already provides naming on the chip level. This patch provides\nmore flexibility by allowing multiple names where ever in sysfs on a per\nGPIO basis.\n\nAdapted from David Brownell\u0027s comments on a similar concept:\nhttp://lkml.org/lkml/2009/4/20/203.\n\n[randy.dunlap@oracle.com: fix build for CONFIG_GENERIC_GPIO\u003dn]\nSigned-off-by: Jani Nikula \u003cext-jani.1.nikula@nokia.com\u003e\nAcked-by: David Brownell \u003cdavid-b@pacbell.net\u003e\nCc: Daniel Silverstone \u003cdsilvers@simtec.co.uk\u003e\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "568d0697f42771425ae9f1e9a3db769fef7e10b6",
      "tree": "8f4d1178b88481e3d3daba3e049c700a3cef72e4",
      "parents": [
        "7869c0b9ed44404bbc675ef76f8ccb3be5496f39"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Tue Sep 22 16:46:18 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:44 2009 -0700"
      },
      "message": "spi: handle TX-only/RX-only\n\nSupport two new half-duplex SPI implementation restrictions, for links\nthat talk to TX-only or RX-only devices.  (Existing half-duplex flavors\nsupport both transfer directions, just not at the same time.)\n\nMove spi_async() into the spi.c core, and stop inlining it.  Then make\nthat function perform error checks and reject messages that demand more\nthan the underlying controller can support.\n\nBased on a patch from Marek Szyprowski which did this only for the\nbitbanged GPIO driver.\n\nCc: Marek Szyprowski \u003cm.szyprowski@samsung.com\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e0626e3844e8f430fc1a4417f523a00797df7ca6",
      "tree": "15e62abad725200b3c6ad2462f268c3df09ed711",
      "parents": [
        "8cec03eee4a771f949c70cff07775c9bb21d4642"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "avorontsov@ru.mvista.com",
        "time": "Tue Sep 22 16:46:08 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:43 2009 -0700"
      },
      "message": "spi: prefix modalias with \"spi:\"\n\nThis makes it consistent with other buses (platform, i2c, vio, ...).  I\u0027m\nnot sure why we use the prefixes, but there must be a reason.\n\nThis was easy enough to do it, and I did it.\n\nSigned-off-by: Anton Vorontsov \u003cavorontsov@ru.mvista.com\u003e\nCc: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nCc: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Ben Dooks \u003cben-linux@fluff.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nCc: Samuel Ortiz \u003csameo@openedhand.com\u003e\nCc: \"John W. Linville\" \u003clinville@tuxdriver.com\u003e\nAcked-by: Mike Frysinger \u003cvapier.adi@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": "75368bf6c2876d8f33abfe77aa3864869a3893eb",
      "tree": "97a543508a8aeb45646d059f8cdd561ae0a76ef2",
      "parents": [
        "b5f3294f0be5496aec01e5aa709a5fab8bb2f225"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "avorontsov@ru.mvista.com",
        "time": "Tue Sep 22 16:46:04 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:43 2009 -0700"
      },
      "message": "spi: add support for device table matching\n\nWith this patch spi drivers can use standard spi_driver.id_table and\nMODULE_DEVICE_TABLE() mechanisms to bind against the devices.  Just like\nwe do with I2C drivers.\n\nThis is useful when a single driver supports several variants of devices\nbut it is not possible to detect them in run-time (like non-JEDEC chips\nprobing in drivers/mtd/devices/m25p80.c), and when platform_data usage is\noverkill.\n\nThis patch also makes life a lot easier on OpenFirmware platforms, since\nwith OF we extensively use proper device IDs in modaliases.\n\nSigned-off-by: Anton Vorontsov \u003cavorontsov@ru.mvista.com\u003e\nCc: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nCc: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Ben Dooks \u003cben-linux@fluff.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@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": "b73b255956119111dc18fa063d1e3a0bb3f06328",
      "tree": "177d99cd1ae658f65a349883f60559407baa693e",
      "parents": [
        "44dab88e7cc99d1d2caa9a8936e09d9a98a6761a"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue Sep 22 16:46:00 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:43 2009 -0700"
      },
      "message": "spi.h: add missing kernel-doc for struct spi_master\n\nAdd missing kernel-doc notation in spi.h for struct spi_master:\n\nWarning(include/linux/spi/spi.h:289): No description found for parameter \u0027mode_bits\u0027\nWarning(include/linux/spi/spi.h:289): No description found for parameter \u0027flags\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nAcked-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a7e3108cca54c105f496919040f00df56767ec00",
      "tree": "42aaadd3648bada66632f50e9658d37bf7bb16c8",
      "parents": [
        "0d4c36a9b6ab6b15851f60956d901a3c53574ea8"
      ],
      "author": {
        "name": "maximilian attems",
        "email": "max@stro.at",
        "time": "Tue Sep 22 16:45:53 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:42 2009 -0700"
      },
      "message": "ramfs: move RAMFS_MAGIC to include/linux/magic.h\n\ninitramfs userspace likes to use this magic number.\n\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nSigned-off-by: maximilian attems \u003cmax@stro.at\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "81ac3ad9061dd9cd490ee92f0c5316a14d77ce18",
      "tree": "1787b8c307b5e70e2763c4e7c0767c2b7e108dc4",
      "parents": [
        "26562c59fa9111ae3ea7b78045889662aac9e5ac"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue Sep 22 16:45:49 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:42 2009 -0700"
      },
      "message": "kcore: register module area in generic way\n\nSome archs define MODULED_VADDR/MODULES_END which is not in VMALLOC area.\nThis is handled only in x86-64.  This patch make it more generic.  And we\ncan use vread/vwrite to access the area.  Fix it.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: WANG Cong \u003cxiyou.wangcong@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": "26562c59fa9111ae3ea7b78045889662aac9e5ac",
      "tree": "fe231752dcc4db5967bd798dbd9749a516678e18",
      "parents": [
        "3089aa1b0c07fb7c48f9829c619f50198307789d"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue Sep 22 16:45:49 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:41 2009 -0700"
      },
      "message": "kcore: register vmemmap range\n\nBenjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e pointed out that vmemmap\nrange is not included in KCORE_RAM, KCORE_VMALLOC ....\n\nThis adds KCORE_VMEMMAP if SPARSEMEM_VMEMMAP is used.  By this, vmemmap\ncan be readable via /proc/kcore\n\nBecause it\u0027s not vmalloc area, vread/vwrite cannot be used.  But the range\nis static against the memory layout, this patch handles vmemmap area by\nthe same scheme with physical memory.\n\nThis patch assumes SPARSEMEM_VMEMMAP range is not in VMALLOC range.  It\u0027s\ncorrect now.\n\n[akpm@linux-foundation.org: fix typo]\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "908eedc6168bd92e89f90d89fa389065a36358fa",
      "tree": "612881abb2aae920ab1e62e88990ee7b6a988f51",
      "parents": [
        "9492587cf35d370db33ef4b38375dfb35a105b61"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue Sep 22 16:45:46 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:41 2009 -0700"
      },
      "message": "walk system ram range\n\nOriginally, walk_memory_resource() was introduced to traverse all memory\nof \"System RAM\" for detecting memory hotplug/unplug range.  For doing so,\nflags of IORESOUCE_MEM|IORESOURCE_BUSY was used and this was enough for\nmemory hotplug.\n\nBut for using other purpose, /proc/kcore, this may includes some firmware\narea marked as IORESOURCE_BUSY | IORESOUCE_MEM.  This patch makes the\ncheck strict to find out busy \"System RAM\".\n\nNote: PPC64 keeps their own walk_memory_resouce(), which walk through\nppc64\u0027s lmb informaton.  Because old kclist_add() is called per lmb, this\npatch makes no difference in behavior, finally.\n\nAnd this patch removes CONFIG_MEMORY_HOTPLUG check from this function.\nBecause pfn_valid() just show \"there is memmap or not* and cannot be used\nfor \"there is physical memory or not\", this function is useful in generic\nto scan physical memory range.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nCc: Américo Wang \u003cxiyou.wangcong@gmail.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Roland Dreier \u003crolandd@cisco.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c30bb2a25fcfde6157e6154a32c14686fb0bedbe",
      "tree": "afa4811d46e5f9035a035b2c8c864bbb6c5af049",
      "parents": [
        "2ef43ec772551e975a6ea7cf22b59c84955aadf9"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue Sep 22 16:45:43 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:41 2009 -0700"
      },
      "message": "kcore: add kclist types\n\nPresently, kclist_add() only eats start address and size as its arguments.\nConsidering to make kclist dynamically reconfigulable, it\u0027s necessary to\nknow which kclists are for System RAM and which are not.\n\nThis patch add kclist types as\n  KCORE_RAM\n  KCORE_VMALLOC\n  KCORE_TEXT\n  KCORE_OTHER\n\nThis \"type\" is used in a patch following this for detecting KCORE_RAM.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: WANG Cong \u003cxiyou.wangcong@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": "2ef43ec772551e975a6ea7cf22b59c84955aadf9",
      "tree": "9560c13bcc6deb3ee00a60f93730b248029e69bb",
      "parents": [
        "d899bf7b55f503ba7d3d07ed27c3a37e270fa7db"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue Sep 22 16:45:41 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:41 2009 -0700"
      },
      "message": "kcore: use usual list for kclist\n\nThis patchset is for /proc/kcore.  With this,\n\n - many per-arch hooks are removed.\n\n - /proc/kcore will know really valid physical memory area.\n\n - /proc/kcore will be aware of memory hotplug.\n\n - /proc/kcore will be architecture independent i.e.\n   if an arch supports CONFIG_MMU, it can use /proc/kcore.\n   (if the arch uses usual memory layout.)\n\nThis patch:\n\n/proc/kcore uses its own list handling codes. It\u0027s better to use\ngeneric list codes.\n\nNo changes in logic. just clean up.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: WANG Cong \u003cxiyou.wangcong@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": "d899bf7b55f503ba7d3d07ed27c3a37e270fa7db",
      "tree": "32a5ee7816b2f0cb3261dcca8102b9cafe9251bd",
      "parents": [
        "cba8aafe1e07dfc8bae5ba78be8e02883bd34d31"
      ],
      "author": {
        "name": "Stefani Seibold",
        "email": "stefani@seibold.net",
        "time": "Tue Sep 22 16:45:40 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:41 2009 -0700"
      },
      "message": "procfs: provide stack information for threads\n\nA patch to give a better overview of the userland application stack usage,\nespecially for embedded linux.\n\nCurrently you are only able to dump the main process/thread stack usage\nwhich is showed in /proc/pid/status by the \"VmStk\" Value.  But you get no\ninformation about the consumed stack memory of the the threads.\n\nThere is an enhancement in the /proc/\u003cpid\u003e/{task/*,}/*maps and which marks\nthe vm mapping where the thread stack pointer reside with \"[thread stack\nxxxxxxxx]\".  xxxxxxxx is the maximum size of stack.  This is a value\ninformation, because libpthread doesn\u0027t set the start of the stack to the\ntop of the mapped area, depending of the pthread usage.\n\nA sample output of /proc/\u003cpid\u003e/task/\u003ctid\u003e/maps looks like:\n\n08048000-08049000 r-xp 00000000 03:00 8312       /opt/z\n08049000-0804a000 rw-p 00001000 03:00 8312       /opt/z\n0804a000-0806b000 rw-p 00000000 00:00 0          [heap]\na7d12000-a7d13000 ---p 00000000 00:00 0\na7d13000-a7f13000 rw-p 00000000 00:00 0          [thread stack: 001ff4b4]\na7f13000-a7f14000 ---p 00000000 00:00 0\na7f14000-a7f36000 rw-p 00000000 00:00 0\na7f36000-a8069000 r-xp 00000000 03:00 4222       /lib/libc.so.6\na8069000-a806b000 r--p 00133000 03:00 4222       /lib/libc.so.6\na806b000-a806c000 rw-p 00135000 03:00 4222       /lib/libc.so.6\na806c000-a806f000 rw-p 00000000 00:00 0\na806f000-a8083000 r-xp 00000000 03:00 14462      /lib/libpthread.so.0\na8083000-a8084000 r--p 00013000 03:00 14462      /lib/libpthread.so.0\na8084000-a8085000 rw-p 00014000 03:00 14462      /lib/libpthread.so.0\na8085000-a8088000 rw-p 00000000 00:00 0\na8088000-a80a4000 r-xp 00000000 03:00 8317       /lib/ld-linux.so.2\na80a4000-a80a5000 r--p 0001b000 03:00 8317       /lib/ld-linux.so.2\na80a5000-a80a6000 rw-p 0001c000 03:00 8317       /lib/ld-linux.so.2\nafaf5000-afb0a000 rw-p 00000000 00:00 0          [stack]\nffffe000-fffff000 r-xp 00000000 00:00 0          [vdso]\n\nAlso there is a new entry \"stack usage\" in /proc/\u003cpid\u003e/{task/*,}/status\nwhich will you give the current stack usage in kb.\n\nA sample output of /proc/self/status looks like:\n\nName:\tcat\nState:\tR (running)\nTgid:\t507\nPid:\t507\n.\n.\n.\nCapBnd:\tfffffffffffffeff\nvoluntary_ctxt_switches:\t0\nnonvoluntary_ctxt_switches:\t0\nStack usage:\t12 kB\n\nI also fixed stack base address in /proc/\u003cpid\u003e/{task/*,}/stat to the base\naddress of the associated thread stack and not the one of the main\nprocess.  This makes more sense.\n\n[akpm@linux-foundation.org: fs/proc/array.c now needs walk_page_range()]\nSigned-off-by: Stefani Seibold \u003cstefani@seibold.net\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "996ad5686c5f868e67557cc1bfcb2cfdde1a18b4",
      "tree": "a9075fe3acf1e8f847403c4b007aa25ccc742fe0",
      "parents": [
        "95cdfb72b9bc568803f395c266152c71b034b461"
      ],
      "author": {
        "name": "Nicolas Pitre",
        "email": "nico@fluxnic.net",
        "time": "Tue Sep 22 16:45:30 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:38 2009 -0700"
      },
      "message": "mmc: make SDIO device/driver struct accessors public\n\nEspecially with the PM framework, those are quite handy to have in driver\ncode too.\n\nSigned-off-by: Nicolas Pitre \u003cnico@marvell.com\u003e\nCc: \u003clinux-mmc@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": "7c979ec7135d96bbff34790bf4b85a8508ede7fc",
      "tree": "7844a33af78db54561e2bf7d5d11d48885d3b03b",
      "parents": [
        "ad1e597d4199ffcdee04b9fb402e45c5be6a5052"
      ],
      "author": {
        "name": "Ohad Ben-Cohen",
        "email": "ohad@wizery.com",
        "time": "Tue Sep 22 16:45:18 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:37 2009 -0700"
      },
      "message": "sdio: add MMC_QUIRK_LENIENT_FN0\n\nNormally writes to SDIO function 0 outside the vendor specific CCCR\nregisters are prohibited.\n\nTo support embedded devices that require writes to SDIO function 0 outside\nthis range (e.g.  TI WL127x embedded sdio wifi device),\nMMC_QUIRK_LENIENT_FN0 is introduced.\n\nA card quirks field is added to `struct mmc_card\u0027 to support non-standard\ndevices (e.g.  embedded sdio devices).\n\n[akpm@linux-foundation.org: code in C, not cpp!]\nSigned-off-by: Ohad Ben-Cohen \u003cohad@wizery.com\u003e\nCc: \u003clinux-mmc@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": "006ebd5de13854d6250eecc76866bbfad1ff7daf",
      "tree": "49cf0715227e1da36745bbb50b6b94f341db3986",
      "parents": [
        "653f41b52dfc63fecf4a2333f13be28b159a918c"
      ],
      "author": {
        "name": "Ohad Ben-Cohen",
        "email": "ohad@wizery.com",
        "time": "Tue Sep 22 16:45:07 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:36 2009 -0700"
      },
      "message": "sdio: add CD disable support\n\nAdd support to disconnect the pull-up resistor on CD/DAT[3] (pin 1)\nof the card. This may be desired on certain setups of boards,\ncontrollers and embedded sdio devices which do not need the card\u0027s\npull-up. As a result, card detection is disabled and power is saved.\n\n[akpm@linux-foundation.org: simplify sdio_disable_cd() a bit]\nSigned-off-by: Ohad Ben-Cohen \u003cohad@wizery.com\u003e\nAcked-by: Matt Fleming \u003cmatt@console-pimps.org\u003e\nCc: Ian Molton \u003cian@mnementh.co.uk\u003e\nCc: \"Roberto A. Foglietta\" \u003croberto.foglietta@gmail.com\u003e\nCc: Philip Langdale \u003cphilipl@overt.org\u003e\nCc: Pierre Ossman \u003cpierre@ossman.eu\u003e\nCc: David Vrabel \u003cdavid.vrabel@csr.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ef0b27d4ccacac32afc3d1c0e8a95e4091dfbc8c",
      "tree": "ed507b7f505620915f96df8757f36c78fd24c6b6",
      "parents": [
        "53509f0fe28e049e772897aa8fa1f5183b6823a2"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "adrian.hunter@nokia.com",
        "time": "Tue Sep 22 16:44:37 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:34 2009 -0700"
      },
      "message": "mmc: check status after MMC SWITCH command\n\nAccording to the standard, the SWITCH command should be followed by a\nSEND_STATUS command to check for errors.\n\nSigned-off-by: Adrian Hunter \u003cadrian.hunter@nokia.com\u003e\nAcked-by: Matt Fleming \u003cmatt@console-pimps.org\u003e\nCc: Ian Molton \u003cian@mnementh.co.uk\u003e\nCc: \"Roberto A. Foglietta\" \u003croberto.foglietta@gmail.com\u003e\nCc: Jarkko Lavinen \u003cjarkko.lavinen@nokia.com\u003e\nCc: Denis Karpov \u003cext-denis.2.karpov@nokia.com\u003e\nCc: Pierre Ossman \u003cpierre@ossman.eu\u003e\nCc: Philip Langdale \u003cphilipl@overt.org\u003e\nCc: \"Madhusudhan\" \u003cmadhu.cr@ti.com\u003e\nCc: \u003clinux-mmc@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": "b1ebe38456f7fe61a88af2844361e763ac6ea5ae",
      "tree": "b45a2e7afe4f1f6d66d6d38dd1627fa2d6c0e7c7",
      "parents": [
        "eae1aeeed852aae37621b82a9e7f6c05096a18fd"
      ],
      "author": {
        "name": "Jarkko Lavinen",
        "email": "jarkko.lavinen@nokia.com",
        "time": "Tue Sep 22 16:44:34 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:33 2009 -0700"
      },
      "message": "mmc: add mmc card sleep and awake support\n\nAdd support for the new MMC command SLEEP_AWAKE.\n\nSigned-off-by: Jarkko Lavinen \u003cjarkko.lavinen@nokia.com\u003e\nSigned-off-by: Adrian Hunter \u003cadrian.hunter@nokia.com\u003e\nAcked-by: Matt Fleming \u003cmatt@console-pimps.org\u003e\nCc: Ian Molton \u003cian@mnementh.co.uk\u003e\nCc: \"Roberto A. Foglietta\" \u003croberto.foglietta@gmail.com\u003e\nCc: Jarkko Lavinen \u003cjarkko.lavinen@nokia.com\u003e\nCc: Denis Karpov \u003cext-denis.2.karpov@nokia.com\u003e\nCc: Pierre Ossman \u003cpierre@ossman.eu\u003e\nCc: Philip Langdale \u003cphilipl@overt.org\u003e\nCc: \"Madhusudhan\" \u003cmadhu.cr@ti.com\u003e\nCc: \u003clinux-mmc@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": "eae1aeeed852aae37621b82a9e7f6c05096a18fd",
      "tree": "6a1b108032a5cf08ccfa6fffa29c81cccbe8c82d",
      "parents": [
        "9feae246963c648b212abad0f0eb8938de5f5fe5"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "adrian.hunter@nokia.com",
        "time": "Tue Sep 22 16:44:33 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:33 2009 -0700"
      },
      "message": "mmc: add ability to save power by powering off cards\n\nPower can be saved by powering off cards that are not in use.  This is\nsimilar to suspend / resume except it is under the control of the driver,\nand does not require any power management support.  It can only be used\nwhen the driver can monitor whether the card is removed, otherwise it is\nunsafe.  This is possible because, unlike suspend, the driver still\nreceives card detect and / or cover switch interrupts.\n\nSigned-off-by: Adrian Hunter \u003cadrian.hunter@nokia.com\u003e\nAcked-by: Matt Fleming \u003cmatt@console-pimps.org\u003e\nCc: Ian Molton \u003cian@mnementh.co.uk\u003e\nCc: \"Roberto A. Foglietta\" \u003croberto.foglietta@gmail.com\u003e\nCc: Jarkko Lavinen \u003cjarkko.lavinen@nokia.com\u003e\nCc: Denis Karpov \u003cext-denis.2.karpov@nokia.com\u003e\nCc: Pierre Ossman \u003cpierre@ossman.eu\u003e\nCc: Philip Langdale \u003cphilipl@overt.org\u003e\nCc: \"Madhusudhan\" \u003cmadhu.cr@ti.com\u003e\nCc: \u003clinux-mmc@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": "9feae246963c648b212abad0f0eb8938de5f5fe5",
      "tree": "fefcc438ab0b8e502c35950e588664ab07ddc439",
      "parents": [
        "319a3f1429c91147058ac26c5f5bac8ec1730bc6"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "adrian.hunter@nokia.com",
        "time": "Tue Sep 22 16:44:32 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:33 2009 -0700"
      },
      "message": "mmc: add MMC_CAP_NONREMOVABLE host capability\n\neMMC\u0027s are not removable, so unsafe resume is OK always.\n\nTo permit this a new host capability MMC_CAP_NONREMOVABLE has been added\nand suspend / resume updated accordingly.\n\nSigned-off-by: Adrian Hunter \u003cadrian.hunter@nokia.com\u003e\nAcked-by: Matt Fleming \u003cmatt@console-pimps.org\u003e\nCc: Ian Molton \u003cian@mnementh.co.uk\u003e\nCc: \"Roberto A. Foglietta\" \u003croberto.foglietta@gmail.com\u003e\nCc: Jarkko Lavinen \u003cjarkko.lavinen@nokia.com\u003e\nCc: Denis Karpov \u003cext-denis.2.karpov@nokia.com\u003e\nCc: Pierre Ossman \u003cpierre@ossman.eu\u003e\nCc: Philip Langdale \u003cphilipl@overt.org\u003e\nCc: \"Madhusudhan\" \u003cmadhu.cr@ti.com\u003e\nCc: \u003clinux-mmc@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": "319a3f1429c91147058ac26c5f5bac8ec1730bc6",
      "tree": "4a39ff034f7e9b57b903997f818eee5304657991",
      "parents": [
        "8ea926b22e2d13238e4d65d8f61c48fe424e6f4f"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "adrian.hunter@nokia.com",
        "time": "Tue Sep 22 16:44:30 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:33 2009 -0700"
      },
      "message": "mmc: allow host claim / release nesting\n\nThis change allows the MMC host to be claimed in situations where the host\nmay or may not have already been claimed.  Also \u0027mmc_try_claim_host()\u0027 is\nnow exported.\n\nSigned-off-by: Adrian Hunter \u003cadrian.hunter@nokia.com\u003e\nAcked-by: Matt Fleming \u003cmatt@console-pimps.org\u003e\nCc: Ian Molton \u003cian@mnementh.co.uk\u003e\nCc: \"Roberto A. Foglietta\" \u003croberto.foglietta@gmail.com\u003e\nCc: Jarkko Lavinen \u003cjarkko.lavinen@nokia.com\u003e\nCc: Denis Karpov \u003cext-denis.2.karpov@nokia.com\u003e\nCc: Pierre Ossman \u003cpierre@ossman.eu\u003e\nCc: Philip Langdale \u003cphilipl@overt.org\u003e\nCc: \"Madhusudhan\" \u003cmadhu.cr@ti.com\u003e\nCc: \u003clinux-mmc@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": "8ea926b22e2d13238e4d65d8f61c48fe424e6f4f",
      "tree": "d62846c0f7aa50afce52bd8a9ed4b2affeaa1889",
      "parents": [
        "27cce39f555def6f5ebe7f03d69ccc44ab25f0b2"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "adrian.hunter@nokia.com",
        "time": "Tue Sep 22 16:44:29 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:33 2009 -0700"
      },
      "message": "mmc: add \u0027enable\u0027 and \u0027disable\u0027 methods to mmc host\n\nMMC hosts that support power saving can use the \u0027enable\u0027 and \u0027disable\u0027\nmethods to exit and enter power saving states.  An explanation of their\nuse is provided in the comments added to include/linux/mmc/host.h.\n\nSigned-off-by: Adrian Hunter \u003cadrian.hunter@nokia.com\u003e\nAcked-by: Matt Fleming \u003cmatt@console-pimps.org\u003e\nCc: Ian Molton \u003cian@mnementh.co.uk\u003e\nCc: \"Roberto A. Foglietta\" \u003croberto.foglietta@gmail.com\u003e\nCc: Jarkko Lavinen \u003cjarkko.lavinen@nokia.com\u003e\nCc: Denis Karpov \u003cext-denis.2.karpov@nokia.com\u003e\nCc: Pierre Ossman \u003cpierre@ossman.eu\u003e\nCc: Philip Langdale \u003cphilipl@overt.org\u003e\nCc: \"Madhusudhan\" \u003cmadhu.cr@ti.com\u003e\nCc: \u003clinux-mmc@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": "1f10206cf8e945220f7220a809d8bfc15c21f9a5",
      "tree": "4f2c48ccf9cc52dad9610df54e301e631a351288",
      "parents": [
        "b28cfd2c0616e1b42acc6ee3c77ef6cc3873c510"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Tue Sep 22 16:44:10 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:30 2009 -0700"
      },
      "message": "getrusage: fill ru_maxrss value\n\nMake -\u003eru_maxrss value in struct rusage filled accordingly to rss hiwater\nmark.  This struct is filled as a parameter to getrusage syscall.\n-\u003eru_maxrss value is set to KBs which is the way it is done in BSD\nsystems.  /usr/bin/time (gnu time) application converts -\u003eru_maxrss to KBs\nwhich seems to be incorrect behavior.  Maintainer of this util was\nnotified by me with the patch which corrects it and cc\u0027ed.\n\nTo make this happen we extend struct signal_struct by two fields.  The\nfirst one is -\u003emaxrss which we use to store rss hiwater of the task.  The\nsecond one is -\u003ecmaxrss which we use to store highest rss hiwater of all\ntask childs.  These values are used in k_getrusage() to actually fill\n-\u003eru_maxrss.  k_getrusage() uses current rss hiwater value directly if mm\nstruct exists.\n\nNote:\nexec() clear mm-\u003ehiwater_rss, but doesn\u0027t clear sig-\u003emaxrss.\nit is intetionally behavior. *BSD getrusage have exec() inheriting.\n\ntest programs\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\ngetrusage.c\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n #include \u003cstdio.h\u003e\n #include \u003cstdlib.h\u003e\n #include \u003cstring.h\u003e\n #include \u003csys/types.h\u003e\n #include \u003csys/time.h\u003e\n #include \u003csys/resource.h\u003e\n #include \u003csys/types.h\u003e\n #include \u003csys/wait.h\u003e\n #include \u003cunistd.h\u003e\n #include \u003csignal.h\u003e\n #include \u003csys/mman.h\u003e\n\n #include \"common.h\"\n\n #define err(str) perror(str), exit(1)\n\nint main(int argc, char** argv)\n{\n\tint status;\n\n\tprintf(\"allocate 100MB\\n\");\n\tconsume(100);\n\n\tprintf(\"testcase1: fork inherit? \\n\");\n\tprintf(\"  expect: initial.self ~\u003d child.self\\n\");\n\tshow_rusage(\"initial\");\n\tif (__fork()) {\n\t\twait(\u0026status);\n\t} else {\n\t\tshow_rusage(\"fork child\");\n\t\t_exit(0);\n\t}\n\tprintf(\"\\n\");\n\n\tprintf(\"testcase2: fork inherit? (cont.) \\n\");\n\tprintf(\"  expect: initial.children ~\u003d 100MB, but child.children \u003d 0\\n\");\n\tshow_rusage(\"initial\");\n\tif (__fork()) {\n\t\twait(\u0026status);\n\t} else {\n\t\tshow_rusage(\"child\");\n\t\t_exit(0);\n\t}\n\tprintf(\"\\n\");\n\n\tprintf(\"testcase3: fork + malloc \\n\");\n\tprintf(\"  expect: child.self ~\u003d initial.self + 50MB\\n\");\n\tshow_rusage(\"initial\");\n\tif (__fork()) {\n\t\twait(\u0026status);\n\t} else {\n\t\tprintf(\"allocate +50MB\\n\");\n\t\tconsume(50);\n\t\tshow_rusage(\"fork child\");\n\t\t_exit(0);\n\t}\n\tprintf(\"\\n\");\n\n\tprintf(\"testcase4: grandchild maxrss\\n\");\n\tprintf(\"  expect: post_wait.children ~\u003d 300MB\\n\");\n\tshow_rusage(\"initial\");\n\tif (__fork()) {\n\t\twait(\u0026status);\n\t\tshow_rusage(\"post_wait\");\n\t} else {\n\t\tsystem(\"./child -n 0 -g 300\");\n\t\t_exit(0);\n\t}\n\tprintf(\"\\n\");\n\n\tprintf(\"testcase5: zombie\\n\");\n\tprintf(\"  expect: pre_wait ~\u003d initial, IOW the zombie process is not accounted.\\n\");\n\tprintf(\"          post_wait ~\u003d 400MB, IOW wait() collect child\u0027s max_rss. \\n\");\n\tshow_rusage(\"initial\");\n\tif (__fork()) {\n\t\tsleep(1); /* children become zombie */\n\t\tshow_rusage(\"pre_wait\");\n\t\twait(\u0026status);\n\t\tshow_rusage(\"post_wait\");\n\t} else {\n\t\tsystem(\"./child -n 400\");\n\t\t_exit(0);\n\t}\n\tprintf(\"\\n\");\n\n\tprintf(\"testcase6: SIG_IGN\\n\");\n\tprintf(\"  expect: initial ~\u003d after_zombie (child\u0027s 500MB alloc should be ignored).\\n\");\n\tshow_rusage(\"initial\");\n\tsignal(SIGCHLD, SIG_IGN);\n\tif (__fork()) {\n\t\tsleep(1); /* children become zombie */\n\t\tshow_rusage(\"after_zombie\");\n\t} else {\n\t\tsystem(\"./child -n 500\");\n\t\t_exit(0);\n\t}\n\tprintf(\"\\n\");\n\tsignal(SIGCHLD, SIG_DFL);\n\n\tprintf(\"testcase7: exec (without fork) \\n\");\n\tprintf(\"  expect: initial ~\u003d exec \\n\");\n\tshow_rusage(\"initial\");\n\texecl(\"./child\", \"child\", \"-v\", NULL);\n\n\treturn 0;\n}\n\nchild.c\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n #include \u003csys/types.h\u003e\n #include \u003cunistd.h\u003e\n #include \u003csys/types.h\u003e\n #include \u003csys/wait.h\u003e\n #include \u003cstdio.h\u003e\n #include \u003cstdlib.h\u003e\n #include \u003cstring.h\u003e\n #include \u003csys/types.h\u003e\n #include \u003csys/time.h\u003e\n #include \u003csys/resource.h\u003e\n\n #include \"common.h\"\n\nint main(int argc, char** argv)\n{\n\tint status;\n\tint c;\n\tlong consume_size \u003d 0;\n\tlong grandchild_consume_size \u003d 0;\n\tint show \u003d 0;\n\n\twhile ((c \u003d getopt(argc, argv, \"n:g:v\")) !\u003d -1) {\n\t\tswitch (c) {\n\t\tcase \u0027n\u0027:\n\t\t\tconsume_size \u003d atol(optarg);\n\t\t\tbreak;\n\t\tcase \u0027v\u0027:\n\t\t\tshow \u003d 1;\n\t\t\tbreak;\n\t\tcase \u0027g\u0027:\n\n\t\t\tgrandchild_consume_size \u003d atol(optarg);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tbreak;\n\t\t}\n\t}\n\n\tif (show)\n\t\tshow_rusage(\"exec\");\n\n\tif (consume_size) {\n\t\tprintf(\"child alloc %ldMB\\n\", consume_size);\n\t\tconsume(consume_size);\n\t}\n\n\tif (grandchild_consume_size) {\n\t\tif (fork()) {\n\t\t\twait(\u0026status);\n\t\t} else {\n\t\t\tprintf(\"grandchild alloc %ldMB\\n\", grandchild_consume_size);\n\t\t\tconsume(grandchild_consume_size);\n\n\t\t\texit(0);\n\t\t}\n\t}\n\n\treturn 0;\n}\n\ncommon.c\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n #include \u003cstdio.h\u003e\n #include \u003cstdlib.h\u003e\n #include \u003cstring.h\u003e\n #include \u003csys/types.h\u003e\n #include \u003csys/time.h\u003e\n #include \u003csys/resource.h\u003e\n #include \u003csys/types.h\u003e\n #include \u003csys/wait.h\u003e\n #include \u003cunistd.h\u003e\n #include \u003csignal.h\u003e\n #include \u003csys/mman.h\u003e\n\n #include \"common.h\"\n #define err(str) perror(str), exit(1)\n\nvoid show_rusage(char *prefix)\n{\n    \tint err, err2;\n    \tstruct rusage rusage_self;\n    \tstruct rusage rusage_children;\n\n    \tprintf(\"%s: \", prefix);\n    \terr \u003d getrusage(RUSAGE_SELF, \u0026rusage_self);\n    \tif (!err)\n    \t\tprintf(\"self %ld \", rusage_self.ru_maxrss);\n    \terr2 \u003d getrusage(RUSAGE_CHILDREN, \u0026rusage_children);\n    \tif (!err2)\n    \t\tprintf(\"children %ld \", rusage_children.ru_maxrss);\n\n    \tprintf(\"\\n\");\n}\n\n/* Some buggy OS need this worthless CPU waste. */\nvoid make_pagefault(void)\n{\n\tvoid *addr;\n\tint size \u003d getpagesize();\n\tint i;\n\n\tfor (i\u003d0; i\u003c1000; i++) {\n\t\taddr \u003d mmap(NULL, size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON, -1, 0);\n\t\tif (addr \u003d\u003d MAP_FAILED)\n\t\t\terr(\"make_pagefault\");\n\t\tmemset(addr, 0, size);\n\t\tmunmap(addr, size);\n\t}\n}\n\nvoid consume(int mega)\n{\n    \tsize_t sz \u003d mega * 1024 * 1024;\n    \tvoid *ptr;\n\n    \tptr \u003d malloc(sz);\n    \tmemset(ptr, 0, sz);\n\tmake_pagefault();\n}\n\npid_t __fork(void)\n{\n\tpid_t pid;\n\n\tpid \u003d fork();\n\tmake_pagefault();\n\n\treturn pid;\n}\n\ncommon.h\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nvoid show_rusage(char *prefix);\nvoid make_pagefault(void);\nvoid consume(int mega);\npid_t __fork(void);\n\nFreeBSD result (expected result)\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nallocate 100MB\ntestcase1: fork inherit?\n  expect: initial.self ~\u003d child.self\ninitial: self 103492 children 0\nfork child: self 103540 children 0\n\ntestcase2: fork inherit? (cont.)\n  expect: initial.children ~\u003d 100MB, but child.children \u003d 0\ninitial: self 103540 children 103540\nchild: self 103564 children 0\n\ntestcase3: fork + malloc\n  expect: child.self ~\u003d initial.self + 50MB\ninitial: self 103564 children 103564\nallocate +50MB\nfork child: self 154860 children 0\n\ntestcase4: grandchild maxrss\n  expect: post_wait.children ~\u003d 300MB\ninitial: self 103564 children 154860\ngrandchild alloc 300MB\npost_wait: self 103564 children 308720\n\ntestcase5: zombie\n  expect: pre_wait ~\u003d initial, IOW the zombie process is not accounted.\n          post_wait ~\u003d 400MB, IOW wait() collect child\u0027s max_rss.\ninitial: self 103564 children 308720\nchild alloc 400MB\npre_wait: self 103564 children 308720\npost_wait: self 103564 children 411312\n\ntestcase6: SIG_IGN\n  expect: initial ~\u003d after_zombie (child\u0027s 500MB alloc should be ignored).\ninitial: self 103564 children 411312\nchild alloc 500MB\nafter_zombie: self 103624 children 411312\n\ntestcase7: exec (without fork)\n  expect: initial ~\u003d exec\ninitial: self 103624 children 411312\nexec: self 103624 children 411312\n\nLinux result (actual test result)\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nallocate 100MB\ntestcase1: fork inherit?\n  expect: initial.self ~\u003d child.self\ninitial: self 102848 children 0\nfork child: self 102572 children 0\n\ntestcase2: fork inherit? (cont.)\n  expect: initial.children ~\u003d 100MB, but child.children \u003d 0\ninitial: self 102876 children 102644\nchild: self 102572 children 0\n\ntestcase3: fork + malloc\n  expect: child.self ~\u003d initial.self + 50MB\ninitial: self 102876 children 102644\nallocate +50MB\nfork child: self 153804 children 0\n\ntestcase4: grandchild maxrss\n  expect: post_wait.children ~\u003d 300MB\ninitial: self 102876 children 153864\ngrandchild alloc 300MB\npost_wait: self 102876 children 307536\n\ntestcase5: zombie\n  expect: pre_wait ~\u003d initial, IOW the zombie process is not accounted.\n          post_wait ~\u003d 400MB, IOW wait() collect child\u0027s max_rss.\ninitial: self 102876 children 307536\nchild alloc 400MB\npre_wait: self 102876 children 307536\npost_wait: self 102876 children 410076\n\ntestcase6: SIG_IGN\n  expect: initial ~\u003d after_zombie (child\u0027s 500MB alloc should be ignored).\ninitial: self 102876 children 410076\nchild alloc 500MB\nafter_zombie: self 102880 children 410076\n\ntestcase7: exec (without fork)\n  expect: initial ~\u003d exec\ninitial: self 102880 children 410076\nexec: self 102880 children 410076\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\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": "a49c59c042c63b432307c1bbf7dac5a104c786e6",
      "tree": "443f9fab6d8907dec07a6c83fee2812c4bf43245",
      "parents": [
        "d7d7561c908afa001ab0fc8212eee94731a213a6"
      ],
      "author": {
        "name": "Rolf Eike Beer",
        "email": "eike-kernel@sf-tec.de",
        "time": "Tue Sep 22 16:44:03 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:30 2009 -0700"
      },
      "message": "Make sure the value in abs() does not get truncated if it is greater than 2^32\n\nabs() will truncate the input if is it outside the 2^32 range.  Fix that\nby assuming `long\u0027 input.\n\nThis might generate worse code in the common case.\n\nSigned-off-by: Rolf Eike Beer \u003ceike-kernel@sf-tec.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "562787a5c32ccdf182de27793a83a9f2ee86cd77",
      "tree": "3308afd59d3b7449afa3d6a6cd624d06ce035e88",
      "parents": [
        "515350b6fd041396f425180589e08812dd13615f"
      ],
      "author": {
        "name": "Davide Libenzi",
        "email": "davidel@xmailserver.org",
        "time": "Tue Sep 22 16:43:57 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:29 2009 -0700"
      },
      "message": "anonfd: split interface into file creation and install\n\nSplit the anonfd interface into a bare file pointer creation one, and a\nfile pointer creation plus install one.\n\nThere are cases, like the usage of eventfds inside other kernel\ninterfaces, where the file pointer created by anonfd needs to be used\ninside the initialization of other structures.\n\nAs it is right now, as soon as anon_inode_getfd() returns, the kenrle can\nrace with userspace closing the newly installed file descriptor.\n\nThis patch, while keeping the old anon_inode_getfd(), introduces a new\nanon_inode_getfile() (whose services are reused in anon_inode_getfd())\nthat allows to split the file creation phase and the fd install one.\n\nOnce all the kernel structures are initialized, the code can call the\nproper fd_install().\n\nGregory manifested the need for something like this inside KVM.\n\nSigned-off-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Gregory Haskins \u003cghaskins@novell.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Roland Dreier \u003crolandd@cisco.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8c87df457cb58fe75b9b893007917cf8095660a0",
      "tree": "32446b329e4b83ae6158fa1505c36634a75dbfe8",
      "parents": [
        "1fe72eaa0f46a0fa4cdcd8f3f7853b6d39469784"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@novell.com",
        "time": "Tue Sep 22 16:43:52 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:29 2009 -0700"
      },
      "message": "BUILD_BUG_ON(): fix it and a couple of bogus uses of it\n\ngcc permitting variable length arrays makes the current construct used for\nBUILD_BUG_ON() useless, as that doesn\u0027t produce any diagnostic if the\ncontrolling expression isn\u0027t really constant.  Instead, this patch makes\nit so that a bit field gets used here.  Consequently, those uses where the\ncondition isn\u0027t really constant now also need fixing.\n\nNote that in the gfp.h, kmemcheck.h, and virtio_config.h cases\nMAYBE_BUILD_BUG_ON() really just serves documentation purposes - even if\nthe expression is compile time constant (__builtin_constant_p() yields\ntrue), the array is still deemed of variable length by gcc, and hence the\nwhole expression doesn\u0027t have the intended effect.\n\n[akpm@linux-foundation.org: make arch/sparc/include/asm/vio.h compile]\n[akpm@linux-foundation.org: more nonsensical assertions in tpm.c..]\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Rajiv Andrade \u003csrajiv@linux.vnet.ibm.com\u003e\nCc: Mimi Zohar \u003czohar@us.ibm.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "70867453092297be9afb2249e712a1f960ec0a09",
      "tree": "cf753b5467e3a93fafd6bb452292e6ec60c3de86",
      "parents": [
        "02b51df1b07b4e9ca823c89284e704cadb323cd1"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rdreier@cisco.com",
        "time": "Tue Sep 22 16:43:46 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:29 2009 -0700"
      },
      "message": "printk_once(): use bool for boolean flag\n\nUsing the type bool (instead of int) for the __print_once flag in the\nprintk_once() macro matches the intent of the code better, and allows the\ncompiler to generate smaller code; eg a typical callsite with gcc 4.3.3 on\ni386:\n\nadd/remove: 0/0 grow/shrink: 0/2 up/down: 0/-6 (-6)\nfunction                                     old     new   delta\nstatic.__print_once                            4       1      -3\nget_cpu_vendor                               146     143      -3\n\nSaving 6 bytes of object size per callsite by slightly improving the\nreadability of the source seems like a win to me.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "02b51df1b07b4e9ca823c89284e704cadb323cd1",
      "tree": "c68de4809f261d742f597c686826cdc9d047fb4a",
      "parents": [
        "88e9d34c727883d7d6f02cf1475b3ec98b8480c7"
      ],
      "author": {
        "name": "Scott James Remnant",
        "email": "scott@ubuntu.com",
        "time": "Tue Sep 22 16:43:44 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:29 2009 -0700"
      },
      "message": "proc connector: add event for process becoming session leader\n\nThe act of a process becoming a session leader is a useful signal to a\nsupervising init daemon such as Upstart.\n\nWhile a daemon will normally do this as part of the process of becoming a\ndaemon, it is rare for its children to do so.  When the children do, it is\nnearly always a sign that the child should be considered detached from the\nparent and not supervised along with it.\n\nThe poster-child example is OpenSSH; the per-login children call setsid()\nso that they may control the pty connected to them.  If the primary daemon\ndies or is restarted, we do not want to consider the per-login children\nand want to respawn the primary daemon without killing the children.\n\nThis patch adds a new PROC_SID_EVENT and associated structure to the\nproc_event event_data union, it arranges for this to be emitted when the\nspecial PIDTYPE_SID pid is set.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Scott James Remnant \u003cscott@ubuntu.com\u003e\nAcked-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Evgeniy Polyakov \u003cjohnpol@2ka.mipt.ru\u003e\nAcked-by: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "88e9d34c727883d7d6f02cf1475b3ec98b8480c7",
      "tree": "475f544536d52739e0929e7727cab5124e855a06",
      "parents": [
        "b7ed698cc9d556306a4088c238e2ea9311ea2cb3"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Sep 22 16:43:43 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:29 2009 -0700"
      },
      "message": "seq_file: constify seq_operations\n\nMake all seq_operations structs const, to help mitigate against\nrevectoring user-triggerable function pointers.\n\nThis is derived from the grsecurity patch, although generated from scratch\nbecause it\u0027s simpler than extracting the changes from there.\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "54fdade1c3332391948ec43530c02c4794a38172"
}
