)]}'
{
  "log": [
    {
      "commit": "45b588d6e5cc172704bac0c998ce54873b149b22",
      "tree": "57a9d3478af60fcf6932c1f61b083b9203ef1ee8",
      "parents": [
        "4af5a2f770cc8575840ccb1514ec76ecb592985c"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Mon Sep 21 17:04:33 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:47 2009 -0700"
      },
      "message": "flex_array: introduce DEFINE_FLEX_ARRAY\n\nFLEX_ARRAY_INIT(element_size, total_nr_elements) cannot determine if\neither parameter is valid, so flex arrays which are statically allocated\nwith this interface can easily become corrupted or reference beyond its\nallocated memory.\n\nThis removes FLEX_ARRAY_INIT() as a struct flex_array initializer since no\ninitializer may perform the required checking.  Instead, the array is now\ndefined with a new interface:\n\n\tDEFINE_FLEX_ARRAY(name, element_size, total_nr_elements)\n\nThis may be prefixed with `static\u0027 for file scope.\n\nThis interface includes compile-time checking of the parameters to ensure\nthey are valid.  Since the validity of both element_size and\ntotal_nr_elements depend on FLEX_ARRAY_BASE_SIZE and FLEX_ARRAY_PART_SIZE,\nthe kernel build will fail if either of these predefined values changes\nsuch that the array parameters are no longer valid.\n\nSince BUILD_BUG_ON() requires compile time constants, several of the\nstatic inline functions that were once local to lib/flex_array.c had to be\nmoved to include/linux/flex_array.h.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nAcked-by: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4af5a2f770cc8575840ccb1514ec76ecb592985c",
      "tree": "7af18234d7d171a946925e65e987fd51648be3aa",
      "parents": [
        "19da3dd157f8db6fe727ff268dab4791d55a6371"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Mon Sep 21 17:04:31 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:47 2009 -0700"
      },
      "message": "flex_array: add flex_array_shrink function\n\nAdd a new function to the flex_array API:\n\n\tint flex_array_shrink(struct flex_array *fa)\n\nThis function will free all unused second-level pages.  Since elements are\nnow poisoned if they are not allocated with __GFP_ZERO, it\u0027s possible to\nidentify parts that consist solely of unused elements.\n\nflex_array_shrink() returns the number of pages freed.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "19da3dd157f8db6fe727ff268dab4791d55a6371",
      "tree": "4259074638b384e765c73542d74dd8f44750068b",
      "parents": [
        "e6de3988aa52debb25a427d085061f3bf1181d54"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Mon Sep 21 17:04:31 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:47 2009 -0700"
      },
      "message": "flex_array: poison free elements\n\nNewly initialized flex_array\u0027s and/or flex_array_part\u0027s are now poisoned\nwith a new poison value, FLEX_ARRAY_FREE.  It\u0027s value is similar to\nPOISON_FREE used in the various slab allocators, but is different to\ndistinguish between flex array\u0027s poisoned kmem and slab allocator poisoned\nkmem.\n\nThis will allow us to identify flex_array_part\u0027s that only contain free\nelements (and free them with an addition to the flex_array API).  This\ncould also be extended in the future to identify `get\u0027 uses on elements\nthat have not been `put\u0027.\n\nIf __GFP_ZERO is passed for a part\u0027s gfp mask, the poisoning is avoided.\nThese elements are considered to be in-use since they have been\ninitialized.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e6de3988aa52debb25a427d085061f3bf1181d54",
      "tree": "4a5dd6acac3e73049918c646bd977894335e5560",
      "parents": [
        "2f30b1f9e1b612cdd1a17daeecf514229e8d6a5f"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Mon Sep 21 17:04:30 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:47 2009 -0700"
      },
      "message": "flex_array: add flex_array_clear function\n\nAdd a new function to the flex_array API:\n\n\tint flex_array_clear(struct flex_array *fa,\n\t\t\t\tunsigned int element_nr)\n\nThis function will zero the element at element_nr in the flex_array.\n\nAlthough this is equivalent to using flex_array_put() and passing a\npointer to zero\u0027d memory, flex_array_clear() does not require such a\npointer to memory that would most likely need to be allocated on the\ncaller\u0027s stack which could be significantly large depending on\nelement_size.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "69d25870f20c4b2563304f2b79c5300dd60a067e",
      "tree": "cda2b2d65c1be95420c6ba92ae2d40fade4232c4",
      "parents": [
        "45d80eea87c9f8292d2d33173d6866c0ec57238a"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Mon Sep 21 17:04:08 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:45 2009 -0700"
      },
      "message": "cpuidle: fix the menu governor to boost IO performance\n\nFix the menu idle governor which balances power savings, energy efficiency\nand performance impact.\n\nThe reason for a reworked governor is that there have been serious\nperformance issues reported with the existing code on Nehalem server\nsystems.\n\nTo show this I\u0027m sure Andrew wants to see benchmark results:\n(benchmark is \"fio\", \"no cstates\" is using \"idle\u003dpoll\")\n\n\t\tno cstates\tcurrent linux\tnew algorithm\n1 disk\t\t107 Mb/s\t85 Mb/s\t\t105 Mb/s\n2 disks\t\t215 Mb/s\t123 Mb/s\t209 Mb/s\n12 disks\t590 Mb/s\t320 Mb/s\t585 Mb/s\n\nIn various power benchmark measurements, no degredation was found by our\nmeasurement\u0026diagnostics team.  Obviously a small percentage more power was\nused in the \"fio\" benchmark, due to the much higher performance.\n\nWhile it would be a novel idea to describe the new algorithm in this\ncommit message, I cheaped out and described it in comments in the code\ninstead.\n\n[changes since first post: spelling fixes from akpm, review feedback,\nfolded menu-tng into menu.c]\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Yanmin Zhang \u003cyanmin_zhang@linux.intel.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3d2d827f5ca5e32816194119d5c980c7e04474a6",
      "tree": "fe0e84669f5f20e1dff8e3dc6b191b4d5dfc0145",
      "parents": [
        "425fbf047cc70bb30dff368a6da02c8c2d229318"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Mon Sep 21 17:03:51 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:42 2009 -0700"
      },
      "message": "mm: move use_mm/unuse_mm from aio.c to mm/\n\nAnyone who wants to do copy to/from user from a kernel thread, needs\nuse_mm (like what fs/aio has).  Move that into mm/, to make reusing and\nexporting easier down the line, and make aio use it.  Next intended user,\nbesides aio, will be vhost-net.\n\nAcked-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@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": "4e52780d41a741fb4861ae1df2413dd816ec11b1",
      "tree": "b3722349661ed0ce87841b110f568616892cf719",
      "parents": [
        "90f72aa58bbf076b68e289fbd71eb829bc505923"
      ],
      "author": {
        "name": "Eric B Munson",
        "email": "ebmunson@us.ibm.com",
        "time": "Mon Sep 21 17:03:47 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:42 2009 -0700"
      },
      "message": "hugetlb: add MAP_HUGETLB for mmaping pseudo-anonymous huge page regions\n\nAdd a flag for mmap that will be used to request a huge page region that\nwill look like anonymous memory to userspace.  This is accomplished by\nusing a file on the internal vfsmount.  MAP_HUGETLB is a modifier of\nMAP_ANONYMOUS and so must be specified with it.  The region will behave\nthe same as a MAP_ANONYMOUS region using small pages.\n\n[akpm@linux-foundation.org: fix arch definitions of MAP_HUGETLB]\nSigned-off-by: Eric B Munson \u003cebmunson@us.ibm.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6bfde05bf5c9682e255c6a2c669dc80f91af6296",
      "tree": "3ff62bb87fc12c1ce808a54f789c42c35be7c049",
      "parents": [
        "f8dbf0a7a4c5d98e8b70da9f7f4f6a89f3b7a7bb"
      ],
      "author": {
        "name": "Eric B Munson",
        "email": "ebmunson@us.ibm.com",
        "time": "Mon Sep 21 17:03:43 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:41 2009 -0700"
      },
      "message": "hugetlbfs: allow the creation of files suitable for MAP_PRIVATE on the vfs internal mount\n\nThis patchset adds a flag to mmap that allows the user to request that an\nanonymous mapping be backed with huge pages.  This mapping will borrow\nfunctionality from the huge page shm code to create a file on the kernel\ninternal mount and use it to approximate an anonymous mapping.  The\nMAP_HUGETLB flag is a modifier to MAP_ANONYMOUS and will not work without\nboth flags being preset.\n\nA new flag is necessary because there is no other way to hook into huge\npages without creating a file on a hugetlbfs mount which wouldn\u0027t be\nMAP_ANONYMOUS.\n\nTo userspace, this mapping will behave just like an anonymous mapping\nbecause the file is not accessible outside of the kernel.\n\nThis patchset is meant to simplify the programming model.  Presently there\nis a large chunk of boiler platecode, contained in libhugetlbfs, required\nto create private, hugepage backed mappings.  This patch set would allow\nuse of hugepages without linking to libhugetlbfs or having hugetblfs\nmounted.\n\nUnification of the VM code would provide these same benefits, but it has\nbeen resisted each time that it has been suggested for several reasons: it\nwould break PAGE_SIZE assumptions across the kernel, it makes page-table\nabstractions really expensive, and it does not provide any benefit on\narchitectures that do not support huge pages, incurring fast path\npenalties without providing any benefit on these architectures.\n\nThis patch:\n\nThere are two means of creating mappings backed by huge pages:\n\n        1. mmap() a file created on hugetlbfs\n        2. Use shm which creates a file on an internal mount which essentially\n           maps it MAP_SHARED\n\nThe internal mount is only used for shared mappings but there is very\nlittle that stops it being used for private mappings. This patch extends\nhugetlbfs_file_setup() to deal with the creation of files that will be\nmapped MAP_PRIVATE on the internal hugetlbfs mount. This extended API is\nused in a subsequent patch to implement the MAP_HUGETLB mmap() flag.\n\nSigned-off-by: Eric Munson \u003cebmunson@us.ibm.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.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": "3f96b79ad96263cc0ece7bb340cddf9b2ddfb1b3",
      "tree": "0da9828c16543164f1b055fd927ea3e222ca05e5",
      "parents": [
        "cdf7b3418ad5a8783efe8f9124023d9b869fec0f"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Sep 21 17:03:37 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:41 2009 -0700"
      },
      "message": "tmpfs: depend on shmem\n\nCONFIG_SHMEM off gives you (ramfs masquerading as) tmpfs, even when\nCONFIG_TMPFS is off: that\u0027s a little anomalous, and I\u0027d intended to make\nmore sense of it by removing CONFIG_TMPFS altogether, always enabling its\ncode when CONFIG_SHMEM; but so many defconfigs have CONFIG_SHMEM on\nCONFIG_TMPFS off that we\u0027d better leave that as is.\n\nBut there is no point in asking for CONFIG_TMPFS if CONFIG_SHMEM is off:\nmake TMPFS depend on SHMEM, which also prevents TMPFS_POSIX_ACL\nshmem_acl.o being pointlessly built into the kernel when SHMEM is off.\n\nAnd a selfish change, to prevent the world from being rebuilt when I\nswitch between CONFIG_SHMEM on and off: the only CONFIG_SHMEM in the\nheader files is mm.h shmem_lock() - give that a shmem.c stub instead.\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "58fa879e1e640a1856f736b418984ebeccee1c95",
      "tree": "dc37bce8379e29c46e79f105cc71d137b14965cf",
      "parents": [
        "a13ea5b759645a0779edc6dbfec9abfd83220844"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Sep 21 17:03:31 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:40 2009 -0700"
      },
      "message": "mm: FOLL flags for GUP flags\n\n__get_user_pages() has been taking its own GUP flags, then processing\nthem into FOLL flags for follow_page().  Though oddly named, the FOLL\nflags are more widely used, so pass them to __get_user_pages() now.\nSorry, VM flags, VM_FAULT flags and FAULT_FLAGs are still distinct.\n\n(The patch to __get_user_pages() looks peculiar, with both gup_flags\nand foll_flags: the gup_flags remain constant; but as before there\u0027s\nan exceptional case, out of scope of the patch, in which foll_flags\nper page have FOLL_WRITE masked off.)\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2a15efc953b26ad57d7d38b9e6782d57e53b4ab2",
      "tree": "f4d04903b3303e80460d2fa3f38da2b7eea82d22",
      "parents": [
        "8e4b9a60718970bbc02dfd3abd0b956ab65af231"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Sep 21 17:03:27 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:40 2009 -0700"
      },
      "message": "mm: follow_hugetlb_page flags\n\nfollow_hugetlb_page() shouldn\u0027t be guessing about the coredump case\neither: pass the foll_flags down to it, instead of just the write bit.\n\nRemove that obscure huge_zeropage_ok() test.  The decision is easy,\nthough unlike the non-huge case - here vm_ops-\u003efault is always set.\nBut we know that a fault would serve up zeroes, unless there\u0027s\nalready a hugetlbfs pagecache page to back the range.\n\n(Alternatively, since hugetlb pages aren\u0027t swapped out under pressure,\nyou could save more dump space by arguing that a page not yet faulted\ninto this process cannot be relevant to the dump; but that would be\nmore surprising.)\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8e4b9a60718970bbc02dfd3abd0b956ab65af231",
      "tree": "4c19152cea19882071a74f92c0cf6a16d5711f41",
      "parents": [
        "f3e8fccd06d27773186a0094371daf2d84c79469"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Sep 21 17:03:26 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:40 2009 -0700"
      },
      "message": "mm: FOLL_DUMP replace FOLL_ANON\n\nThe \"FOLL_ANON optimization\" and its use_zero_page() test have caused\nconfusion and bugs: why does it test VM_SHARED? for the very good but\nunsatisfying reason that VMware crashed without.  As we look to maybe\nreinstating anonymous use of the ZERO_PAGE, we need to sort this out.\n\nEasily done: it\u0027s silly for __get_user_pages() and follow_page() to\nbe guessing whether it\u0027s safe to assume that they\u0027re being used for\na coredump (which can take a shortcut snapshot where other uses must\nhandle a fault) - just tell them with GUP_FLAGS_DUMP and FOLL_DUMP.\n\nget_dump_page() doesn\u0027t even want a ZERO_PAGE: an error suits fine.\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f3e8fccd06d27773186a0094371daf2d84c79469",
      "tree": "46e652e6ac3588a26c6d3e38ea10274eb3fc2ea8",
      "parents": [
        "1c3aff1ceec2cc86810e2690e67873ff0c505862"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Sep 21 17:03:25 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:40 2009 -0700"
      },
      "message": "mm: add get_dump_page\n\nIn preparation for the next patch, add a simple get_dump_page(addr)\ninterface for the CONFIG_ELF_CORE dumpers to use, instead of calling\nget_user_pages() directly.  They\u0027re not interested in errors: they\njust want to use holes as much as possible, to save space and make\nsure that the data is aligned where the headers said it would be.\n\nOh, and don\u0027t use that horrid DUMP_SEEK(off) macro!\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5f8dcc21211a3d4e3a7a5ca366b469fb88117f61",
      "tree": "4bbb1b55c7787462fe313c7c003e77823c032422",
      "parents": [
        "5d863b89688e5811cd9e5bd0082cb38abe03adf3"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon Sep 21 17:03:19 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:39 2009 -0700"
      },
      "message": "page-allocator: split per-cpu list into one-list-per-migrate-type\n\nThe following two patches remove searching in the page allocator fast-path\nby maintaining multiple free-lists in the per-cpu structure.  At the time\nthe search was introduced, increasing the per-cpu structures would waste a\nlot of memory as per-cpu structures were statically allocated at\ncompile-time.  This is no longer the case.\n\nThe patches are as follows. They are based on mmotm-2009-08-27.\n\nPatch 1 adds multiple lists to struct per_cpu_pages, one per\n\tmigratetype that can be stored on the PCP lists.\n\nPatch 2 notes that the pcpu drain path check empty lists multiple times. The\n\tpatch reduces the number of checks by maintaining a count of free\n\tlists encountered. Lists containing pages will then free multiple\n\tpages in batch\n\nThe patches were tested with kernbench, netperf udp/tcp, hackbench and\nsysbench.  The netperf tests were not bound to any CPU in particular and\nwere run such that the results should be 99% confidence that the reported\nresults are within 1% of the estimated mean.  sysbench was run with a\npostgres background and read-only tests.  Similar to netperf, it was run\nmultiple times so that it\u0027s 99% confidence results are within 1%.  The\npatches were tested on x86, x86-64 and ppc64 as\n\nx86:\tIntel Pentium D 3GHz with 8G RAM (no-brand machine)\n\tkernbench\t- No significant difference, variance well within noise\n\tnetperf-udp\t- 1.34% to 2.28% gain\n\tnetperf-tcp\t- 0.45% to 1.22% gain\n\thackbench\t- Small variances, very close to noise\n\tsysbench\t- Very small gains\n\nx86-64:\tAMD Phenom 9950 1.3GHz with 8G RAM (no-brand machine)\n\tkernbench\t- No significant difference, variance well within noise\n\tnetperf-udp\t- 1.83% to 10.42% gains\n\tnetperf-tcp\t- No conclusive until buffer \u003e\u003d PAGE_SIZE\n\t\t\t\t4096\t+15.83%\n\t\t\t\t8192\t+ 0.34% (not significant)\n\t\t\t\t16384\t+ 1%\n\thackbench\t- Small gains, very close to noise\n\tsysbench\t- 0.79% to 1.6% gain\n\nppc64:\tPPC970MP 2.5GHz with 10GB RAM (it\u0027s a terrasoft powerstation)\n\tkernbench\t- No significant difference, variance well within noise\n\tnetperf-udp\t- 2-3% gain for almost all buffer sizes tested\n\tnetperf-tcp\t- losses on small buffers, gains on larger buffers\n\t\t\t  possibly indicates some bad caching effect.\n\thackbench\t- No significant difference\n\tsysbench\t- 2-4% gain\n\nThis patch:\n\nCurrently the per-cpu page allocator searches the PCP list for pages of\nthe correct migrate-type to reduce the possibility of pages being\ninappropriate placed from a fragmentation perspective.  This search is\npotentially expensive in a fast-path and undesirable.  Splitting the\nper-cpu list into multiple lists increases the size of a per-cpu structure\nand this was potentially a major problem at the time the search was\nintroduced.  These problem has been mitigated as now only the necessary\nnumber of structures is allocated for the running system.\n\nThis patch replaces a list search in the per-cpu allocator with one list\nper migrate type.  The potential snag with this approach is when bulk\nfreeing pages.  We round-robin free pages based on migrate type which has\nlittle bearing on the cache hotness of the page and potentially checks\nempty lists repeatedly in the event the majority of PCP pages are of one\ntype.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "28b83c5193e7ab951e402252278f2cc79dc4d298",
      "tree": "10080e8d3957c2a03f8419ab44c9ecb0ffcdaee0",
      "parents": [
        "f168e1b6390e2d79cf57e48e6ae6d9b0a9e2851a"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Mon Sep 21 17:03:13 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:39 2009 -0700"
      },
      "message": "oom: move oom_adj value from task_struct to signal_struct\n\nCurrently, OOM logic callflow is here.\n\n    __out_of_memory()\n        select_bad_process()            for each task\n            badness()                   calculate badness of one task\n                oom_kill_process()      search child\n                    oom_kill_task()     kill target task and mm shared tasks with it\n\nexample, process-A have two thread, thread-A and thread-B and it have very\nfat memory and each thread have following oom_adj and oom_score.\n\n     thread-A: oom_adj \u003d OOM_DISABLE, oom_score \u003d 0\n     thread-B: oom_adj \u003d 0,           oom_score \u003d very-high\n\nThen, select_bad_process() select thread-B, but oom_kill_task() refuse\nkill the task because thread-A have OOM_DISABLE.  Thus __out_of_memory()\ncall select_bad_process() again.  but select_bad_process() select the same\ntask.  It mean kernel fall in livelock.\n\nThe fact is, select_bad_process() must select killable task.  otherwise\nOOM logic go into livelock.\n\nAnd root cause is, oom_adj shouldn\u0027t be per-thread value.  it should be\nper-process value because OOM-killer kill a process, not thread.  Thus\nThis patch moves oomkilladj (now more appropriately named oom_adj) from\nstruct task_struct to struct signal_struct.  it naturally prevent\nselect_bad_process() choose wrong task.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Rik van Riel \u003criel@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": "f86296317434b21585e229f6c49a33cb9ebab4d3",
      "tree": "d4fb05d4aee1a8e373ec053e7316dc9847b2c417",
      "parents": [
        "1a8670a29b5277cbe601f74ab63d2c5211fb3005"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Mon Sep 21 17:03:11 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:39 2009 -0700"
      },
      "message": "mm: do batched scans for mem_cgroup\n\nFor mem_cgroup, shrink_zone() may call shrink_list() with nr_to_scan\u003d1, in\nwhich case shrink_list() _still_ calls isolate_pages() with the much\nlarger SWAP_CLUSTER_MAX.  It effectively scales up the inactive list scan\nrate by up to 32 times.\n\nFor example, with 16k inactive pages and DEF_PRIORITY\u003d12, (16k \u003e\u003e 12)\u003d4.\nSo when shrink_zone() expects to scan 4 pages in the active/inactive list,\nthe active list will be scanned 4 pages, while the inactive list will be\n(over) scanned SWAP_CLUSTER_MAX\u003d32 pages in effect.  And that could break\nthe balance between the two lists.\n\nIt can further impact the scan of anon active list, due to the anon\nactive/inactive ratio rebalance logic in balance_pgdat()/shrink_zone():\n\ninactive anon list over scanned \u003d\u003e inactive_anon_is_low() \u003d\u003d TRUE\n                                \u003d\u003e shrink_active_list()\n                                \u003d\u003e active anon list over scanned\n\nSo the end result may be\n\n- anon inactive  \u003d\u003e over scanned\n- anon active    \u003d\u003e over scanned (maybe not as much)\n- file inactive  \u003d\u003e over scanned\n- file active    \u003d\u003e under scanned (relatively)\n\nThe accesses to nr_saved_scan are not lock protected and so not 100%\naccurate, however we can tolerate small errors and the resulted small\nimbalanced scan rates between zones.\n\nCc: Rik van Riel \u003criel@redhat.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1a8670a29b5277cbe601f74ab63d2c5211fb3005",
      "tree": "1b2ca94009c1f3d7ff05bbda3b8956631e3f38d9",
      "parents": [
        "0b21767637c3c99890a248fe47ac414e51cf5eb7"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Sep 21 17:03:09 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:38 2009 -0700"
      },
      "message": "oom: move oom_killer_enable()/oom_killer_disable to where they belong\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2c85f51d222ccdd8c401d77a36b723a89156810d",
      "tree": "fb94c6ea243504043e434f0a7d26cfd4831b33a9",
      "parents": [
        "3c1596efe167322dae87f8390d36f91ce2d7f936"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@novell.com",
        "time": "Mon Sep 21 17:03:07 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:38 2009 -0700"
      },
      "message": "mm: also use alloc_large_system_hash() for the PID hash table\n\nThis is being done by allowing boot time allocations to specify that they\nmay want a sub-page sized amount of memory.\n\nOverall this seems more consistent with the other hash table allocations,\nand allows making two supposedly mm-only variables really mm-only\n(nr_{kernel,all}_pages).\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4481374ce88ba8f460c8b89f2572027bd27057d0",
      "tree": "6896601b6a1da0e3e932ffa75fcff966c834c02c",
      "parents": [
        "4738e1b9cf8f9e28d7de080a5e6ce5d0095ea18f"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@novell.com",
        "time": "Mon Sep 21 17:03:05 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:38 2009 -0700"
      },
      "message": "mm: replace various uses of num_physpages by totalram_pages\n\nSizing of memory allocations shouldn\u0027t depend on the number of physical\npages found in a system, as that generally includes (perhaps a huge amount\nof) non-RAM pages.  The amount of what actually is usable as storage\nshould instead be used as a basis here.\n\nSome of the calculations (i.e.  those not intending to use high memory)\nshould likely even use (totalram_pages - totalhigh_pages).\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nAcked-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Dave Airlie \u003cairlied@linux.ie\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "edcf4748cd56adcdf0856cc99ef108a4ea3ac7fe",
      "tree": "317d477d08dea82f5eef2e9c17294d0f0639ea81",
      "parents": [
        "6c0b13519d1c755d874e82c8fb8a6dcef0ee402c"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Mon Sep 21 17:02:59 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:38 2009 -0700"
      },
      "message": "mm: return boolean from page_has_private()\n\nMake page_has_private() return a true boolean value and remove the double\nnegations from the two callsites using it for arithmetic.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6c0b13519d1c755d874e82c8fb8a6dcef0ee402c",
      "tree": "0fe6e6902a488ad6c59ecee971fe64c81edbcce3",
      "parents": [
        "401a8e1c1670085b8177330ca47d4f7c4ac88761"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Mon Sep 21 17:02:59 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:37 2009 -0700"
      },
      "message": "mm: return boolean from page_is_file_cache()\n\npage_is_file_cache() has been used for both boolean checks and LRU\narithmetic, which was always a bit weird.\n\nNow that page_lru_base_type() exists for LRU arithmetic, make\npage_is_file_cache() a real predicate function and adjust the\nboolean-using callsites to drop those pesky double negations.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "401a8e1c1670085b8177330ca47d4f7c4ac88761",
      "tree": "5883daaed42fa2a186e5769bab1c10535dc39a41",
      "parents": [
        "b7c46d151cb82856a429709d1227ba1648028232"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Mon Sep 21 17:02:58 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:35 2009 -0700"
      },
      "message": "mm: introduce page_lru_base_type()\n\nInstead of abusing page_is_file_cache() for LRU list index arithmetic, add\nanother helper with a more appropriate name and convert the non-boolean\nusers of page_is_file_cache() accordingly.\n\nThis new helper gives the LRU base type a page is supposed to live on,\ninactive anon or inactive file.\n\n[hugh.dickins@tiscali.co.uk: convert del_page_from_lru() also]\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bba78819548a59a52e60f0b259997bbd011164ae",
      "tree": "1d788069848ba86906269d8eb8b1b13119260e5a",
      "parents": [
        "bbba809e96539672f775a3d70102657d05816a5b"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Sep 21 17:02:56 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:35 2009 -0700"
      },
      "message": "mm: remove broken \u0027kzalloc\u0027 mempool\n\nThe kzalloc mempool zeros items when they are initially allocated, but\ndoes not rezero used items that are returned to the pool.  Consequently\nmempool_alloc()s may return non-zeroed memory.\n\nSince there are/were only two in-tree users for\nmempool_create_kzalloc_pool(), and \u0027fixing\u0027 this in a way that will\nre-zero used (but not new) items before first use is non-trivial, just\nremove it.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "38a398572fa2d8124f7479e40db581b5b72719c9",
      "tree": "cad43f1cb00b760507278cc7b55f8e7fa4ab4fab",
      "parents": [
        "cc013a88906bad9d2832d6316de1c7dbc1c2a794"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon Sep 21 17:02:39 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:34 2009 -0700"
      },
      "message": "page-allocator: remove dead function free_cold_page()\n\nThe function free_cold_page() has no callers so delete it.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "35451beecbd7c86ce3249d543594517a5fe9a0cd",
      "tree": "e72759e6e6fcd142ab85c607a9b3dd3e1c016eed",
      "parents": [
        "a913e182ab9484308e870af37a14d372742d53b0"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Sep 21 17:02:27 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:33 2009 -0700"
      },
      "message": "ksm: unmerge is an origin of OOMs\n\nJust as the swapoff system call allocates many pages of RAM to various\nprocesses, perhaps triggering OOM, so \"echo 2 \u003e/sys/kernel/mm/ksm/run\"\n(unmerge) is liable to allocate many pages of RAM to various processes,\nperhaps triggering OOM; and each is normally run from a modest admin\nprocess (swapoff or shell), easily repeated until it succeeds.\n\nSo treat unmerge_and_remove_all_rmap_items() in the same way that we treat\ntry_to_unuse(): generalize PF_SWAPOFF to PF_OOM_ORIGIN, and bracket both\nwith that, to ask the OOM killer to kill them first, to prevent them from\nspawning more and more OOM kills.\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nAcked-by: Izik Eidus \u003cieidus@redhat.com\u003e\nCc: Andrea Arcangeli \u003caarcange@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": "a913e182ab9484308e870af37a14d372742d53b0",
      "tree": "0fca5598aeba4c53999ec46b6b82b46f9a981965",
      "parents": [
        "8314c4f24a0a5c9b1f7544e9fa83a1d5367ddaa7"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Sep 21 17:02:26 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:33 2009 -0700"
      },
      "message": "ksm: clean up obsolete references\n\nA few cleanups, given the munlock fix: the comment on ksm_test_exit() no\nlonger applies, and it can be made private to ksm.c; there\u0027s no more\nreference to mmu_gather or tlb.h, and mmap.c doesn\u0027t need ksm.h.\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nAcked-by: Izik Eidus \u003cieidus@redhat.com\u003e\nCc: Andrea Arcangeli \u003caarcange@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": "1c2fb7a4c2ca7a958b02bc1e615d0254990bba8d",
      "tree": "489a97bd453b8002f2234f7e736548103315fa38",
      "parents": [
        "9ba6929480088a85c1ff60a4b1f1c9fc80dbd2b7"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "aarcange@redhat.com",
        "time": "Mon Sep 21 17:02:22 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:32 2009 -0700"
      },
      "message": "ksm: fix deadlock with munlock in exit_mmap\n\nRawhide users have reported hang at startup when cryptsetup is run: the\nsame problem can be simply reproduced by running a program int main() {\nmlockall(MCL_CURRENT | MCL_FUTURE); return 0; }\n\nThe problem is that exit_mmap() applies munlock_vma_pages_all() to\nclean up VM_LOCKED areas, and its current implementation (stupidly)\ntries to fault in absent pages, for example where PROT_NONE prevented\nthem being faulted in when mlocking.  Whereas the \"ksm: fix oom\ndeadlock\" patch, knowing there\u0027s a race by which KSM might try to fault\nin pages after exit_mmap() had finally zapped the range, backs out of\nsuch faults doing nothing when its ksm_test_exit() notices mm_users 0.\n\nSo revert that part of \"ksm: fix oom deadlock\" which moved the\nksm_exit() call from before exit_mmap() to the middle of exit_mmap();\nand remove those ksm_test_exit() checks from the page fault paths, so\nallowing the munlocking to proceed without interference.\n\nksm_exit, if there are rmap_items still chained on this mm slot, takes\nmmap_sem write side: so preventing KSM from working on an mm while\nexit_mmap runs.  And KSM will bail out as soon as it notices that\nmm_users is already zero, thanks to its internal ksm_test_exit checks.\nSo that when a task is killed by OOM killer or the user, KSM will not\nindefinitely prevent it from running exit_mmap to release its memory.\n\nThis does break a part of what \"ksm: fix oom deadlock\" was trying to\nachieve.  When unmerging KSM (echo 2 \u003e/sys/kernel/mm/ksm), and even\nwhen ksmd itself has to cancel a KSM page, it is possible that the\nfirst OOM-kill victim would be the KSM process being faulted: then its\nmemory won\u0027t be freed until a second victim has been selected (freeing\nmemory for the unmerging fault to complete).\n\nBut the OOM killer is already liable to kill a second victim once the\nintended victim\u0027s p-\u003emm goes to NULL: so there\u0027s not much point in\nrejecting this KSM patch before fixing that OOM behaviour.  It is very\nmuch more important to allow KSM users to boot up, than to haggle over\nan unlikely and poorly supported OOM case.\n\nWe also intend to fix munlocking to not fault pages: at which point\nthis patch _could_ be reverted; though that would be controversial, so\nwe hope to find a better solution.\n\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nAcked-by: Justin M. Forbes \u003cjforbes@redhat.com\u003e\nAcked-for-now-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Izik Eidus \u003cieidus@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": "9ba6929480088a85c1ff60a4b1f1c9fc80dbd2b7",
      "tree": "39aab8cdffae598b55e35c578f70820712286ab4",
      "parents": [
        "cd551f97519d35855be5a8720a47cc802ee4fd06"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Sep 21 17:02:20 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:32 2009 -0700"
      },
      "message": "ksm: fix oom deadlock\n\nThere\u0027s a now-obvious deadlock in KSM\u0027s out-of-memory handling:\nimagine ksmd or KSM_RUN_UNMERGE handling, holding ksm_thread_mutex,\ntrying to allocate a page to break KSM in an mm which becomes the\nOOM victim (quite likely in the unmerge case): it\u0027s killed and goes\nto exit, and hangs there waiting to acquire ksm_thread_mutex.\n\nClearly we must not require ksm_thread_mutex in __ksm_exit, simple\nthough that made everything else: perhaps use mmap_sem somehow?\nAnd part of the answer lies in the comments on unmerge_ksm_pages:\n__ksm_exit should also leave all the rmap_item removal to ksmd.\n\nBut there\u0027s a fundamental problem, that KSM relies upon mmap_sem to\nguarantee the consistency of the mm it\u0027s dealing with, yet exit_mmap\ntears down an mm without taking mmap_sem.  And bumping mm_users won\u0027t\nhelp at all, that just ensures that the pages the OOM killer assumes\nare on their way to being freed will not be freed.\n\nThe best answer seems to be, to move the ksm_exit callout from just\nbefore exit_mmap, to the middle of exit_mmap: after the mm\u0027s pages\nhave been freed (if the mmu_gather is flushed), but before its page\ntables and vma structures have been freed; and down_write,up_write\nmmap_sem there to serialize with KSM\u0027s own reliance on mmap_sem.\n\nBut KSM then needs to be careful, whenever it downs mmap_sem, to\ncheck that the mm is not already exiting: there\u0027s a danger of using\nfind_vma on a layout that\u0027s being torn apart, or writing into page\ntables which have been freed for reuse; and even do_anonymous_page\nand __do_fault need to check they\u0027re not being called by break_ksm\nto reinstate a pte after zap_pte_range has zapped that page table.\n\nThough it might be clearer to add an exiting flag, set while holding\nmmap_sem in __ksm_exit, that wouldn\u0027t cover the issue of reinstating\na zapped pte.  All we need is to check whether mm_users is 0 - but\nmust remember that ksmd may detect that before __ksm_exit is reached.\nSo, ksm_test_exit(mm) added to comment such checks on mm-\u003emm_users.\n\n__ksm_exit now has to leave clearing up the rmap_items to ksmd,\nthat needs ksm_thread_mutex; but shift the exiting mm just after the\nksm_scan cursor so that it will soon be dealt with.  __ksm_enter raise\nmm_count to hold the mm_struct, ksmd\u0027s exit processing (exactly like\nits processing when it finds all VM_MERGEABLEs unmapped) mmdrop it,\nsimilar procedure for KSM_RUN_UNMERGE (which has stopped ksmd).\n\nBut also give __ksm_exit a fast path: when there\u0027s no complication\n(no rmap_items attached to mm and it\u0027s not at the ksm_scan cursor),\nit can safely do all the exiting work itself.  This is not just an\noptimization: when ksmd is not running, the raised mm_count would\notherwise leak mm_structs.\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nAcked-by: Izik Eidus \u003cieidus@redhat.com\u003e\nCc: Andrea Arcangeli \u003caarcange@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": "9a840895147b12de5cdd633c600b38686840ee53",
      "tree": "a266a69a39decb4ec0364ac331f0ab19b6f09f06",
      "parents": [
        "21333b2b66b805a360641568588e5a0bb06d9d1f"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Sep 21 17:02:01 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:31 2009 -0700"
      },
      "message": "ksm: identify PageKsm pages\n\nKSM will need to identify its kernel merged pages unambiguously, and\n/proc/kpageflags will probably like to do so too.\n\nSince KSM will only be substituting anonymous pages, statistics are best\npreserved by making a PageKsm page a special PageAnon page: one with no\nanon_vma.\n\nBut KSM then needs its own page_add_ksm_rmap() - keep it in ksm.h near\nPageKsm; and do_wp_page() must COW them, unlike singly mapped PageAnons.\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nSigned-off-by: Chris Wright \u003cchrisw@redhat.com\u003e\nSigned-off-by: Izik Eidus \u003cieidus@redhat.com\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Avi Kivity \u003cavi@redhat.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "21333b2b66b805a360641568588e5a0bb06d9d1f",
      "tree": "c0ce4d31e31ae2d2b1ef975b00c0611a3099c7a3",
      "parents": [
        "f8af4da3b4c14e7267c4ffb952079af3912c51c5"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Sep 21 17:01:59 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:31 2009 -0700"
      },
      "message": "ksm: no debug in page_dup_rmap()\n\npage_dup_rmap(), used on each mapped page when forking, was originally\njust an inline atomic_inc of mapcount.  2.6.22 added CONFIG_DEBUG_VM\nout-of-line checks to it, which would need to be ever-so-slightly\ncomplicated to allow for the PageKsm() we\u0027re about to define.\n\nBut I think these checks never caught anything.  And if it\u0027s coding errors\nwe\u0027re worried about, such checks should be in page_remove_rmap() too, not\njust when forking; whereas if it\u0027s pagetable corruption we\u0027re worried\nabout, then they shouldn\u0027t be limited to CONFIG_DEBUG_VM.\n\nOh, just revert page_dup_rmap() to an inline atomic_inc of mapcount.\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nSigned-off-by: Chris Wright \u003cchrisw@redhat.com\u003e\nSigned-off-by: Izik Eidus \u003cieidus@redhat.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Avi Kivity \u003cavi@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": "f8af4da3b4c14e7267c4ffb952079af3912c51c5",
      "tree": "17b0cfbd2d3d9abf9008f69e7fee5369cec7afa5",
      "parents": [
        "d19f352484467a5e518639ddff0554669c10ffab"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Sep 21 17:01:57 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:31 2009 -0700"
      },
      "message": "ksm: the mm interface to ksm\n\nThis patch presents the mm interface to a dummy version of ksm.c, for\nbetter scrutiny of that interface: the real ksm.c follows later.\n\nWhen CONFIG_KSM is not set, madvise(2) reject MADV_MERGEABLE and\nMADV_UNMERGEABLE with EINVAL, since that seems more helpful than\npretending that they can be serviced.  But when CONFIG_KSM\u003dy, accept them\neven if KSM is not currently running, and even on areas which KSM will not\ntouch (e.g.  hugetlb or shared file or special driver mappings).\n\nLike other madvices, report ENOMEM despite success if any area in the\nrange is unmapped, and use EAGAIN to report out of memory.\n\nDefine vma flag VM_MERGEABLE to identify an area on which KSM may try\nmerging pages: leave it to ksm_madvise() to decide whether to set it.\nDefine mm flag MMF_VM_MERGEABLE to identify an mm which might contain\nVM_MERGEABLE areas, to minimize callouts when forking or exiting.\n\nBased upon earlier patches by Chris Wright and Izik Eidus.\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nSigned-off-by: Chris Wright \u003cchrisw@redhat.com\u003e\nSigned-off-by: Izik Eidus \u003cieidus@redhat.com\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@gmail.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Avi Kivity \u003cavi@redhat.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "828502d30073036a486d96b1fe051e0f08b6df83",
      "tree": "61b728cbeb88c1a2c522307dff6264e8d0b1d8f1",
      "parents": [
        "451ea25da71590361c71bf3044c55b870a887d53"
      ],
      "author": {
        "name": "Izik Eidus",
        "email": "ieidus@redhat.com",
        "time": "Mon Sep 21 17:01:51 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:31 2009 -0700"
      },
      "message": "ksm: add mmu_notifier set_pte_at_notify()\n\nKSM is a linux driver that allows dynamicly sharing identical memory pages\nbetween one or more processes.\n\nUnlike tradtional page sharing that is made at the allocation of the\nmemory, ksm do it dynamicly after the memory was created.  Memory is\nperiodically scanned; identical pages are identified and merged.\n\nThe sharing is made in a transparent way to the processes that use it.\n\nKsm is highly important for hypervisors (kvm), where in production\nenviorments there might be many copys of the same data data among the host\nmemory.  This kind of data can be: similar kernels, librarys, cache, and\nso on.\n\nEven that ksm was wrote for kvm, any userspace application that want to\nuse it to share its data can try it.\n\nKsm may be useful for any application that might have similar (page\naligment) data strctures among the memory, ksm will find this data merge\nit to one copy, and even if it will be changed and thereforew copy on\nwrited, ksm will merge it again as soon as it will be identical again.\n\nAnother reason to consider using ksm is the fact that it might simplify\nalot the userspace code of application that want to use shared private\ndata, instead that the application will mange shared area, ksm will do\nthis for the application, and even write to this data will be allowed\nwithout any synchinization acts from the application.\n\nKsm was designed to be a loadable module that doesn\u0027t change the VM code\nof linux.\n\nThis patch:\n\nThe set_pte_at_notify() macro allows setting a pte in the shadow page\ntable directly, instead of flushing the shadow page table entry and then\ngetting vmexit to set it.  It uses a new change_pte() callback to do so.\n\nset_pte_at_notify() is an optimization for kvm, and other users of\nmmu_notifiers, for COW pages.  It is useful for kvm when ksm is used,\nbecause it allows kvm not to have to receive vmexit and only then map the\nksm page into the shadow page table, but instead map it directly at the\nsame time as Linux maps the page into the host page table.\n\nUsers of mmu_notifiers who don\u0027t implement new mmu_notifier_change_pte()\ncallback will just receive the mmu_notifier_invalidate_page() callback.\n\nSigned-off-by: Izik Eidus \u003cieidus@redhat.com\u003e\nSigned-off-by: Chris Wright \u003cchrisw@redhat.com\u003e\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Avi Kivity \u003cavi@redhat.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "451ea25da71590361c71bf3044c55b870a887d53",
      "tree": "e2e9de6e7c1fb4f79c0413a3c4d401ec9263b722",
      "parents": [
        "bf88c8c83e4425d17e29daa5354ffb1f8ba7b225"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Mon Sep 21 17:01:48 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:30 2009 -0700"
      },
      "message": "mm: perform non-atomic test-clear of PG_mlocked on free\n\nBy the time PG_mlocked is cleared in the page freeing path, nobody else is\nlooking at our page-\u003eflags anymore.\n\nIt is thus safe to make the test-and-clear non-atomic and thereby removing\nan unnecessary and expensive operation from a hotpath.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "adea02a1bea71a508da32c04d715485a1fe62029",
      "tree": "c78742bbab36bf3b8d20f84b4dc6dc6585bb7cb4",
      "parents": [
        "55c37a840d9ec0ebed5c944355156d490b1ad5d1"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Mon Sep 21 17:01:42 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:30 2009 -0700"
      },
      "message": "mm: count only reclaimable lru pages\n\nglobal_lru_pages() / zone_lru_pages() can be used in two ways:\n- to estimate max reclaimable pages in determine_dirtyable_memory()\n- to calculate the slab scan ratio\n\nWhen swap is full or not present, the anon lru lists are not reclaimable\nand also won\u0027t be scanned.  So the anon pages shall not be counted in both\nusage scenarios.  Also rename to _reclaimable_pages: now they are counting\nthe possibly reclaimable lru pages.\n\nIt can greatly (and correctly) increase the slab scan rate under high\nmemory pressure (when most file pages have been reclaimed and swap is\nfull/absent), thus reduce false OOM kills.\n\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nAcked-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nReviewed-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: \"Li, Ming Chun\" \u003cmacli@brc.ubc.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5a2ae913f5229d6e1d4a666f0477350789d5128e",
      "tree": "bb56d86baa5d491cfd780bb38c40ab2d22395b2d",
      "parents": [
        "35cd78156c499ef83f60605e4643d5a98fef14fd"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Mon Sep 21 17:01:39 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:30 2009 -0700"
      },
      "message": "mm: remove __{add,sub}_zone_page_state()\n\n__add_zone_page_state() and __sub_zone_page_state() are unused.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a731286de62294b63d8ceb3c5914ac52cc17e690",
      "tree": "c321e14500ec264e37fd103ffa71c7b133088010",
      "parents": [
        "b35ea17b7bbf5dea35faa0de11030acc620c3197"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Mon Sep 21 17:01:37 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:29 2009 -0700"
      },
      "message": "mm: vmstat: add isolate pages\n\nIf the system is running a heavy load of processes then concurrent reclaim\ncan isolate a large number of pages from the LRU. /proc/vmstat and the\noutput generated for an OOM do not show how many pages were isolated.\n\nThis has been observed during process fork bomb testing (mstctl11 in LTP).\n\nThis patch shows the information about isolated pages.\n\nReproduced via:\n\n-----------------------\n% ./hackbench 140 process 1000\n   \u003d\u003e OOM occur\n\nactive_anon:146 inactive_anon:0 isolated_anon:49245\n active_file:79 inactive_file:18 isolated_file:113\n unevictable:0 dirty:0 writeback:0 unstable:0 buffer:39\n free:370 slab_reclaimable:309 slab_unreclaimable:5492\n mapped:53 shmem:15 pagetables:28140 bounce:0\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.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": "4b02108ac1b3354a22b0d83c684797692efdc395",
      "tree": "9f65d6e8e35ddce940e7b9da6305cf5a19e5904e",
      "parents": [
        "c6a7f5728a1db45d30df55a01adc130b4ab0327c"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Mon Sep 21 17:01:33 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:27 2009 -0700"
      },
      "message": "mm: oom analysis: add shmem vmstat\n\nRecently we encountered OOM problems due to memory use of the GEM cache.\nGenerally a large amuont of Shmem/Tmpfs pages tend to create a memory\nshortage problem.\n\nWe often use the following calculation to determine the amount of shmem\npages:\n\nshmem \u003d NR_ACTIVE_ANON + NR_INACTIVE_ANON - NR_ANON_PAGES\n\nhowever the expression does not consider isolated and mlocked pages.\n\nThis patch adds explicit accounting for pages used by shmem and tmpfs.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nAcked-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.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": "c6a7f5728a1db45d30df55a01adc130b4ab0327c",
      "tree": "36649bc6ebb959841a5097c699968722cfd99c4d",
      "parents": [
        "71de1ccbe1fb40203edd3beb473f8580d917d2ca"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Mon Sep 21 17:01:32 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:27 2009 -0700"
      },
      "message": "mm: oom analysis: Show kernel stack usage in /proc/meminfo and OOM log output\n\nThe amount of memory allocated to kernel stacks can become significant and\ncause OOM conditions.  However, we do not display the amount of memory\nconsumed by stacks.\n\nAdd code to display the amount of memory used for stacks in /proc/meminfo.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: David Rientjes \u003crientjes@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": "e8c5c8249878fb6564125680a1d15e06adbd5639",
      "tree": "66a69c11ea0f27e45c747e6f7236da80d9788cc1",
      "parents": [
        "55a4462af5722d2814858bc51ee8d58ca29544ab"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Mon Sep 21 17:01:22 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:26 2009 -0700"
      },
      "message": "hugetlb: balance freeing of huge pages across nodes\n\nFree huges pages from nodes in round robin fashion in an attempt to keep\n[persistent a.k.a static] hugepages balanced across nodes\n\nNew function free_pool_huge_page() is modeled on and performs roughly the\ninverse of alloc_fresh_huge_page().  Replaces dequeue_huge_page() which\nnow has no callers, so this patch removes it.\n\nHelper function hstate_next_node_to_free() uses new hstate member\nnext_to_free_nid to distribute \"frees\" across all nodes with huge pages.\n\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nCc: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: Andy Whitcroft \u003capw@canonical.com\u003e\nCc: Eric Whitney \u003ceric.whitney@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "112067f0905b2de862c607ee62411cf47d2fe5c4",
      "tree": "55575b100292b764f945e4d9395989e8a734f883",
      "parents": [
        "478b81fd84a299adb401dbbae296f3767e552999"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Mon Sep 21 17:01:16 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:25 2009 -0700"
      },
      "message": "memory hotplug: update zone pcp at memory online\n\nIn my test, 128M memory is hot added, but zone\u0027s pcp batch is 0, which is\nan obvious error.  When pages are onlined, zone pcp should be updated\naccordingly.\n\n[akpm@linux-foundation.org: fix warnings]\nSigned-off-by: Shaohua Li \u003cshaohua.li@intel.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Yakui Zhao \u003cyakui.zhao@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a5abeeacc44bbef2935a7a8e939264c28962def2",
      "tree": "f4506e548c4a7991fcceef8edfd65e3a6911507f",
      "parents": [
        "83d5cde47dedf01b6a4a4331882cbc0a7eea3c2e"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Mon Sep 21 17:01:13 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:25 2009 -0700"
      },
      "message": "mm: make swap token dummies static inlines\n\nMake use of the compiler\u0027s typechecking on !CONFIG_SWAP as well.\n\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.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": "83d5cde47dedf01b6a4a4331882cbc0a7eea3c2e",
      "tree": "f8ba5e263717d35cd444fcc65898d2ed352af1ae",
      "parents": [
        "7b021967c5e1463936042c8da72b550d3cabe9ac"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Sep 21 17:01:13 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:25 2009 -0700"
      },
      "message": "const: make block_device_operations const\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7b021967c5e1463936042c8da72b550d3cabe9ac",
      "tree": "efb5c26216851a93b3db3fba55858af04c8a15c5",
      "parents": [
        "6aed62853c72e29f2c97bbac7712cb398e8c9437"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Sep 21 17:01:12 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:25 2009 -0700"
      },
      "message": "const: make lock_manager_operations const\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6aed62853c72e29f2c97bbac7712cb398e8c9437",
      "tree": "4362cfa98b6b588f84fb2241115b7ef5b5dfce55",
      "parents": [
        "6e1d5dcc2bbbe71dbf010c747e15739bef6b7218"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Sep 21 17:01:11 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:25 2009 -0700"
      },
      "message": "const: make file_lock_operations const\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0d54b217a247f39605361f867fefbb9e099a5432",
      "tree": "5af6a2cc4cbc6c327e735ac5edb642d47a1f0013",
      "parents": [
        "61e225dc341107be304fd1088146c2a5e88ff9e0"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Sep 21 17:01:09 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:24 2009 -0700"
      },
      "message": "const: make struct super_block::s_qcop const\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "61e225dc341107be304fd1088146c2a5e88ff9e0",
      "tree": "e6d3e1dc5506e232497f17721175a081a5306b5b",
      "parents": [
        "00d3803b656a5f0935518d746f6bb27d5181d29d"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Sep 21 17:01:08 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:24 2009 -0700"
      },
      "message": "const: make struct super_block::dq_op const\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "43c1266ce4dc06bfd236cec31e11e9ecd69c0bef",
      "tree": "40a86739ca4c36200f447f655b01c57cfe646e26",
      "parents": [
        "b8c7f1dc5ca4e0d10709182233cdab932cef593d",
        "57c0c15b5244320065374ad2c54f4fbec77a6428"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 21 09:15:07 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 21 09:15:07 2009 -0700"
      },
      "message": "Merge branch \u0027perfcounters-rename-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perfcounters-rename-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf: Tidy up after the big rename\n  perf: Do the big rename: Performance Counters -\u003e Performance Events\n  perf_counter: Rename \u0027event\u0027 to event_id/hw_event\n  perf_counter: Rename list_entry -\u003e group_entry, counter_list -\u003e group_list\n\nManually resolved some fairly trivial conflicts with the tracing tree in\ninclude/trace/ftrace.h and kernel/trace/trace_syscalls.c.\n"
    },
    {
      "commit": "b8c7f1dc5ca4e0d10709182233cdab932cef593d",
      "tree": "28c5f79d61ce7167511f18eaed5c9fca87c68ab4",
      "parents": [
        "f4eccb6d979e0cc5a719a50af5f9a56e79092a2d",
        "a71fca58b7f4abca551ae2256ac08dd9123a03f9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 21 09:06:52 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 21 09:06:52 2009 -0700"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  rcu: Fix whitespace inconsistencies\n  rcu: Fix thinko, actually initialize full tree\n  rcu: Apply results of code inspection of kernel/rcutree_plugin.h\n  rcu: Add WARN_ON_ONCE() consistency checks covering state transitions\n  rcu: Fix synchronize_rcu() for TREE_PREEMPT_RCU\n  rcu: Simplify rcu_read_unlock_special() quiescent-state accounting\n  rcu: Add debug checks to TREE_PREEMPT_RCU for premature grace periods\n  rcu: Kconfig help needs to say that TREE_PREEMPT_RCU scales down\n  rcutorture: Occasionally delay readers enough to make RCU force_quiescent_state\n  rcu: Initialize multi-level RCU grace periods holding locks\n  rcu: Need to update rnp-\u003egpnum if preemptable RCU is to be reliable\n"
    },
    {
      "commit": "f4eccb6d979e0cc5a719a50af5f9a56e79092a2d",
      "tree": "00b3ca17251430ce1336d813cf76e95ccdd55099",
      "parents": [
        "8e4bc3dd2ca07d77882eba73cea240aba95a1854",
        "cd74c86bdf705f824d494a2bbda393d1d562b40a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 21 09:06:31 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 21 09:06:31 2009 -0700"
      },
      "message": "Merge branch \u0027perfcounters-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perfcounters-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf_counter, powerpc, sparc: Fix compilation after perf_counter_overflow() change\n  perf_counter: x86: Fix PMU resource leak\n  perf util: SVG performance improvements\n  perf util: Make the timechart SVG width dynamic\n  perf timechart: Show the duration of scheduler delays in the SVG\n  perf timechart: Show the name of the waker/wakee in timechart\n"
    },
    {
      "commit": "8e4bc3dd2ca07d77882eba73cea240aba95a1854",
      "tree": "da105cd2c4f51c78c401c00d8b399572914694ed",
      "parents": [
        "bd4c3a3441144cd46d1f544046523724c5bc6e94",
        "0d721ceadbeaa24d7f9dd41b3e5e29912327a7e1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 21 09:06:17 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 21 09:06:17 2009 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: Simplify sys_sched_rr_get_interval() system call\n  sched: Fix potential NULL derference of doms_cur\n  sched: Fix raciness in runqueue_is_locked()\n  sched: Re-add lost cpu_allowed check to sched_fair.c::select_task_rq_fair()\n  sched: Remove unneeded indentation in sched_fair.c::place_entity()\n"
    },
    {
      "commit": "bd4c3a3441144cd46d1f544046523724c5bc6e94",
      "tree": "8b5c67249a7a163caf3f88cbcb9df5236fcc3b93",
      "parents": [
        "b3727c24da69971503a4ca98b3b877753c6a4393",
        "583a22e7c154dc0a3938db522696b4bc7f098f59"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 21 09:05:47 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 21 09:05:47 2009 -0700"
      },
      "message": "Merge branch \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  kernel/profile.c: Switch /proc/irq/prof_cpu_mask to seq_file\n  tracing: Export trace_profile_buf symbols\n  tracing/events: use list_for_entry_continue\n  tracing: remove max_tracer_type_len\n  function-graph: use ftrace_graph_funcs directly\n  tracing: Remove markers\n  tracing: Allocate the ftrace event profile buffer dynamically\n  tracing: Factorize the events profile accounting\n"
    },
    {
      "commit": "c720f5655df159a630fa0290a0bd67c93e92b0bf",
      "tree": "940d139d0ec1ff5201efddef6cc663166a8a2df3",
      "parents": [
        "33e6c1a0de818d3698cdab27c42915661011319d",
        "84d6ae431f315e8973aac3c3fe1d550fc9240ef3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 21 09:03:10 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 21 09:03:10 2009 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (222 commits)\n  V4L/DVB (13033): pt1: Don\u0027t use a deprecated DMA_BIT_MASK macro\n  V4L/DVB (13029): radio-si4713: remove #include \u003clinux/version.h\u003e\n  V4L/DVB (13027): go7007: convert printks to v4l2_info\n  V4L/DVB (13026): s2250-board: Implement brightness and contrast controls\n  V4L/DVB (13025): s2250-board: Fix memory leaks\n  V4L/DVB (13024): go7007: Implement vidioc_g_std and vidioc_querystd\n  V4L/DVB (13023): go7007: Merge struct gofh and go declarations\n  V4L/DVB (13022): go7007: Fix mpeg controls\n  V4L/DVB (13021): go7007: Fix whitespace and line lengths\n  V4L/DVB (13020): go7007: Updates to Kconfig and Makefile\n  V4L/DVB (13019): video: initial support for ADV7180\n  V4L/DVB (13018): kzalloc failure ignored in au8522_probe()\n  V4L/DVB (13017): gspca: kmalloc failure ignored in sd_start()\n  V4L/DVB (13016): kmalloc failure ignored in lgdt3304_attach() and s921_attach()\n  V4L/DVB (13015): kmalloc failure ignored in m920x_firmware_download()\n  V4L/DVB (13014): Add support for Compro VideoMate E800 (DVB-T part only)\n  V4L/DVB (13013): FM TX: si4713: Kconfig: Fixed two typos.\n  V4L/DVB (13012): uvc: introduce missing kfree\n  V4L/DVB (13011): Change tuner type of BeholdTV cards\n  V4L/DVB (13009): gspca - stv06xx-hdcs: Reduce exposure range\n  ...\n"
    },
    {
      "commit": "57c0c15b5244320065374ad2c54f4fbec77a6428",
      "tree": "35369d817f5925aca09b083bba47c437b91386d9",
      "parents": [
        "cdd6c482c9ff9c55475ee7392ec8f672eddb7be6"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Sep 21 12:20:38 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Sep 21 14:34:11 2009 +0200"
      },
      "message": "perf: Tidy up after the big rename\n\n - provide compatibility Kconfig entry for existing PERF_COUNTERS .config\u0027s\n\n - provide courtesy copy of old perf_counter.h, for user-space projects\n\n - small indentation fixups\n\n - fix up MAINTAINERS\n\n - fix small x86 printout fallout\n\n - fix up small PowerPC comment fallout (use \u0027counter\u0027 as in register)\n\nReviewed-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cdd6c482c9ff9c55475ee7392ec8f672eddb7be6",
      "tree": "81f98a3ab46c589792057fe2392c1e10f8ad7893",
      "parents": [
        "dfc65094d0313cc48969fa60bcf33d693aeb05a7"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Sep 21 12:02:48 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Sep 21 14:28:04 2009 +0200"
      },
      "message": "perf: Do the big rename: Performance Counters -\u003e Performance Events\n\nBye-bye Performance Counters, welcome Performance Events!\n\nIn the past few months the perfcounters subsystem has grown out its\ninitial role of counting hardware events, and has become (and is\nbecoming) a much broader generic event enumeration, reporting, logging,\nmonitoring, analysis facility.\n\nNaming its core object \u0027perf_counter\u0027 and naming the subsystem\n\u0027perfcounters\u0027 has become more and more of a misnomer. With pending\ncode like hw-breakpoints support the \u0027counter\u0027 name is less and\nless appropriate.\n\nAll in one, we\u0027ve decided to rename the subsystem to \u0027performance\nevents\u0027 and to propagate this rename through all fields, variables\nand API names. (in an ABI compatible fashion)\n\nThe word \u0027event\u0027 is also a bit shorter than \u0027counter\u0027 - which makes\nit slightly more convenient to write/handle as well.\n\nThanks goes to Stephane Eranian who first observed this misnomer and\nsuggested a rename.\n\nUser-space tooling and ABI compatibility is not affected - this patch\nshould be function-invariant. (Also, defconfigs were not touched to\nkeep the size down.)\n\nThis patch has been generated via the following script:\n\n  FILES\u003d$(find * -type f | grep -vE \u0027oprofile|[^K]config\u0027)\n\n  sed -i \\\n    -e \u0027s/PERF_EVENT_/PERF_RECORD_/g\u0027 \\\n    -e \u0027s/PERF_COUNTER/PERF_EVENT/g\u0027 \\\n    -e \u0027s/perf_counter/perf_event/g\u0027 \\\n    -e \u0027s/nb_counters/nb_events/g\u0027 \\\n    -e \u0027s/swcounter/swevent/g\u0027 \\\n    -e \u0027s/tpcounter_event/tp_event/g\u0027 \\\n    $FILES\n\n  for N in $(find . -name perf_counter.[ch]); do\n    M\u003d$(echo $N | sed \u0027s/perf_counter/perf_event/g\u0027)\n    mv $N $M\n  done\n\n  FILES\u003d$(find . -name perf_event.*)\n\n  sed -i \\\n    -e \u0027s/COUNTER_MASK/REG_MASK/g\u0027 \\\n    -e \u0027s/COUNTER/EVENT/g\u0027 \\\n    -e \u0027s/\\\u003cevent\\\u003e/event_id/g\u0027 \\\n    -e \u0027s/counter/event/g\u0027 \\\n    -e \u0027s/Counter/Event/g\u0027 \\\n    $FILES\n\n... to keep it as correct as possible. This script can also be\nused by anyone who has pending perfcounters patches - it converts\na Linux kernel tree over to the new naming. We tried to time this\nchange to the point in time where the amount of pending patches\nis the smallest: the end of the merge window.\n\nNamespace clashes were fixed up in a preparatory patch - and some\nstylistic fallout will be fixed up in a subsequent patch.\n\n( NOTE: \u0027counters\u0027 are still the proper terminology when we deal\n  with hardware registers - and these sed scripts are a bit\n  over-eager in renaming them. I\u0027ve undone some of that, but\n  in case there\u0027s something left where \u0027counter\u0027 would be\n  better than \u0027event\u0027 we can undo that on an individual basis\n  instead of touching an otherwise nicely automated patch. )\n\nSuggested-by: Stephane Eranian \u003ceranian@google.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nReviewed-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "65abc8653c282ded3dbdb9ec1227784140ba28cd",
      "tree": "299d9dc0e3548016cc01eb2b13db6ea51d519ebb",
      "parents": [
        "ae82bfd61ca7e57cc2d914add9ab0873e260f2f5"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Sep 21 10:18:27 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Sep 21 12:54:51 2009 +0200"
      },
      "message": "perf_counter: Rename list_entry -\u003e group_entry, counter_list -\u003e group_list\n\nThis is in preparation of the big rename, but also makes sense\nin a standalone way: \u0027list_entry\u0027 is a bad name as we already\nhave a list_entry() in list.h.\n\nAlso, the \u0027counter list\u0027 is too vague, it doesnt tell us the\npurpose of that list.\n\nClarify these names to show that it\u0027s all about the group\nhiearchy.\n\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ae82bfd61ca7e57cc2d914add9ab0873e260f2f5",
      "tree": "a7f862ad8b0ae4f2e8953e6aa613eb702b484ecf",
      "parents": [
        "cd74c86bdf705f824d494a2bbda393d1d562b40a",
        "ebc79c4f8da0f92efa968e0328f32334a2ce80cf"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Sep 21 12:51:27 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Sep 21 12:51:42 2009 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into perfcounters/rename\n\nMerge reason: pull in all the latest code before doing the rename.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0d721ceadbeaa24d7f9dd41b3e5e29912327a7e1",
      "tree": "54c0c8dc201122483bdd7e8975103b07f6afd34b",
      "parents": [
        "cb5fd13f1178dee4302646b2890d884c380160e1"
      ],
      "author": {
        "name": "Peter Williams",
        "email": "pwil3058@bigpond.net.au",
        "time": "Mon Sep 21 01:31:53 2009 +0000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Sep 21 09:53:55 2009 +0200"
      },
      "message": "sched: Simplify sys_sched_rr_get_interval() system call\n\nBy removing the need for it to know details of scheduling classes.\n\nThis allows PlugSched to define orthogonal scheduling classes.\n\nSigned-off-by: Peter Williams \u003cpwil3058@bigpond.net.au\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLKML-Reference: \u003c06d1b89ee15a0eef82d7.1253496713@mudlark.pw.nest\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cd74c86bdf705f824d494a2bbda393d1d562b40a",
      "tree": "8af5261bcd84014f6f587eb326b7dd7c203d0966",
      "parents": [
        "a1792cdacaf5180e04e07811e220c4a3b4a9c33e"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Mon Sep 21 16:44:32 2009 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Sep 21 09:28:40 2009 +0200"
      },
      "message": "perf_counter, powerpc, sparc: Fix compilation after perf_counter_overflow() change\n\nCommit 5622f295 (\"x86, perf_counter, bts: Optimize BTS overflow\nhandling\") removed the regs field from struct perf_sample_data and\nadded a regs parameter to perf_counter_overflow().  This breaks the\nbuild on powerpc (and Sparc) as reported by Sachin Sant:\n\n  arch/powerpc/kernel/perf_counter.c: In function \u0027record_and_restart\u0027:\n  arch/powerpc/kernel/perf_counter.c:1165: error: unknown field \u0027regs\u0027 specified in initializer\n\nThis adjusts arch/powerpc/kernel/perf_counter.c to correspond with the\nnew struct perf_sample_data and perf_counter_overflow().\n\n[ v2: also fix Sparc, Markus Metzger \u003cmarkus.t.metzger@intel.com\u003e ]\n\nReported-by: Sachin Sant \u003csachinp@in.ibm.com\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Markus Metzger \u003cmarkus.t.metzger@intel.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: benh@kernel.crashing.org\nCc: linuxppc-dev@ozlabs.org\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c19127.8400.376239.586120@drongo.ozlabs.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ebc79c4f8da0f92efa968e0328f32334a2ce80cf",
      "tree": "8a3ff82f4b7ae26df4f7c8b4c852748f7533a418",
      "parents": [
        "dcbb5593d980bbf4ceef320f8c75210398ed84db",
        "5ac7687860dbfd3dd90e09d2c10dd31de91f20c2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Sep 20 16:02:06 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Sep 20 16:02:06 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jaswinder/linux-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jaswinder/linux-2.6:\n  includecheck fix: x86, cpu/common.c\n  includecheck fix: kernel/trace, ring_buffer.c\n  includecheck fix: include/linux, ftrace.h\n  includecheck fix: include/linux, page_cgroup.h\n  includecheck fix: include/linux, aio.h\n  includecheck fix: include/drm, drm_memory.h\n  includecheck fix: include/acpi, acpi_bus.h\n  includecheck fix: drivers/xen, evtchn.c\n  includecheck fix: drivers/video, vgacon.c\n  includecheck fix: drivers/scsi, ibmvscsi.c\n  includecheck fix: drivers/scsi, libfcoe.c\n  includecheck fix: x86, shadow.c\n  includecheck fix: x86, traps.c\n  includecheck fix: um, helper.c\n  includecheck fix: s390, sys_s390.c\n"
    },
    {
      "commit": "a57c21c7159e07c27e317ea3513dfb382be3f153",
      "tree": "d70427d2d2f44b9d973aa21e7eef93f30f17515d",
      "parents": [
        "e11c675ede0d42a405ae595528bf0b29ce1ae56f",
        "e454cea20bdcff10ee698d11b8882662a0153a47"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Sep 20 15:55:39 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Sep 20 15:55:39 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6:\n  Driver-Core: extend devnode callbacks to provide permissions\n"
    },
    {
      "commit": "e11c675ede0d42a405ae595528bf0b29ce1ae56f",
      "tree": "e0ec481e66e4a4b70289d78992b209639a582c0c",
      "parents": [
        "467f9957d9283be40101d7255d06fae7e211ff4c",
        "7bd032dc2793afcbaf4a350056768da84cdbd89b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Sep 20 15:55:17 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Sep 20 15:55:17 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6: (79 commits)\n  USB serial: update the console driver\n  usb-serial: straighten out serial_open\n  usb-serial: add missing tests and debug lines\n  usb-serial: rename subroutines\n  usb-serial: fix termios initialization logic\n  usb-serial: acquire references when a new tty is installed\n  usb-serial: change logic of serial lookups\n  usb-serial: put subroutines in logical order\n  usb-serial: change referencing of port and serial structures\n  tty: Char: mxser, use THRE for ASPP_OQUEUE ioctl\n  tty: Char: mxser, add support for CP112UL\n  uartlite: support shared interrupt lines\n  tty: USB: serial/mct_u232, fix tty refcnt\n  tty: riscom8, fix tty refcnt\n  tty: riscom8, fix shutdown declaration\n  TTY: fix typos\n  tty: Power: fix suspend vt regression\n  tty: vt: use printk_once\n  tty: handle VT specific compat ioctls in vt driver\n  n_tty: move echoctl check and clean up logic\n  ...\n"
    },
    {
      "commit": "467f9957d9283be40101d7255d06fae7e211ff4c",
      "tree": "71d155ab52b3a78bc88d0c8088b09b3c37f9357a",
      "parents": [
        "78f28b7c555359c67c2a0d23f7436e915329421e",
        "cdf8073d6b2c6c5a3cd6ce0e6c1297157f7f99ba"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Sep 20 15:54:37 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Sep 20 15:54:37 2009 -0700"
      },
      "message": "Merge branch \u0027perfcounters-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perfcounters-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (58 commits)\n  perf_counter: Fix perf_copy_attr() pointer arithmetic\n  perf utils: Use a define for the maximum length of a trace event\n  perf: Add timechart help text and add timechart to \"perf help\"\n  tracing, x86, cpuidle: Move the end point of a C state in the power tracer\n  perf utils: Be consistent about minimum text size in the svghelper\n  perf timechart: Add \"perf timechart record\"\n  perf: Add the timechart tool\n  perf: Add a SVG helper library file\n  tracing, perf: Convert the power tracer into an event tracer\n  perf: Add a sample_event type to the event_union\n  perf: Allow perf utilities to have \"callback\" options without arguments\n  perf: Store trace event name/id pairs in perf.data\n  perf: Add a timestamp to fork events\n  sched_clock: Make it NMI safe\n  perf_counter: Fix up swcounter throttling\n  x86, perf_counter, bts: Optimize BTS overflow handling\n  perf sched: Add --input\u003dfile option to builtin-sched.c\n  perf trace: Sample timestamp and cpu when using record flag\n  perf tools: Increase MAX_EVENT_LENGTH\n  perf tools: Fix memory leak in read_ftrace_printk()\n  ...\n"
    },
    {
      "commit": "89f19f04dc72363d912fd007a399cb10310eff6e",
      "tree": "daa64e5de98a668eed4a2ceeb6ca95c478be4053",
      "parents": [
        "3f04e8cd5b24727a2500f8ab8f3de730ba47b02c"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Sat Sep 19 11:55:44 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Sep 20 20:00:32 2009 +0200"
      },
      "message": "sched: Fix raciness in runqueue_is_locked()\n\nrunqueue_is_locked() is unavoidably racy due to a poor interface design.\nIt does\n\n\tcpu \u003d get_cpu()\n\tret \u003d some_perpcu_thing(cpu);\n\tput_cpu(cpu);\n\treturn ret;\n\nIts return value is unreliable.\n\nFix.\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c200909191855.n8JItiko022148@imap1.linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "83ba7c34d2b82dc608647f629616df393ab883f9",
      "tree": "73b38eeb64598ecf5a2135ddf464919fdab4c4a6",
      "parents": [
        "97572751d78133cf9a5f7165b252bf975f9dd17d"
      ],
      "author": {
        "name": "Jaswinder Singh Rajput",
        "email": "jaswinderrajput@gmail.com",
        "time": "Sun Sep 20 16:24:00 2009 +0530"
      },
      "committer": {
        "name": "Jaswinder Singh Rajput",
        "email": "jaswinderrajput@gmail.com",
        "time": "Sun Sep 20 16:58:35 2009 +0530"
      },
      "message": "includecheck fix: include/linux, ftrace.h\n\nfix the following \u0027make includecheck\u0027 warning:\n\n  include/linux/ftrace.h: linux/sched.h is included more than once.\n\nSigned-off-by: Jaswinder Singh Rajput \u003cjaswinderrajput@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nLKML-Reference: \u003c1247068321.4382.102.camel@ht.satnam\u003e\n"
    },
    {
      "commit": "97572751d78133cf9a5f7165b252bf975f9dd17d",
      "tree": "28391f48e94912700f47f14f0eb5b3ed8756e29e",
      "parents": [
        "43cc960980760f58d1f49ecd39e8cbfb063d63e1"
      ],
      "author": {
        "name": "Jaswinder Singh Rajput",
        "email": "jaswinderrajput@gmail.com",
        "time": "Sun Sep 20 16:20:44 2009 +0530"
      },
      "committer": {
        "name": "Jaswinder Singh Rajput",
        "email": "jaswinderrajput@gmail.com",
        "time": "Sun Sep 20 16:57:50 2009 +0530"
      },
      "message": "includecheck fix: include/linux, page_cgroup.h\n\nfix the following \u0027make includecheck\u0027 warning:\n\n  include/linux/page_cgroup.h: linux/swap.h is included more than once.\n\nSigned-off-by: Jaswinder Singh Rajput \u003cjaswinderrajput@gmail.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\n"
    },
    {
      "commit": "43cc960980760f58d1f49ecd39e8cbfb063d63e1",
      "tree": "e2278fa317a5beb178b2c52a28c21d47b4ed695a",
      "parents": [
        "067006a5f5b956fbdd183f9b799e7b8059b53f6c"
      ],
      "author": {
        "name": "Jaswinder Singh Rajput",
        "email": "jaswinderrajput@gmail.com",
        "time": "Sun Sep 20 16:09:20 2009 +0530"
      },
      "committer": {
        "name": "Jaswinder Singh Rajput",
        "email": "jaswinderrajput@gmail.com",
        "time": "Sun Sep 20 16:09:20 2009 +0530"
      },
      "message": "includecheck fix: include/linux, aio.h\n\nfix the following \u0027make includecheck\u0027 warning:\n\n  include/linux/aio.h: linux/aio_abi.h is included more than once.\n\nSigned-off-by: Jaswinder Singh Rajput \u003cjaswinderrajput@gmail.com\u003e\nCc: bcrl@kvack.org\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nLKML-Reference: \u003c1247068254.4382.101.camel@ht.satnam\u003e\n"
    },
    {
      "commit": "e92166517e3ca9bfb416f91e69cf0373b55b6ede",
      "tree": "baabe875b5592244a62f39e4fba302a1507502a1",
      "parents": [
        "62b263585bb5005d44a764c90d80f9c4bb8188c1"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Thu Aug 06 15:09:28 2009 +0200"
      },
      "committer": {
        "name": "Live-CD User",
        "email": "linux@linux.site",
        "time": "Sat Sep 19 13:13:35 2009 -0700"
      },
      "message": "tty: handle VT specific compat ioctls in vt driver\n\nThe VT specific compat_ioctl handlers are the only ones\nin common code that require the BKL. Moving them into\nthe vt driver lets us remove the BKL from the other handlers\nand cleans up the code.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "fe1ae7fdd2ee603f2d95f04e09a68f7f79045127",
      "tree": "1234647e3bd970cfb105dab1c4f0ad2cd14ce179",
      "parents": [
        "ba15ab0e8de0d4439a91342ad52d55ca9e313f3d"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Sat Sep 19 13:13:33 2009 -0700"
      },
      "committer": {
        "name": "Live-CD User",
        "email": "linux@linux.site",
        "time": "Sat Sep 19 13:13:33 2009 -0700"
      },
      "message": "tty: USB serial termios bits\n\nVarious drivers have hacks to mangle termios structures. This stems from\nthe fact there is no nice setup hook for configuring the termios settings\nwhen the port is created\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "016af53a6de6837e5be3da68901083ea85ebb4da",
      "tree": "9be7a549fcef9fe060b00d406a99b9b7c5319688",
      "parents": [
        "b58d13a0216d4e0753668214f23e1d2c24c30f8c"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Sat Sep 19 13:13:32 2009 -0700"
      },
      "committer": {
        "name": "Live-CD User",
        "email": "linux@linux.site",
        "time": "Sat Sep 19 13:13:32 2009 -0700"
      },
      "message": "serial: kill USF_CLOSING_* definitions\n\nThe serial layer for some reason uses different defines for the special\ncase close delays and then conditionally switches to/from the normal ones\nin the ioctls.\n\nRemove this rather pointless abstraction\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "b58d13a0216d4e0753668214f23e1d2c24c30f8c",
      "tree": "e641971a9f1464b7f5a045d4df0e58874b6bf035",
      "parents": [
        "bdc04e3174e18f475289fa8f4144f66686326b7e"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Sat Sep 19 13:13:32 2009 -0700"
      },
      "committer": {
        "name": "Live-CD User",
        "email": "linux@linux.site",
        "time": "Sat Sep 19 13:13:32 2009 -0700"
      },
      "message": "serial: move port users helper\n\nThis little helper is now tty_port specific and useful generally so move it\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "bdc04e3174e18f475289fa8f4144f66686326b7e",
      "tree": "c0bf03c8d6df1629bfa26b686fe65ffb0c87aeb7",
      "parents": [
        "a2bceae065ed8c4f552b35c4dde4cc2db05ce9e3"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Sat Sep 19 13:13:31 2009 -0700"
      },
      "committer": {
        "name": "Live-CD User",
        "email": "linux@linux.site",
        "time": "Sat Sep 19 13:13:31 2009 -0700"
      },
      "message": "serial: move delta_msr_wait into the tty_port\n\nThis is used by various drivers not just serial and can be extracted\nas commonality\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\n"
    },
    {
      "commit": "a2bceae065ed8c4f552b35c4dde4cc2db05ce9e3",
      "tree": "90c50ada1362bbb65c1b6f8c8c4fbc9227a21455",
      "parents": [
        "a03006860d272eac5a8ebf23f04f54c7e1e783a5"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Sat Sep 19 13:13:31 2009 -0700"
      },
      "committer": {
        "name": "Live-CD User",
        "email": "linux@linux.site",
        "time": "Sat Sep 19 13:13:31 2009 -0700"
      },
      "message": "serial: replace the state mutex with the tty port mutex\n\nThey cover essentially the same stuff and we can therefore fold it into the\ntty_port one.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "a03006860d272eac5a8ebf23f04f54c7e1e783a5",
      "tree": "2037216cf2cada58d1524f2403f45e6ff741918f",
      "parents": [
        "ccce6debb62d94964e3878f978a56b0f3e32d94f"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Sat Sep 19 13:13:30 2009 -0700"
      },
      "committer": {
        "name": "Live-CD User",
        "email": "linux@linux.site",
        "time": "Sat Sep 19 13:13:30 2009 -0700"
      },
      "message": "serial: kill off uif_t\n\nThis typedef is now extinct\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "ccce6debb62d94964e3878f978a56b0f3e32d94f",
      "tree": "c6df089e5b4394d841819090921b1673901d7a3a",
      "parents": [
        "91312cdb4fcd832341e425f74f49938e0503c929"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Sat Sep 19 13:13:30 2009 -0700"
      },
      "committer": {
        "name": "Live-CD User",
        "email": "linux@linux.site",
        "time": "Sat Sep 19 13:13:30 2009 -0700"
      },
      "message": "serial: move the flags into the tty_port field\n\nFortunately the serial layer was designed to use the same flag values but\nwith different names. It has its own SUSPENDED flag which is a free slot in\nthe ASYNC flags so we allocate it in the ASYNC flags instead.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "91312cdb4fcd832341e425f74f49938e0503c929",
      "tree": "d05e4ea773026363df0c9cddf37b465f44125a0f",
      "parents": [
        "46d57a449aa13d9c6adcc9d1dbc7b9a0ecfb69d8"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Sat Sep 19 13:13:29 2009 -0700"
      },
      "committer": {
        "name": "Live-CD User",
        "email": "linux@linux.site",
        "time": "Sat Sep 19 13:13:29 2009 -0700"
      },
      "message": "serial: move count into the tty_port version\n\nRemove more stuff from the serial special case code\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "5e99df561fc830730d63672d795a0b02ef8cdd6f",
      "tree": "6fffbbb737a7d01d58b7b9415f041bd50fca26b4",
      "parents": [
        "ebd2c8f6d2ec4012c267ecb95e72a57b8355a705"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Sat Sep 19 13:13:28 2009 -0700"
      },
      "committer": {
        "name": "Live-CD User",
        "email": "linux@linux.site",
        "time": "Sat Sep 19 13:13:28 2009 -0700"
      },
      "message": "serial: Fold closing_* fields into the tty_port ones\n\nRemove some more serial specific use\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "ebd2c8f6d2ec4012c267ecb95e72a57b8355a705",
      "tree": "36a01b2ac2520bf7e0d9362b8da17d3c894da2db",
      "parents": [
        "11d85d7b2ecc72fe752bba55389e7d11907528af"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Sat Sep 19 13:13:28 2009 -0700"
      },
      "committer": {
        "name": "Live-CD User",
        "email": "linux@linux.site",
        "time": "Sat Sep 19 13:13:28 2009 -0700"
      },
      "message": "serial: kill off uart_info\n\nWe moved this into uart_state, now move the fields out of the separate\nstructure and kill it off.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "a509a7e478e4766114d69f12d19d644ac63e9765",
      "tree": "2b994dabb7b97ceadac959f51d29ddf68216cb59",
      "parents": [
        "d3b5cffcf84a8bdc7073dce4745d67c72629af85"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Sat Sep 19 13:13:26 2009 -0700"
      },
      "committer": {
        "name": "Live-CD User",
        "email": "linux@linux.site",
        "time": "Sat Sep 19 13:13:26 2009 -0700"
      },
      "message": "tty: USB does not need the filp argument in the drivers\n\nAnd indeed none of them use it. Clean this up as it will make moving to a\nstandard open method rather easier.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "d3b5cffcf84a8bdc7073dce4745d67c72629af85",
      "tree": "dfcaa9dbc59b3f17160624803f54711db1d9786f",
      "parents": [
        "a5eb56242d1e2d82938a066219ac1cdf0d68adc8"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Sat Sep 19 13:13:26 2009 -0700"
      },
      "committer": {
        "name": "Live-CD User",
        "email": "linux@linux.site",
        "time": "Sat Sep 19 13:13:26 2009 -0700"
      },
      "message": "vt: add an activate and lock\n\nX and other graphical interfaces need to be able to flip to a console\nand lock it into graphics mode without races.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "a5eb56242d1e2d82938a066219ac1cdf0d68adc8",
      "tree": "09e72d0ac44e7494499936fea0ad3fe1b5ce5633",
      "parents": [
        "8d233558cd99a888571bb5a88a74970879e0aba4"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Sat Sep 19 13:13:25 2009 -0700"
      },
      "committer": {
        "name": "Live-CD User",
        "email": "linux@linux.site",
        "time": "Sat Sep 19 13:13:25 2009 -0700"
      },
      "message": "vt: move kernel stuff out of vt.h\n\nWe have vt_kern.h for this\n\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "8d233558cd99a888571bb5a88a74970879e0aba4",
      "tree": "a5a39a0faff85cd26ed3dc7aa7e7ee4406677fdb",
      "parents": [
        "8b92e87d39bfd046e7581e1fe0f40eac40f88608"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Sat Sep 19 13:13:25 2009 -0700"
      },
      "committer": {
        "name": "Live-CD User",
        "email": "linux@linux.site",
        "time": "Sat Sep 19 13:13:25 2009 -0700"
      },
      "message": "vt: remove power stuff from kernel/power\n\nIn the past someone gratuitiously borrowed chunks of kernel internal vt\ncode and dumped them in kernel/power. They have all sorts of deep relations\nwith the vt code so put them in the vt tree instead\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "8b92e87d39bfd046e7581e1fe0f40eac40f88608",
      "tree": "b558f69f2a9875ea6029546f9f70d268fd3ebaf6",
      "parents": [
        "4455e344959a217ffc28de2ab1af87541322b343"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Sat Sep 19 13:13:24 2009 -0700"
      },
      "committer": {
        "name": "Live-CD User",
        "email": "linux@linux.site",
        "time": "Sat Sep 19 13:13:24 2009 -0700"
      },
      "message": "vt: add an event interface\n\nThis is needed and requested in various forms for ConsoleKit, screenblank\nhandling and the like so do the job with a single interface. Also build the\ninterface so that unlike VT_WAITACTIVE and friends it won\u0027t miss events.\n\nFIXME: Should this be a waitactive ioctl or a new device file you can poll\nand read events from. We need the code anyway to fix up the existing broken\nwait for console switch logic but the ConsoleKit people would prefer the\nnew device to the ioctl we have here\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "7ca0ff9ab3218ec443a7a9ad247e4650373ed41e",
      "tree": "73cb5a8f36d9999e0c85957cc27e7be2f140a610",
      "parents": [
        "24d481ecae1614cf02e638c8dce9b6e8bf230603"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Sat Sep 19 13:13:20 2009 -0700"
      },
      "committer": {
        "name": "Live-CD User",
        "email": "linux@linux.site",
        "time": "Sat Sep 19 13:13:20 2009 -0700"
      },
      "message": "tty: Add a full port_close function\n\nNow we are extracting out methods for shutdown and the like we can add a\nproper tty_port_close method that knows all the innards of the tty closing\nprocess and hides the lot from the caller.\n\nAt some point in the future this will be paired with a similar open()\nhelper and the drivers can stick to hardware management.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "1c2f04937b3e397a5695953c6b82aa4c77d21eb8",
      "tree": "8ccc7300fcc3fb4f3824575a7e7c47a4f3f366ba",
      "parents": [
        "1e066d803ab7e34e9efb3b0766d618c0cd2598e4"
      ],
      "author": {
        "name": "Vikram Pandita",
        "email": "vikram.pandita@ti.com",
        "time": "Sat Sep 19 13:13:19 2009 -0700"
      },
      "committer": {
        "name": "Live-CD User",
        "email": "linux@linux.site",
        "time": "Sat Sep 19 13:13:19 2009 -0700"
      },
      "message": "serial: 8250: add IRQ trigger support\n\nThere is currently no provision for passing IRQ trigger flags for\nserial IRQs with triggering requirements (such as GPIO IRQs)\n\nThis patch adds irqflags to plat_serial8250_port that can be passed\nfrom board file to reqest_irq() of 8250 driver\n\nChanges are backward compatible with boards passing UPF_SHARE_IRQ flag\n\nTested on Zoom2 board that has IRQF_TRIGGER_RISING requirement for 8250 irq\n\n[Moved new flag to end to fix bugs in the original with the old_serial array\n\t-- Alan]\n\nSigned-off-by: Vikram Pandita \u003cvikram.pandita@ti.com\u003e\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "f8a7c1a976a6672204c7f4f0f694f33715dfa617",
      "tree": "cf515b038bb3765d57249b692d8989257befdabc",
      "parents": [
        "5342b77c4123ba39f911d92a813295fb3bb21f69"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Sat Sep 19 13:13:17 2009 -0700"
      },
      "committer": {
        "name": "Live-CD User",
        "email": "linux@linux.site",
        "time": "Sat Sep 19 13:13:17 2009 -0700"
      },
      "message": "kfifo: Use \"const\" definitions\n\nCurrently kfifo cannot be used by parts of the kernel that use \"const\"\nproperly as kfifo itself does not use const for passed data blocks which\nare indeed const.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "3aeea5b92210083c7cffd4f08a0bb141d3f2d574",
      "tree": "43c1572a397b902513e75ad08f8bdbd51b06d41e",
      "parents": [
        "0d3487294e4e175eb6371c8df8ef44b45964e0f6"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Sat Sep 19 13:13:16 2009 -0700"
      },
      "committer": {
        "name": "Live-CD User",
        "email": "linux@linux.site",
        "time": "Sat Sep 19 13:13:16 2009 -0700"
      },
      "message": "cyclades: introduce cyy_readb/writeb\n\nAdd helpers for io operations, so that we can eliminate huge\namount of supporting code. It is now centralized in those\nhelpers and used values are precomputed in the init phase.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "f0eefdc30e55e761facf645bd1be1339b21c30e6",
      "tree": "fbde46003a58550c3312ce7732a23213985e81fa",
      "parents": [
        "f0737579424dd2c4e68bdd54c718455a3f42c7b5"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Sat Sep 19 13:13:13 2009 -0700"
      },
      "committer": {
        "name": "Live-CD User",
        "email": "linux@linux.site",
        "time": "Sat Sep 19 13:13:13 2009 -0700"
      },
      "message": "cyclades: avoid addresses recomputation\n\nDon\u0027t fetch firmware address and recompute channel control on each\nport access. Precompute the values on init and use them later all\nthe time.\n\nThe same for board control.\n\nThis simplify code and improves readability.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "e454cea20bdcff10ee698d11b8882662a0153a47",
      "tree": "f44581fe57787aef0a4f4dc00993a90ea8e688f6",
      "parents": [
        "78f28b7c555359c67c2a0d23f7436e915329421e"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Fri Sep 18 23:01:12 2009 +0200"
      },
      "committer": {
        "name": "Live-CD User",
        "email": "linux@linux.site",
        "time": "Sat Sep 19 12:50:38 2009 -0700"
      },
      "message": "Driver-Core: extend devnode callbacks to provide permissions\n\nThis allows subsytems to provide devtmpfs with non-default permissions\nfor the device node. Instead of the default mode of 0600, null, zero,\nrandom, urandom, full, tty, ptmx now have a mode of 0666, which allows\nnon-privileged processes to access standard device nodes in case no\nother userspace process applies the expected permissions.\n\nThis also fixes a wrong assignment in pktcdvd and a checkpatch.pl complain.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "be4bdbfbae6b303c21ebe446648f617908a794b5",
      "tree": "4ea485b2fa95cb17aded35b0ac83d6bdf9a0396d",
      "parents": [
        "fc5377668c3d808e1d53c4aee152c836f55c3490",
        "20ab4425a77a1f34028cc6ce57053c22c184ba5f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Sep 19 12:05:25 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Sep 19 12:05:25 2009 +0200"
      },
      "message": "Merge branch \u0027tracing/core-v3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into tracing/urgent\n"
    },
    {
      "commit": "393b2ad8c757ba3ccd2a99ca5bbcd6db4d3fa53d",
      "tree": "8972e2e9647c814e71be74d37adb85b18e9c6732",
      "parents": [
        "929bf0d0156562ce631728b6fa53d68004d456d2"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sat Sep 12 07:52:47 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Sep 19 11:42:10 2009 +0200"
      },
      "message": "perf: Add a timestamp to fork events\n\nperf timechart needs to know when a process forked, in order to be\nable to visualize properly when tasks start.\n\nThis patch adds a time field to the event structure, and fills it\nin appropriately.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c20090912130341.51ad2de2@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "929bf0d0156562ce631728b6fa53d68004d456d2",
      "tree": "739063990a8077b29ef97e69d73bce94573daae4",
      "parents": [
        "def0a9b2573e00ab0b486cb5382625203ab4c4a6",
        "202c4675c55ddf6b443c7e057d2dff6b42ef71aa"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Sep 19 11:27:32 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Sep 19 11:28:41 2009 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into perfcounters/core\n\nMerge reason: Bring in tracing changes we depend on.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a71fca58b7f4abca551ae2256ac08dd9123a03f9",
      "tree": "55bef0550ff2558a117d768426474e15b081ff4b",
      "parents": [
        "49e291266d0920264471d9d64268fb030e33a99a"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Sep 18 10:28:19 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Sep 19 08:53:22 2009 +0200"
      },
      "message": "rcu: Fix whitespace inconsistencies\n\nFix a number of whitespace ^Ierrors in the include/linux/rcu*\nand the kernel/rcu* files.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: akpm@linux-foundation.org\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nLKML-Reference: \u003c20090918172819.GA24405@linux.vnet.ibm.com\u003e\n[ did more checkpatch fixlets ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "98293ef3e54f9f2175f11b4d14c119a2ff753d61",
      "tree": "b28a29a90f74915e0b9daa376c91763b2cf9f6dc",
      "parents": [
        "0030ec38ce5b50a77287a22bf88a65338da21547"
      ],
      "author": {
        "name": "HIRANO Takahito",
        "email": "hiranotaka@zng.info",
        "time": "Fri Sep 18 11:17:54 2009 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Sat Sep 19 00:51:34 2009 -0300"
      },
      "message": "V4L/DVB (12997): Add the DTV_ISDB_TS_ID property for ISDB_S\n\nIn ISDB-S, time-devision duplex is used to multiplexing several waves\nin the same frequency. Each wave is identified by its own transport\nstream ID, or TS ID. We need to provide some way to specify this ID\nfrom user applications to handle ISDB-S frontends.\n\nThis code has been tested with the Earthsoft PT1 driver.\n\n[mchehab@infradead.org: Fix merge conflicts with isdbt and rename the new parameter to DTV_ISDBS_TS_ID]\nSigned-off-by: HIRANO Takahito \u003chiranotaka@zng.info\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "3418f165cc1cbcb30a8c017d7ebbc774710066bb",
      "tree": "6b9d53f641278b7cf628fbc5e33aec81afe96203",
      "parents": [
        "979ea1ddf80ac7383acdea03471355ca62702539"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "g.liakhovetski@gmx.de",
        "time": "Tue Aug 25 11:44:14 2009 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Sat Sep 19 00:18:36 2009 -0300"
      },
      "message": "V4L/DVB (12511): V4L2: add a new V4L2_CID_BAND_STOP_FILTER integer control\n\nAdd a new V4L2_CID_BAND_STOP_FILTER integer control, which either switches the\nband-stop filter off, or sets it to a certain strength.\n\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@gmx.de\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "c9230457a98f33fe3658fd0bd9b9ceffdd97b63b",
      "tree": "b7677367e92fc582673a5153fb4773e0059d219c",
      "parents": [
        "3b501de58bf4cd16563d1acec43a11c7cd1517fe"
      ],
      "author": {
        "name": "Steven Toth",
        "email": "stoth@kernellabs.com",
        "time": "Thu Sep 17 15:05:38 2009 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Sat Sep 19 00:16:14 2009 -0300"
      },
      "message": "V4L/DVB (12974): SAA7164: Remove the SAA7164 bus id, no longer required.\n\nSAA7164: Remove the SAA7164 bus id, no longer required.\n\nSigned-off-by: Steven Toth \u003cstoth@kernellabs.com\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "9afef394308cf63ddb67b003a1c6036615456eb9",
      "tree": "72d3c8583039839b9d2f410ae611a035767aaabf",
      "parents": [
        "db17ab98460496df59453ff2790aac23ebcc2e90"
      ],
      "author": {
        "name": "Steven Toth",
        "email": "stoth@kernellabs.com",
        "time": "Sat May 09 13:24:12 2009 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Sat Sep 19 00:14:42 2009 -0300"
      },
      "message": "V4L/DVB (12922): Add the SAA7164 I2C bus identifier\n\nAdd the SAA7164 I2C bus identifier\n\nSigned-off-by: Steven Toth \u003cstoth@kernellabs.com\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "b6e760f3097501e60e76fbcb7a313d42da930c1f",
      "tree": "11c810b34f9d215003a86d2d7baa66ce63f2c106",
      "parents": [
        "fc27f04698275ed28e64ba615e60e4d716a11e42"
      ],
      "author": {
        "name": "Patrick Boettcher",
        "email": "pboettcher@dibcom.fr",
        "time": "Mon Aug 03 14:39:15 2009 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Sat Sep 19 00:14:24 2009 -0300"
      },
      "message": "V4L/DVB (12892): DVB-API: add support for ISDB-T and ISDB-Tsb (version 5.1)\n\nThis patch increments the DVB-API to version 5.1 in order to reflect the addition of ISDB-T and ISDB-Tsb on Linux\u0027 DVB-API.\n\nChanges in detail:\n- added a small document to describe how to use the API to tune to an ISDB-T or ISDB-Tsb channel\n- added necessary fields to dtv_frontend_cache\n- added a smarter clear-cache function which resets all fields of the dtv_frontend_cache\n- added a TRANSMISSION_MODE_4K to fe_transmit_mode_t\n\nSigned-off-by: Olivier Grenie \u003colgrenie@dibcom.fr\u003e\nSigned-off-by: Patrick Boettcher \u003cpboettcher@dibcom.fr\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "fc5377668c3d808e1d53c4aee152c836f55c3490",
      "tree": "366723ccb26a64c311074c346721aaf4ff0e7d58",
      "parents": [
        "df58bee21ed218cb7dfb561a590b1bd2a99531cf"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Sep 17 19:35:28 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 18 21:22:08 2009 +0200"
      },
      "message": "tracing: Remove markers\n\nNow that the last users of markers have migrated to the event\ntracer we can kill off the (now orphan) support code.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nAcked-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c20090917173527.GA1699@lst.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5622f295b53fb60dbf9bed3e2c89d182490a8b7f",
      "tree": "8279554bddd1607d53dc06e97f4b5a1d0c085ccd",
      "parents": [
        "4b77a7297795229eca96c41e1709a3c87909fabe"
      ],
      "author": {
        "name": "Markus Metzger",
        "email": "markus.t.metzger@intel.com",
        "time": "Tue Sep 15 13:00:23 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 18 20:43:20 2009 +0200"
      },
      "message": "x86, perf_counter, bts: Optimize BTS overflow handling\n\nDraining the BTS buffer on a buffer overflow interrupt takes too\nlong resulting in a kernel lockup when tracing the kernel.\n\nRestructure perf_counter sampling into sample creation and sample\noutput.\n\nPrepare a single reference sample for BTS sampling and update the\nfrom and to address fields when draining the BTS buffer. Drain the\nentire BTS buffer between a single perf_output_begin() /\nperf_output_end() pair.\n\nSigned-off-by: Markus Metzger \u003cmarkus.t.metzger@intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20090915130023.A16204@sedona.ch.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3530c1886291df061e3972c55590777ef1cb67f8",
      "tree": "bd6755e533eb5a0f37ff600da6bc0d9d1ba33c17",
      "parents": [
        "6952b61de9984073289859073e8195ad0bee8fd5",
        "1358870deaf11a752a84fbd89201749aa62498e8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 18 10:56:26 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 18 10:56:26 2009 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (64 commits)\n  ext4: Update documentation about quota mount options\n  ext4: replace MAX_DEFRAG_SIZE with EXT_MAX_BLOCK\n  ext4: Fix the alloc on close after a truncate hueristic\n  ext4: Add a tracepoint for ext4_alloc_da_blocks()\n  ext4: store EXT4_EXT_MIGRATE in i_state instead of i_flags\n  ext4: limit block allocations for indirect-block files to \u003c 2^32\n  ext4: Fix different block exchange issue in EXT4_IOC_MOVE_EXT\n  ext4: Add null extent check to ext_get_path\n  ext4: Replace BUG_ON() with ext4_error() in move_extents.c\n  ext4: Replace get_ext_path macro with an inline funciton\n  ext4: Fix include/trace/events/ext4.h to work with Systemtap\n  ext4: Fix initalization of s_flex_groups\n  ext4: Always set dx_node\u0027s fake_dirent explicitly.\n  ext4: Fix async commit mode to be safe by using a barrier\n  ext4: Don\u0027t update superblock write time when filesystem is read-only\n  ext4: Clarify the locking details in mballoc\n  ext4: check for need init flag in ext4_mb_load_buddy\n  ext4: move ext4_mb_init_group() function earlier in the mballoc.c\n  ext4: Make non-journal fsync work properly\n  ext4: Assure that metadata blocks are written during fsync in no journal mode\n  ...\n"
    }
  ],
  "next": "6952b61de9984073289859073e8195ad0bee8fd5"
}
