)]}'
{
  "log": [
    {
      "commit": "55e331cf7ebe20665253770589cd9eb06048bf25",
      "tree": "4f64450d5839304fddd80733a703df2e518b9b24",
      "parents": [
        "f324edc85e5c1137e49e3b36a58cf436ab5b1fb3"
      ],
      "author": {
        "name": "Florian Fainelli",
        "email": "florian@openwrt.org",
        "time": "Tue Jun 16 15:33:53 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:52 2009 -0700"
      },
      "message": "drivers: add support for the TI VLYNQ bus\n\nAdd support for the TI VLYNQ high-speed, serial and packetized bus.\n\nThis bus allows external devices to be connected to the System-on-Chip and\nappear in the main system memory just like any memory mapped peripheral.\nIt is widely used in TI\u0027s networking and multimedia SoC, including the AR7\nSoC.\n\nSigned-off-by: Eugene Konev \u003cejka@imfi.kspu.ru\u003e\nSigned-off-by: Florian Fainelli \u003cflorian@openwrt.org\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cc6f26774136b7f5307abcd3887f08360c9b7554",
      "tree": "f70e43b1e48abc611b8ef829710821b9577db937",
      "parents": [
        "e4c9dd0fbad60c098a026e9b06d9de1bc98c5e89"
      ],
      "author": {
        "name": "Masatake YAMATO",
        "email": "yamato@redhat.com",
        "time": "Tue Jun 16 15:33:49 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:52 2009 -0700"
      },
      "message": "syscalls.h: remove duplicated declarations for sys_pipe2\n\nsys_pipe2 is declared twice in include/linux/syscalls.h.\n\nSigned-off-by: Masatake YAMATO \u003cyamato@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": "e4c9dd0fbad60c098a026e9b06d9de1bc98c5e89",
      "tree": "033fd4035f0bcab64a0215d1a0b0f868c8b4de32",
      "parents": [
        "b8d9a86590fb334d28c5905a4c419ece7d08e37d"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue Jun 16 15:33:47 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:51 2009 -0700"
      },
      "message": "kmap_types: make most arches use generic header file\n\nConvert most arches to use asm-generic/kmap_types.h.\n\nMove the KM_FENCE_ macro additions into asm-generic/kmap_types.h,\ncontrolled by __WITH_KM_FENCE from each arch\u0027s kmap_types.h file.\n\nWould be nice to be able to add custom KM_types per arch, but I don\u0027t yet\nsee a nice, clean way to do that.\n\nBuilt on x86_64, i386, mips, sparc, alpha(tonyb), powerpc(tonyb), and\n68k(tonyb).\n\nNote: avr32 should be able to remove KM_PTE2 (since it\u0027s not used) and\nthen just use the generic kmap_types.h file.  Get avr32 maintainer\napproval.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Bryan Wu \u003ccooloney@kernel.org\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nCc: \"Luck Tony\" \u003ctony.luck@intel.com\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.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: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8b0b1db0133e4218a9b45c09e53793c039edebe1",
      "tree": "551ec8a69652b9856cefcf537bdcfd262f356974",
      "parents": [
        "10fc89d01a7ea2ecc2a58d2f4e7700f47178cd62"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Jun 16 15:33:39 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:48 2009 -0700"
      },
      "message": "remove put_cpu_no_resched()\n\nput_cpu_no_resched() is an optimization of put_cpu() which unfortunately\ncan cause high latencies.\n\nThe nfs iostats code uses put_cpu_no_resched() in a code sequence where a\nreschedule request caused by an interrupt between the get_cpu() and the\nput_cpu_no_resched() can delay the reschedule for at least HZ.\n\nThe other users of put_cpu_no_resched() optimize correctly in interrupt\ncode, but there is no real harm in using the put_cpu() function which is\nan alias for preempt_enable().  The extra check of the preemmpt count is\nnot as critical as the potential source of missing a reschedule.\n\nDebugged in the preempt-rt tree and verified in mainline.\n\nImpact: remove a high latency source\n\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "10fc89d01a7ea2ecc2a58d2f4e7700f47178cd62",
      "tree": "7c032430b77b4e7f08e924f36fa5ef591bfb580c",
      "parents": [
        "0d9c25dde878a636ee9a9b53923569171bf9a55b"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue Jun 16 15:33:38 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:48 2009 -0700"
      },
      "message": "drbd: add major number to major.h\n\nSince we have had a LANANA major number for years, and it is documented in\ndevices.txt, I think that this first patch can go upstream.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0d9c25dde878a636ee9a9b53923569171bf9a55b",
      "tree": "fea0a36db4dd8c8bcfbfdd5830170de3492917a4",
      "parents": [
        "4938d7e0233a455f04507bac81d0886c71529537"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Jun 16 15:33:37 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:48 2009 -0700"
      },
      "message": "headers: move module_bug_finalize()/module_bug_cleanup() definitions into module.h\n\nThey\u0027re in linux/bug.h at present, which causes include order tangles.  In\nparticular, linux/bug.h cannot be used by linux/atomic.h because,\naccording to Nikanth:\n\nlinux/bug.h pulls in linux/module.h \u003d\u003e linux/spinlock.h \u003d\u003e asm/spinlock.h\n(which uses atomic_inc) \u003d\u003e asm/atomic.h.\n\nbug.h is a pretty low-level thing and module.h is a higher-level thing,\nIMO.\n\nCc: Nikanth Karthikesan \u003cknikanth@novell.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4938d7e0233a455f04507bac81d0886c71529537",
      "tree": "6e0c6f0e8623ef44270890519f08b98e9db8afee",
      "parents": [
        "02d5341ae53d32681241b27a40397475caef1c83"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Tue Jun 16 15:33:36 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:48 2009 -0700"
      },
      "message": "poll: avoid extra wakeups in select/poll\n\nAfter introduction of keyed wakeups Davide Libenzi did on epoll, we are\nable to avoid spurious wakeups in poll()/select() code too.\n\nFor example, typical use of poll()/select() is to wait for incoming\nnetwork frames on many sockets.  But TX completion for UDP/TCP frames call\nsock_wfree() which in turn schedules thread.\n\nWhen scheduled, thread does a full scan of all polled fds and can sleep\nagain, because nothing is really available.  If number of fds is large,\nthis cause significant load.\n\nThis patch makes select()/poll() aware of keyed wakeups and useless\nwakeups are avoided.  This reduces number of context switches by about 50%\non some setups, and work performed by sofirq handlers.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Andi Kleen \u003cak@linux.intel.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Christoph Lameter \u003ccl@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": "a7d932af06e8eee2163627d19898e18da5635449",
      "tree": "ddcf5e30e58f9758331f38ace3682f5691f44060",
      "parents": [
        "b08cd961cc3869e14d841a3ed1641f47b11348f3"
      ],
      "author": {
        "name": "Dan Smith",
        "email": "danms@us.ibm.com",
        "time": "Tue Jun 16 15:33:33 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:47 2009 -0700"
      },
      "message": "utsname.h: make new_utsname fields use the proper length constant\n\nThe members of the new_utsname structure are defined with magic numbers\nthat *should* correspond to the constant __NEW_UTS_LEN+1.  Everywhere\nelse, code assumes this and uses the constant, so this patch makes the\nstructure match.\n\nOriginally suggested by Serge here:\n\nhttps://lists.linux-foundation.org/pipermail/containers/2009-March/016258.html\n\nSigned-off-by: Dan Smith \u003cdanms@us.ibm.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "24cf72518c79cdcda486ed26074ff8151291cf65",
      "tree": "0db04965fb57135e68edf62c332c3a3825c1e3b5",
      "parents": [
        "fa5e084e43eb14c14942027e1e2e894aeed96097"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Tue Jun 16 15:33:23 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:46 2009 -0700"
      },
      "message": "vmscan: count the number of times zone_reclaim() scans and fails\n\nOn NUMA machines, the administrator can configure zone_reclaim_mode that\nis a more targetted form of direct reclaim.  On machines with large NUMA\ndistances for example, a zone_reclaim_mode defaults to 1 meaning that\nclean unmapped pages will be reclaimed if the zone watermarks are not\nbeing met.\n\nThere is a heuristic that determines if the scan is worthwhile but it is\npossible that the heuristic will fail and the CPU gets tied up scanning\nuselessly.  Detecting the situation requires some guesswork and\nexperimentation so this patch adds a counter \"zreclaim_failed\" to\n/proc/vmstat.  If during high CPU utilisation this counter is increasing\nrapidly, then the resolution to the problem may be to set\n/proc/sys/vm/zone_reclaim_mode to 0.\n\n[akpm@linux-foundation.org: name things consistently]\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6fe6b7e35785e3232ffe7f81d3893f1316710a02",
      "tree": "6f47c03735504d8aab8f7b048465b87cc5b15861",
      "parents": [
        "608e8e66a154cbc3d591a59dcebfd9cbc9e3431a"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Tue Jun 16 15:33:05 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:44 2009 -0700"
      },
      "message": "vmscan: report vm_flags in page_referenced()\n\nCollect vma-\u003evm_flags of the VMAs that actually referenced the page.\n\nThis is preparing for more informed reclaim heuristics, eg.  to protect\nexecutable file pages more aggressively.  For now only the VM_EXEC bit\nwill be used by the caller.\n\nThanks to Johannes, Peter and Minchan for all the good tips.\n\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nReviewed-by: Johannes Weiner \u003channes@cmpxchg.org\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": "168f5ac668f63dfb64439766e3ef9e866b83719d",
      "tree": "ddefb5678ffc15ac6ddec66e281d3f9c8a75fa0b",
      "parents": [
        "aca8bf323edd31ad462dc98c107c23a5c6022ca2"
      ],
      "author": {
        "name": "Sergei Trofimovich",
        "email": "slyfox@inbox.ru",
        "time": "Tue Jun 16 15:33:02 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:44 2009 -0700"
      },
      "message": "mm cleanup: shmem_file_setup: \u0027char *\u0027 -\u003e \u0027const char *\u0027 for name argument\n\nAs function shmem_file_setup does not modify/allocate/free/pass given\nfilename - mark it as const.\n\nSigned-off-by: Sergei Trofimovich \u003cslyfox@inbox.ru\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": "aca8bf323edd31ad462dc98c107c23a5c6022ca2",
      "tree": "1466785c7ab056d6a9e21bb61fbd36ce3c3df5cc",
      "parents": [
        "8192da6a8811ab6c3d29dc590a5f94a377c43739"
      ],
      "author": {
        "name": "Minchan Kim",
        "email": "minchan.kim@gmail.com",
        "time": "Tue Jun 16 15:33:02 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:44 2009 -0700"
      },
      "message": "mm: remove file argument from swap_readpage()\n\nThe file argument resulted from address_space\u0027s readpage long time ago.\n\nWe don\u0027t use it any more.  Let\u0027s remove unnecessary argement.\n\nSigned-off-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nAcked-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "286973552f051404abdb58dd9b2f8f7558efe4e5",
      "tree": "462cca28bdab729a09371ba6a53e0365cf36ad57",
      "parents": [
        "82553a937f12352c26fe457510ebab3f512cd3fa"
      ],
      "author": {
        "name": "Mike Waychison",
        "email": "mikew@google.com",
        "time": "Tue Jun 16 15:32:59 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:43 2009 -0700"
      },
      "message": "mm: remove __invalidate_mapping_pages variant\n\nRemove __invalidate_mapping_pages atomic variant now that its sole caller\ncan sleep (fixed in eccb95cee4f0d56faa46ef22fb94dd4a3578d3eb (\"vfs: fix\nlock inversion in drop_pagecache_sb()\")).\n\nThis fixes softlockups that can occur while in the drop_caches path.\n\nSigned-off-by: Mike Waychison \u003cmikew@google.com\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2ff05b2b4eac2e63d345fc731ea151a060247f53",
      "tree": "1840bc2d3b381eca5d39869499339b0fcc6eabbf",
      "parents": [
        "c9e444103b5e7a5a3519f9913f59767f92e33baf"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Tue Jun 16 15:32:56 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:43 2009 -0700"
      },
      "message": "oom: move oom_adj value from task_struct to mm_struct\n\nThe per-task oom_adj value is a characteristic of its mm more than the\ntask itself since it\u0027s not possible to oom kill any thread that shares the\nmm.  If a task were to be killed while attached to an mm that could not be\nfreed because another thread were set to OOM_DISABLE, it would have\nneedlessly been terminated since there is no potential for future memory\nfreeing.\n\nThis patch moves oomkilladj (now more appropriately named oom_adj) from\nstruct task_struct to struct mm_struct.  This requires task_lock() on a\ntask to check its oom_adj value to protect against exec, but it\u0027s already\nnecessary to take the lock when dereferencing the mm to find the total VM\nsize for the badness heuristic.\n\nThis fixes a livelock if the oom killer chooses a task and another thread\nsharing the same memory has an oom_adj value of OOM_DISABLE.  This occurs\nbecause oom_kill_task() repeatedly returns 1 and refuses to kill the\nchosen task while select_bad_process() will repeatedly choose the same\ntask during the next retry.\n\nTaking task_lock() in select_bad_process() to check for OOM_DISABLE and in\noom_kill_task() to check for threads sharing the same memory will be\nremoved in the next patch in this series where it will no longer be\nnecessary.\n\nWriting to /proc/pid/oom_adj for a kthread will now return -EINVAL since\nthese threads are immune from oom killing already.  They simply report an\noom_adj value of OOM_DISABLE.\n\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: 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": "355cfa73ddff2fb8fa14e93bd94a057cc022512e",
      "tree": "7ff70cd56d533070d50b06db6ba0086e8aab0d71",
      "parents": [
        "cb4b86ba47bb0937b71fb825b3ed88adf7a190f0"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue Jun 16 15:32:53 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:42 2009 -0700"
      },
      "message": "mm: modify swap_map and add SWAP_HAS_CACHE flag\n\nThis is a part of the patches for fixing memcg\u0027s swap accountinf leak.\nBut, IMHO, not a bad patch even if no memcg.\n\nThere are 2 kinds of references to swap.\n - reference from swap entry\n - reference from swap cache\n\nThen,\n\n - If there is swap cache \u0026\u0026 swap\u0027s refcnt is 1, there is only swap cache.\n  (*) swapcount(entry) \u003d\u003d 1 \u0026\u0026 find_get_page(swapper_space, entry) !\u003d NULL\n\nThis counting logic have worked well for a long time.  But considering\nthat we cannot know there is a _real_ reference or not by swap_map[],\ncurrent usage of counter is not very good.\n\nThis patch adds a flag SWAP_HAS_CACHE and recored information that a swap\nentry has a cache or not.  This will remove -1 magic used in swapfile.c\nand be a help to avoid unnecessary find_get_page().\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nTested-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Dhaval Giani \u003cdhaval@linux.vnet.ibm.com\u003e\nCc: YAMAMOTO Takashi \u003cyamamoto@valinux.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cb4b86ba47bb0937b71fb825b3ed88adf7a190f0",
      "tree": "4b8528ba914a315e5857e7fe2a6e7d415f2e6650",
      "parents": [
        "6837765963f1723e80ca97b1fae660f3a60d77df"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue Jun 16 15:32:52 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:42 2009 -0700"
      },
      "message": "mm: add swap cache interface for swap reference\n\nIn a following patch, the usage of swap cache is recorded into swap_map.\nThis patch is for necessary interface changes to do that.\n\n2 interfaces:\n\n  - swapcache_prepare()\n  - swapcache_free()\n\nare added for allocating/freeing refcnt from swap-cache to existing swap\nentries.  But implementation itself is not changed under this patch.  At\nadding swapcache_free(), memcg\u0027s hook code is moved under\nswapcache_free().  This is better than using scattered hooks.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nAcked-by: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Dhaval Giani \u003cdhaval@linux.vnet.ibm.com\u003e\nCc: YAMAMOTO Takashi \u003cyamamoto@valinux.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6837765963f1723e80ca97b1fae660f3a60d77df",
      "tree": "a9a6ed4b7e3bf188966da78b04bf39298f24375a",
      "parents": [
        "bce7394a3ef82b8477952fbab838e4a6e8cb47d2"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Tue Jun 16 15:32:51 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:42 2009 -0700"
      },
      "message": "mm: remove CONFIG_UNEVICTABLE_LRU config option\n\nCurrently, nobody wants to turn UNEVICTABLE_LRU off.  Thus this\nconfigurability is unnecessary.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nAcked-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "96cb4df5ddf5e6d5785b5acd4003e3689b87f896",
      "tree": "e6bd74df480e9065617aebec29b4285fa021c919",
      "parents": [
        "bc75d33f0fc1d56e734db1f56d3cfc8097b8e0cf"
      ],
      "author": {
        "name": "Minchan Kim",
        "email": "minchan.kim@gmail.com",
        "time": "Tue Jun 16 15:32:49 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:42 2009 -0700"
      },
      "message": "page-allocator: add inactive ratio calculation function of each zone\n\nFactor the per-zone arithemetic inside setup_per_zone_inactive_ratio()\u0027s\nloop into a a separate function, calculate_zone_inactive_ratio().  This\nfunction will be used in a later patch\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bc75d33f0fc1d56e734db1f56d3cfc8097b8e0cf",
      "tree": "4dc5054afdff491d8378dee2a235da64d6ad3de6",
      "parents": [
        "b70d94ee438b3fd9c15c7691d7a932a135c18101"
      ],
      "author": {
        "name": "Minchan Kim",
        "email": "minchan.kim@gmail.com",
        "time": "Tue Jun 16 15:32:48 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:41 2009 -0700"
      },
      "message": "page-allocator: clean up functions related to pages_min\n\nChange the names of two functions. It doesn\u0027t affect behavior.\n\nPresently, setup_per_zone_pages_min() changes low, high of zone as well as\nmin.  So a better name is setup_per_zone_wmarks().  That\u0027s because Mel\nchanged zone-\u003epages_[hig/low/min] to zone-\u003ewatermark array in \"page\nallocator: replace the watermark-related union in struct zone with a\nwatermark[] array\".\n\n * setup_per_zone_pages_min \u003d\u003e setup_per_zone_wmarks\n\nOf course, we have to change init_per_zone_pages_min, too.  There are not\npages_min any more.\n\n * init_per_zone_pages_min \u003d\u003e init_per_zone_wmark_min\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b70d94ee438b3fd9c15c7691d7a932a135c18101",
      "tree": "a33e88b812c0cd8a18017e34dcddcea7715320c9",
      "parents": [
        "31c911329e048b715a1dfeaaf617be9430fd7f4e"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Tue Jun 16 15:32:46 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:41 2009 -0700"
      },
      "message": "page-allocator: use integer fields lookup for gfp_zone and check for errors in flags passed to the page allocator\n\nThis simplifies the code in gfp_zone() and also keeps the ability of the\ncompiler to use constant folding to get rid of gfp_zone processing.\n\nThe lookup of the zone is done using a bitfield stored in an integer.  So\nthe code in gfp_zone is a simple extraction of bits from a constant\nbitfield.  The compiler is generating a load of a constant into a register\nand then performs a shift and mask operation to get the zone from a gfp_t.\n No cachelines are touched and no branches have to be predicted by the\ncompiler.\n\nWe are doing some macro tricks here to convince the compiler to always do\nthe constant folding if possible.\n\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "31c911329e048b715a1dfeaaf617be9430fd7f4e",
      "tree": "a8eca5337528c21ab54ae5ad152d04a471b906cf",
      "parents": [
        "69c854817566db82c362797b4a6521d0b00fe1d8"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Tue Jun 16 15:32:45 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:41 2009 -0700"
      },
      "message": "mm: check the argument of kunmap on architectures without highmem\n\nIf you\u0027re using a non-highmem architecture, passing an argument with the\nwrong type to kunmap() doesn\u0027t give you a warning because the ifdef\ndoesn\u0027t check the type.\n\nUsing a static inline function solves the problem nicely.\n\nReported-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.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": "7f33d49a2ed546e01f7b1d0607661810f2421859",
      "tree": "8b05ac7ec2cd123efb266ecaa1bf0bd1487158f8",
      "parents": [
        "75927af8bcb940dad4fe281713d526cb520869ff"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jun 16 15:32:41 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:40 2009 -0700"
      },
      "message": "mm, PM/Freezer: Disable OOM killer when tasks are frozen\n\nCurrently, the following scenario appears to be possible in theory:\n\n* Tasks are frozen for hibernation or suspend.\n* Free pages are almost exhausted.\n* Certain piece of code in the suspend code path attempts to allocate\n  some memory using GFP_KERNEL and allocation order less than or\n  equal to PAGE_ALLOC_COSTLY_ORDER.\n* __alloc_pages_internal() cannot find a free page so it invokes the\n  OOM killer.\n* The OOM killer attempts to kill a task, but the task is frozen, so\n  it doesn\u0027t die immediately.\n* __alloc_pages_internal() jumps to \u0027restart\u0027, unsuccessfully tries\n  to find a free page and invokes the OOM killer.\n* No progress can be made.\n\nAlthough it is now hard to trigger during hibernation due to the memory\nshrinking carried out by the hibernation code, it is theoretically\npossible to trigger during suspend after the memory shrinking has been\nremoved from that code path.  Moreover, since memory allocations are\ngoing to be used for the hibernation memory shrinking, it will be even\nmore likely to happen during hibernation.\n\nTo prevent it from happening, introduce the oom_killer_disabled switch\nthat will cause __alloc_pages_internal() to fail in the situations in\nwhich the OOM killer would have been called and make the freezer set\nthis switch after tasks have been successfully frozen.\n\n[akpm@linux-foundation.org: be nicer to the namespace]\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Fengguang Wu \u003cfengguang.wu@gmail.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\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": "3b6748e2dd69906af3835db4dc9d1c8a3ee4c68c",
      "tree": "5d5476844f8e29e31684ce8ccf7e163ab3182ad6",
      "parents": [
        "03668a4debf4f50de55c34b6e66dae63e1c73716"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Tue Jun 16 15:32:35 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:40 2009 -0700"
      },
      "message": "mm: introduce follow_pfn()\n\nAnaloguous to follow_phys(), add a helper that looks up the PFN at a\nuser virtual address in an IO mapping or a raw PFN mapping.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nAcked-by: Magnus Damm \u003cmagnus.damm@gmail.com\u003e\nCc: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\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": "6e08a369ee10b361ac1cdcdf4fabd420fd08beb3",
      "tree": "9dbf870cad025b64781d9051b6680a8a23927e5a",
      "parents": [
        "56e49d218890f49b0057710a4b6fef31f5ffbfec"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Tue Jun 16 15:32:29 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:39 2009 -0700"
      },
      "message": "vmscan: cleanup the scan batching code\n\nThe vmscan batching logic is twisting.  Move it into a standalone function\nnr_scan_try_batch() and document it.  No behavior change.\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-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": "56e49d218890f49b0057710a4b6fef31f5ffbfec",
      "tree": "a0525dd9a140352276bdfb76a3d65230c3e5121d",
      "parents": [
        "35efa5e993a7a00a50b87d2b7725c3eafc80b083"
      ],
      "author": {
        "name": "Rik van Riel",
        "email": "riel@redhat.com",
        "time": "Tue Jun 16 15:32:28 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:38 2009 -0700"
      },
      "message": "vmscan: evict use-once pages first\n\nWhen the file LRU lists are dominated by streaming IO pages, evict those\npages first, before considering evicting other pages.\n\nThis should be safe from deadlocks or performance problems\nbecause only three things can happen to an inactive file page:\n\n1) referenced twice and promoted to the active list\n2) evicted by the pageout code\n3) under IO, after which it will get evicted or promoted\n\nThe pages freed in this way can either be reused for streaming IO, or\nallocated for something else.  If the pages are used for streaming IO,\nthis pageout pattern continues.  Otherwise, we will fall back to the\nnormal pageout pattern.\n\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nReported-by: Elladan \u003celladan@eskimo.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nAcked-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "20a0307c0396c2edb651401d2f2db193dda2f3c9",
      "tree": "408fde4bf84223757f5dd150e401e8d9d9df5d36",
      "parents": [
        "a1dd268cf6306565a31a48deff8bf4f6b4b105f7"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Tue Jun 16 15:32:22 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:36 2009 -0700"
      },
      "message": "mm: introduce PageHuge() for testing huge/gigantic pages\n\nA series of patches to enhance the /proc/pagemap interface and to add a\nuserspace executable which can be used to present the pagemap data.\n\nExport 10 more flags to end users (and more for kernel developers):\n\n        11. KPF_MMAP            (pseudo flag) memory mapped page\n        12. KPF_ANON            (pseudo flag) memory mapped page (anonymous)\n        13. KPF_SWAPCACHE       page is in swap cache\n        14. KPF_SWAPBACKED      page is swap/RAM backed\n        15. KPF_COMPOUND_HEAD   (*)\n        16. KPF_COMPOUND_TAIL   (*)\n        17. KPF_HUGE\t\thugeTLB pages\n        18. KPF_UNEVICTABLE     page is in the unevictable LRU list\n        19. KPF_HWPOISON        hardware detected corruption\n        20. KPF_NOPAGE          (pseudo flag) no page frame at the address\n\n        (*) For compound pages, exporting _both_ head/tail info enables\n            users to tell where a compound page starts/ends, and its order.\n\na simple demo of the page-types tool\n\n# ./page-types -h\npage-types [options]\n            -r|--raw                  Raw mode, for kernel developers\n            -a|--addr    addr-spec    Walk a range of pages\n            -b|--bits    bits-spec    Walk pages with specified bits\n            -l|--list                 Show page details in ranges\n            -L|--list-each            Show page details one by one\n            -N|--no-summary           Don\u0027t show summay info\n            -h|--help                 Show this usage message\naddr-spec:\n            N                         one page at offset N (unit: pages)\n            N+M                       pages range from N to N+M-1\n            N,M                       pages range from N to M-1\n            N,                        pages range from N to end\n            ,M                        pages range from 0 to M\nbits-spec:\n            bit1,bit2                 (flags \u0026 (bit1|bit2)) !\u003d 0\n            bit1,bit2\u003dbit1            (flags \u0026 (bit1|bit2)) \u003d\u003d bit1\n            bit1,~bit2                (flags \u0026 (bit1|bit2)) \u003d\u003d bit1\n            \u003dbit1,bit2                flags \u003d\u003d (bit1|bit2)\nbit-names:\n          locked              error         referenced           uptodate\n           dirty                lru             active               slab\n       writeback            reclaim              buddy               mmap\n       anonymous          swapcache         swapbacked      compound_head\n   compound_tail               huge        unevictable           hwpoison\n          nopage           reserved(r)         mlocked(r)    mappedtodisk(r)\n         private(r)       private_2(r)   owner_private(r)            arch(r)\n        uncached(r)       readahead(o)       slob_free(o)     slub_frozen(o)\n      slub_debug(o)\n                                   (r) raw mode bits  (o) overloaded bits\n\n# ./page-types\n             flags      page-count       MB  symbolic-flags                     long-symbolic-flags\n0x0000000000000000          487369     1903  _________________________________\n0x0000000000000014               5        0  __R_D____________________________  referenced,dirty\n0x0000000000000020               1        0  _____l___________________________  lru\n0x0000000000000024              34        0  __R__l___________________________  referenced,lru\n0x0000000000000028            3838       14  ___U_l___________________________  uptodate,lru\n0x0001000000000028              48        0  ___U_l_______________________I___  uptodate,lru,readahead\n0x000000000000002c            6478       25  __RU_l___________________________  referenced,uptodate,lru\n0x000100000000002c              47        0  __RU_l_______________________I___  referenced,uptodate,lru,readahead\n0x0000000000000040            8344       32  ______A__________________________  active\n0x0000000000000060               1        0  _____lA__________________________  lru,active\n0x0000000000000068             348        1  ___U_lA__________________________  uptodate,lru,active\n0x0001000000000068              12        0  ___U_lA______________________I___  uptodate,lru,active,readahead\n0x000000000000006c             988        3  __RU_lA__________________________  referenced,uptodate,lru,active\n0x000100000000006c              48        0  __RU_lA______________________I___  referenced,uptodate,lru,active,readahead\n0x0000000000004078               1        0  ___UDlA_______b__________________  uptodate,dirty,lru,active,swapbacked\n0x000000000000407c              34        0  __RUDlA_______b__________________  referenced,uptodate,dirty,lru,active,swapbacked\n0x0000000000000400             503        1  __________B______________________  buddy\n0x0000000000000804               1        0  __R________M_____________________  referenced,mmap\n0x0000000000000828            1029        4  ___U_l_____M_____________________  uptodate,lru,mmap\n0x0001000000000828              43        0  ___U_l_____M_________________I___  uptodate,lru,mmap,readahead\n0x000000000000082c             382        1  __RU_l_____M_____________________  referenced,uptodate,lru,mmap\n0x000100000000082c              12        0  __RU_l_____M_________________I___  referenced,uptodate,lru,mmap,readahead\n0x0000000000000868             192        0  ___U_lA____M_____________________  uptodate,lru,active,mmap\n0x0001000000000868              12        0  ___U_lA____M_________________I___  uptodate,lru,active,mmap,readahead\n0x000000000000086c             800        3  __RU_lA____M_____________________  referenced,uptodate,lru,active,mmap\n0x000100000000086c              31        0  __RU_lA____M_________________I___  referenced,uptodate,lru,active,mmap,readahead\n0x0000000000004878               2        0  ___UDlA____M__b__________________  uptodate,dirty,lru,active,mmap,swapbacked\n0x0000000000001000             492        1  ____________a____________________  anonymous\n0x0000000000005808               4        0  ___U_______Ma_b__________________  uptodate,mmap,anonymous,swapbacked\n0x0000000000005868            2839       11  ___U_lA____Ma_b__________________  uptodate,lru,active,mmap,anonymous,swapbacked\n0x000000000000586c              30        0  __RU_lA____Ma_b__________________  referenced,uptodate,lru,active,mmap,anonymous,swapbacked\n             total          513968     2007\n\n# ./page-types -r\n             flags      page-count       MB  symbolic-flags                     long-symbolic-flags\n0x0000000000000000          468002     1828  _________________________________\n0x0000000100000000           19102       74  _____________________r___________  reserved\n0x0000000000008000              41        0  _______________H_________________  compound_head\n0x0000000000010000             188        0  ________________T________________  compound_tail\n0x0000000000008014               1        0  __R_D__________H_________________  referenced,dirty,compound_head\n0x0000000000010014               4        0  __R_D___________T________________  referenced,dirty,compound_tail\n0x0000000000000020               1        0  _____l___________________________  lru\n0x0000000800000024              34        0  __R__l__________________P________  referenced,lru,private\n0x0000000000000028            3794       14  ___U_l___________________________  uptodate,lru\n0x0001000000000028              46        0  ___U_l_______________________I___  uptodate,lru,readahead\n0x0000000400000028              44        0  ___U_l_________________d_________  uptodate,lru,mappedtodisk\n0x0001000400000028               2        0  ___U_l_________________d_____I___  uptodate,lru,mappedtodisk,readahead\n0x000000000000002c            6434       25  __RU_l___________________________  referenced,uptodate,lru\n0x000100000000002c              47        0  __RU_l_______________________I___  referenced,uptodate,lru,readahead\n0x000000040000002c              14        0  __RU_l_________________d_________  referenced,uptodate,lru,mappedtodisk\n0x000000080000002c              30        0  __RU_l__________________P________  referenced,uptodate,lru,private\n0x0000000800000040            8124       31  ______A_________________P________  active,private\n0x0000000000000040             219        0  ______A__________________________  active\n0x0000000800000060               1        0  _____lA_________________P________  lru,active,private\n0x0000000000000068             322        1  ___U_lA__________________________  uptodate,lru,active\n0x0001000000000068              12        0  ___U_lA______________________I___  uptodate,lru,active,readahead\n0x0000000400000068              13        0  ___U_lA________________d_________  uptodate,lru,active,mappedtodisk\n0x0000000800000068              12        0  ___U_lA_________________P________  uptodate,lru,active,private\n0x000000000000006c             977        3  __RU_lA__________________________  referenced,uptodate,lru,active\n0x000100000000006c              48        0  __RU_lA______________________I___  referenced,uptodate,lru,active,readahead\n0x000000040000006c               5        0  __RU_lA________________d_________  referenced,uptodate,lru,active,mappedtodisk\n0x000000080000006c               3        0  __RU_lA_________________P________  referenced,uptodate,lru,active,private\n0x0000000c0000006c               3        0  __RU_lA________________dP________  referenced,uptodate,lru,active,mappedtodisk,private\n0x0000000c00000068               1        0  ___U_lA________________dP________  uptodate,lru,active,mappedtodisk,private\n0x0000000000004078               1        0  ___UDlA_______b__________________  uptodate,dirty,lru,active,swapbacked\n0x000000000000407c              34        0  __RUDlA_______b__________________  referenced,uptodate,dirty,lru,active,swapbacked\n0x0000000000000400             538        2  __________B______________________  buddy\n0x0000000000000804               1        0  __R________M_____________________  referenced,mmap\n0x0000000000000828            1029        4  ___U_l_____M_____________________  uptodate,lru,mmap\n0x0001000000000828              43        0  ___U_l_____M_________________I___  uptodate,lru,mmap,readahead\n0x000000000000082c             382        1  __RU_l_____M_____________________  referenced,uptodate,lru,mmap\n0x000100000000082c              12        0  __RU_l_____M_________________I___  referenced,uptodate,lru,mmap,readahead\n0x0000000000000868             192        0  ___U_lA____M_____________________  uptodate,lru,active,mmap\n0x0001000000000868              12        0  ___U_lA____M_________________I___  uptodate,lru,active,mmap,readahead\n0x000000000000086c             800        3  __RU_lA____M_____________________  referenced,uptodate,lru,active,mmap\n0x000100000000086c              31        0  __RU_lA____M_________________I___  referenced,uptodate,lru,active,mmap,readahead\n0x0000000000004878               2        0  ___UDlA____M__b__________________  uptodate,dirty,lru,active,mmap,swapbacked\n0x0000000000001000             492        1  ____________a____________________  anonymous\n0x0000000000005008               2        0  ___U________a_b__________________  uptodate,anonymous,swapbacked\n0x0000000000005808               4        0  ___U_______Ma_b__________________  uptodate,mmap,anonymous,swapbacked\n0x000000000000580c               1        0  __RU_______Ma_b__________________  referenced,uptodate,mmap,anonymous,swapbacked\n0x0000000000005868            2839       11  ___U_lA____Ma_b__________________  uptodate,lru,active,mmap,anonymous,swapbacked\n0x000000000000586c              29        0  __RU_lA____Ma_b__________________  referenced,uptodate,lru,active,mmap,anonymous,swapbacked\n             total          513968     2007\n\n# ./page-types --raw --list --no-summary --bits reserved\noffset  count   flags\n0       15      _____________________r___________\n31      4       _____________________r___________\n159     97      _____________________r___________\n4096    2067    _____________________r___________\n6752    2390    _____________________r___________\n9355    3       _____________________r___________\n9728    14526   _____________________r___________\n\nThis patch:\n\nIntroduce PageHuge(), which identifies huge/gigantic pages by their\ndedicated compound destructor functions.\n\nAlso move prep_compound_gigantic_page() to hugetlb.c and make\n__free_pages_ok() non-static.\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "62bc62a873116805774ffd37d7f86aa4faa832b1",
      "tree": "7f3f5b94b2d484a13ca27b8d3f6f54cfe126d7c0",
      "parents": [
        "974709bdb2a34db378fc84140220f363f558d0d6"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux-foundation.org",
        "time": "Tue Jun 16 15:32:15 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:35 2009 -0700"
      },
      "message": "page allocator: use a pre-calculated value instead of num_online_nodes() in fast paths\n\nnum_online_nodes() is called in a number of places but most often by the\npage allocator when deciding whether the zonelist needs to be filtered\nbased on cpusets or the zonelist cache.  This is actually a heavy function\nand touches a number of cache lines.\n\nThis patch stores the number of online nodes at boot time and updates the\nvalue when nodes get onlined and offlined.  The value is then used in a\nnumber of important paths in place of num_online_nodes().\n\n[rientjes@google.com: do not override definition of node_set_online() with macro]\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\nSigned-off-by: 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": "418589663d6011de9006425b6c5721e1544fb47a",
      "tree": "ef37fb026d3e38191d6b5c99bc95c190fa98d0fb",
      "parents": [
        "a3af9c389a7f3e675313f442fdd8c247c1cdb66b"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Tue Jun 16 15:32:12 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:35 2009 -0700"
      },
      "message": "page allocator: use allocation flags as an index to the zone watermark\n\nALLOC_WMARK_MIN, ALLOC_WMARK_LOW and ALLOC_WMARK_HIGH determin whether\npages_min, pages_low or pages_high is used as the zone watermark when\nallocating the pages.  Two branches in the allocator hotpath determine\nwhich watermark to use.\n\nThis patch uses the flags as an array index into a watermark array that is\nindexed with WMARK_* defines accessed via helpers.  All call sites that\nuse zone-\u003epages_* are updated to use the helpers for accessing the values\nand the array offsets for setting.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "49255c619fbd482d704289b5eb2795f8e3b7ff2e",
      "tree": "b1f36ca46bda7767fce12bc4a70360a68f7255ab",
      "parents": [
        "11e33f6a55ed7847d9c8ffe185ef87faf7806abe"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Tue Jun 16 15:31:58 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:33 2009 -0700"
      },
      "message": "page allocator: move check for disabled anti-fragmentation out of fastpath\n\nOn low-memory systems, anti-fragmentation gets disabled as there is\nnothing it can do and it would just incur overhead shuffling pages between\nlists constantly.  Currently the check is made in the free page fast path\nfor every page.  This patch moves it to a slow path.  On machines with low\nmemory, there will be small amount of additional overhead as pages get\nshuffled between lists but it should quickly settle.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6484eb3e2a81807722c5f28efef94d8338b7b996",
      "tree": "10ce36f412c2ff0c7eb399af1a189f8e354f56db",
      "parents": [
        "b3c466ce512923298ae8c0121d3e9f397a3f1210"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Tue Jun 16 15:31:54 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:32 2009 -0700"
      },
      "message": "page allocator: do not check NUMA node ID when the caller knows the node is valid\n\nCallers of alloc_pages_node() can optionally specify -1 as a node to mean\n\"allocate from the current node\".  However, a number of the callers in\nfast paths know for a fact their node is valid.  To avoid a comparison and\nbranch, this patch adds alloc_pages_exact_node() that only checks the nid\nwith VM_BUG_ON().  Callers that know their node is valid are then\nconverted.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Paul Mundt \u003clethal@linux-sh.org\u003e\t[for the SLOB NUMA bits]\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b3c466ce512923298ae8c0121d3e9f397a3f1210",
      "tree": "ca6f360a6dbaaa0a71b9375fb57d544364532254",
      "parents": [
        "d239171e4f6efd58d7e423853056b1b6a74f1446"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Tue Jun 16 15:31:53 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:32 2009 -0700"
      },
      "message": "page allocator: do not sanity check order in the fast path\n\nNo user of the allocator API should be passing in an order \u003e\u003d MAX_ORDER\nbut we check for it on each and every allocation.  Delete this check and\nmake it a VM_BUG_ON check further down the call path.\n\n[akpm@linux-foundation.org: s/VM_BUG_ON/WARN_ON_ONCE/]\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d239171e4f6efd58d7e423853056b1b6a74f1446",
      "tree": "3b0d96abf99e5add7bfc6236f745503b540bd350",
      "parents": [
        "6c0db4664b49417d80988953e69c323721353227"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Tue Jun 16 15:31:52 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:32 2009 -0700"
      },
      "message": "page allocator: replace __alloc_pages_internal() with __alloc_pages_nodemask()\n\nThe start of a large patch series to clean up and optimise the page\nallocator.\n\nThe performance improvements are in a wide range depending on the exact\nmachine but the results I\u0027ve seen so fair are approximately;\n\nkernbench:\t0\tto\t 0.12% (elapsed time)\n\t\t0.49%\tto\t 3.20% (sys time)\naim9:\t\t-4%\tto\t30% (for page_test and brk_test)\ntbench:\t\t-1%\tto\t 4%\nhackbench:\t-2.5%\tto\t 3.45% (mostly within the noise though)\nnetperf-udp\t-1.34%  to\t 4.06% (varies between machines a bit)\nnetperf-tcp\t-0.44%  to\t 5.22% (varies between machines a bit)\n\nI haven\u0027t sysbench figures at hand, but previously they were within the\n-0.5% to 2% range.\n\nOn netperf, the client and server were bound to opposite number CPUs to\nmaximise the problems with cache line bouncing of the struct pages so I\nexpect different people to report different results for netperf depending\non their exact machine and how they ran the test (different machines, same\ncpus client/server, shared cache but two threads client/server, different\nsocket client/server etc).\n\nI also measured the vmlinux sizes for a single x86-based config with\nCONFIG_DEBUG_INFO enabled but not CONFIG_DEBUG_VM.  The core of the\n.config is based on the Debian Lenny kernel config so I expect it to be\nreasonably typical.\n\nThis patch:\n\n__alloc_pages_internal is the core page allocator function but essentially\nit is an alias of __alloc_pages_nodemask.  Naming a publicly available and\nexported function \"internal\" is also a big ugly.  This patch renames\n__alloc_pages_internal() to __alloc_pages_nodemask() and deletes the old\nnodemask function.\n\nWarning - This patch renames an exported symbol.  No kernel driver is\naffected by external drivers calling __alloc_pages_internal() should\nchange the call to __alloc_pages_nodemask() without any alteration of\nparameters.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "58568d2a8215cb6f55caf2332017d7bdff954e1c",
      "tree": "ffcdee457494ac78d6550b0aeac86536ca152e7b",
      "parents": [
        "950592f7b991f267d707d372b90f508bbe72acbc"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Tue Jun 16 15:31:49 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:31 2009 -0700"
      },
      "message": "cpuset,mm: update tasks\u0027 mems_allowed in time\n\nFix allocating page cache/slab object on the unallowed node when memory\nspread is set by updating tasks\u0027 mems_allowed after its cpuset\u0027s mems is\nchanged.\n\nIn order to update tasks\u0027 mems_allowed in time, we must modify the code of\nmemory policy.  Because the memory policy is applied in the process\u0027s\ncontext originally.  After applying this patch, one task directly\nmanipulates anothers mems_allowed, and we use alloc_lock in the\ntask_struct to protect mems_allowed and memory policy of the task.\n\nBut in the fast path, we didn\u0027t use lock to protect them, because adding a\nlock may lead to performance regression.  But if we don\u0027t add a lock,the\ntask might see no nodes when changing cpuset\u0027s mems_allowed to some\nnon-overlapping set.  In order to avoid it, we set all new allowed nodes,\nthen clear newly disallowed ones.\n\n[lee.schermerhorn@hp.com:\n  The rework of mpol_new() to extract the adjusting of the node mask to\n  apply cpuset and mpol flags \"context\" breaks set_mempolicy() and mbind()\n  with MPOL_PREFERRED and a NULL nodemask--i.e., explicit local\n  allocation.  Fix this by adding the check for MPOL_PREFERRED and empty\n  node mask to mpol_new_mpolicy().\n\n  Remove the now unneeded \u0027nodes \u003d NULL\u0027 from mpol_new().\n\n  Note that mpol_new_mempolicy() is always called with a non-NULL\n  \u0027nodes\u0027 parameter now that it has been removed from mpol_new().\n  Therefore, we don\u0027t need to test nodes for NULL before testing it for\n  \u0027empty\u0027.  However, just to be extra paranoid, add a VM_BUG_ON() to\n  verify this assumption.]\n[lee.schermerhorn@hp.com:\n\n  I don\u0027t think the function name \u0027mpol_new_mempolicy\u0027 is descriptive\n  enough to differentiate it from mpol_new().\n\n  This function applies cpuset set context, usually constraining nodes\n  to those allowed by the cpuset.  However, when the \u0027RELATIVE_NODES flag\n  is set, it also translates the nodes.  So I settled on\n  \u0027mpol_set_nodemask()\u0027, because the comment block for mpol_new() mentions\n  that we need to call this function to \"set nodes\".\n\n  Some additional minor line length, whitespace and typo cleanup.]\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d2bf6be8ab63aa84e6149aac934649aadf3828b1",
      "tree": "65e7f74f1ed6fd9516f1615b0f293d2aaeede07b",
      "parents": [
        "7ffc59b4d0bdfa00e882339f85b8a969bb7021e2"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Tue Jun 16 15:31:39 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:30 2009 -0700"
      },
      "message": "mm: clean up get_user_pages_fast() documentation\n\nMove more documentation for get_user_pages_fast into the new kerneldoc comment.\nAdd some comments for get_user_pages as well.\n\nAlso, move get_user_pages_fast declaration up to get_user_pages. It wasn\u0027t\nthere initially because it was once a static inline function.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Andy Grover \u003candy.grover@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": "dc566127dd161b6c997466a2349ac179527ea89b",
      "tree": "2973018dd4a89f0b20eaa0838eb654b6eff06f68",
      "parents": [
        "d30a11004e3411909f2448546f036a011978062e"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Tue Jun 16 15:31:32 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:30 2009 -0700"
      },
      "message": "radix-tree: add radix_tree_prev_hole()\n\nThe counterpart of radix_tree_next_hole(). To be used by context readahead.\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Vladislav Bolkhovitin \u003cvst@vlnb.net\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Ying Han \u003cyinghan@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": "d30a11004e3411909f2448546f036a011978062e",
      "tree": "c1980adb410d9fabd2c2eb8af9f0ed8ee4b656da",
      "parents": [
        "2fad6f5deee5556f511eab58da78737a23ddb35d"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Tue Jun 16 15:31:30 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:29 2009 -0700"
      },
      "message": "readahead: record mmap read-around states in file_ra_state\n\nMmap read-around now shares the same code style and data structure with\nreadahead code.\n\nThis also removes do_page_cache_readahead().  Its last user, mmap\nread-around, has been changed to call ra_submit().\n\nThe no-readahead-if-congested logic is dumped by the way.  Users will be\npretty sensitive about the slow loading of executables.  So it\u0027s\nunfavorable to disabled mmap read-around on a congested queue.\n\n[akpm@linux-foundation.org: coding-style fixes]\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Fengguang Wu \u003cwfg@mail.ustc.edu.cn\u003e\nCc: Ying Han \u003cyinghan@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": "1ebf26a9b338534def47f307c6c8694b6dfc0a79",
      "tree": "26829a8cc727388c0da8eea6de38d7ba0eda2a47",
      "parents": [
        "bb1f17b0372de93758653ca3454bc0df18dc2e5c"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Tue Jun 16 15:31:19 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:28 2009 -0700"
      },
      "message": "readahead: make mmap_miss an unsigned int\n\nThis makes the performance impact of possible mmap_miss wrap around to be\ntemporary and tolerable: i.e.  MMAP_LOTSAMISS\u003d100 extra readarounds.\n\nOtherwise if ever mmap_miss wraps around to negative, it takes INT_MAX\ncache misses to bring it back to normal state.  During the time mmap\nreadaround will be _enabled_ for whatever wild random workload.  That\u0027s\nalmost permanent performance impact.\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Ying Han \u003cyinghan@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": "bb1f17b0372de93758653ca3454bc0df18dc2e5c",
      "tree": "29ef82933cc98b99d29c6c7004c045af22799d70",
      "parents": [
        "3b0fde0fac19c180317eb0601b3504083f4b9bf5"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Jun 16 15:31:18 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:28 2009 -0700"
      },
      "message": "mm: consolidate init_mm definition\n\n* create mm/init-mm.c, move init_mm there\n* remove INIT_MM, initialize init_mm with C99 initializer\n* unexport init_mm on all arches:\n\n  init_mm is already unexported on x86.\n\n  One strange place is some OMAP driver (drivers/video/omap/) which\n  won\u0027t build modular, but it\u0027s already wants get_vm_area() export.\n  Somebody should look there.\n\n[akpm@linux-foundation.org: add missing #includes]\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Mike Frysinger \u003cvapier.adi@gmail.com\u003e\nCc: Americo Wang \u003cxiyou.wangcong@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3b0fde0fac19c180317eb0601b3504083f4b9bf5",
      "tree": "5458ec10f3c6759ec64c6fa27e12e692a575d07a",
      "parents": [
        "021415468c889979117b1a07b96f7e36de33e995"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Tue Jun 16 15:31:16 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:28 2009 -0700"
      },
      "message": "firmware_map: fix hang with x86/32bit\n\nAddresses http://bugzilla.kernel.org/show_bug.cgi?id\u003d13484\n\nPeer reported:\n| The bug is introduced from kernel 2.6.27, if E820 table reserve the memory\n| above 4G in 32bit OS(BIOS-e820: 00000000fff80000 - 0000000120000000\n| (reserved)), system will report Int 6 error and hang up. The bug is caused by\n| the following code in drivers/firmware/memmap.c, the resource_size_t is 32bit\n| variable in 32bit OS, the BUG_ON() will be invoked to result in the Int 6\n| error. I try the latest 32bit Ubuntu and Fedora distributions, all hit this\n| bug.\n|\u003d\u003d\u003d\u003d\u003d\u003d\n|static int firmware_map_add_entry(resource_size_t start, resource_size_t end,\n|                  const char *type,\n|                  struct firmware_map_entry *entry)\n\nand it only happen with CONFIG_PHYS_ADDR_T_64BIT is not set.\n\nit turns out we need to pass u64 instead of resource_size_t for that.\n\n[akpm@linux-foundation.org: add comment]\nReported-and-tested-by: Peer Chen \u003cpchen@nvidia.com\u003e\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "08604bd9935dc98fb62ef61d5b7baa7ccc10f8c2",
      "tree": "2d0d451d78024bfbb4961a9ba94902abdc5f17e4",
      "parents": [
        "03347e2592078a90df818670fddf97a33eec70fb"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Tue Jun 16 15:31:12 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:27 2009 -0700"
      },
      "message": "time: move PIT_TICK_RATE to linux/timex.h\n\nPIT_TICK_RATE is currently defined in four architectures, but in three\ndifferent places.  While linux/timex.h is not the perfect place for it, it\nis still a reasonable replacement for those drivers that traditionally use\nasm/timex.h to get CLOCK_TICK_RATE and expect it to be the PIT frequency.\n\nNote that for Alpha, the actual value changed from 1193182UL to 1193180UL.\n This is unlikely to make a difference, and probably can only improve\naccuracy.  There was a discussion on the correct value of CLOCK_TICK_RATE\na few years ago, after which every existing instance was getting changed\nto 1193182.  According to the specification, it should be\n1193181.818181...\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nCc: Takashi Iwai \u003ctiwai@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": "19035e5b5d1e3127b4925d86f6a77964f91f2c3c",
      "tree": "c9e7e9073970176a5b0970da715cb6430c3c9069",
      "parents": [
        "f9db6e095115f9411b9647bdb9d81fe11f3d8b54",
        "eea08f32adb3f97553d49a4f79a119833036000a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 15 10:06:19 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 15 10:06:19 2009 -0700"
      },
      "message": "Merge branch \u0027timers-for-linus-migration\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-for-linus-migration\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  timers: Logic to move non pinned timers\n  timers: /proc/sys sysctl hook to enable timer migration\n  timers: Identifying the existing pinned timers\n  timers: Framework for identifying pinned timers\n  timers: allow deferrable timers for intervals tv2-tv5 to be deferred\n\nFix up conflicts in kernel/sched.c and kernel/timer.c manually\n"
    },
    {
      "commit": "3f27c0d2a469673e0f1efc8004b6f42428aa5b94",
      "tree": "548c975cabdcafcac92992d24410ae0a8334dff5",
      "parents": [
        "9aaa630503f20461bee65ebc4fd87ba8d7a2bd2c",
        "cd6d95d8449b7c9f415f26041e9ae173d387b6bd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 15 09:58:33 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 15 09:58:33 2009 -0700"
      },
      "message": "Merge branch \u0027timers-for-linus-clocksource\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-for-linus-clocksource\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  clocksource: prevent selection of low resolution clocksourse also for nohz\u003don\n  clocksource: sanity check sysfs clocksource changes\n"
    },
    {
      "commit": "9aaa630503f20461bee65ebc4fd87ba8d7a2bd2c",
      "tree": "476a4894364733bc71d28904259ceae859eff448",
      "parents": [
        "2ed0e21b30b53d3a94e204196e523e6c8f732b56",
        "e13cf6e04ebc231653e03ebde4799dc55bf62849"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 15 09:43:24 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 15 09:43:24 2009 -0700"
      },
      "message": "Merge branch \u0027timers-for-linus-ntp\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-for-linus-ntp\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  ntp: fix comment typos\n  ntp: adjust SHIFT_PLL to improve NTP convergence\n"
    },
    {
      "commit": "2ed0e21b30b53d3a94e204196e523e6c8f732b56",
      "tree": "de2635426477d86338a9469ce09ba0626052288f",
      "parents": [
        "0fa213310cd8fa7a51071cdcf130e26fa56e9549",
        "9cbc1cb8cd46ce1f7645b9de249b2ce8460129bb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 15 09:40:05 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 15 09:40:05 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1244 commits)\n  pkt_sched: Rename PSCHED_US2NS and PSCHED_NS2US\n  ipv4: Fix fib_trie rebalancing\n  Bluetooth: Fix issue with uninitialized nsh.type in DTL-1 driver\n  Bluetooth: Fix Kconfig issue with RFKILL integration\n  PIM-SM: namespace changes\n  ipv4: update ARPD help text\n  net: use a deferred timer in rt_check_expire\n  ieee802154: fix kconfig bool/tristate muckup\n  bonding: initialization rework\n  bonding: use is_zero_ether_addr\n  bonding: network device names are case sensative\n  bonding: elminate bad refcount code\n  bonding: fix style issues\n  bonding: fix destructor\n  bonding: remove bonding read/write semaphore\n  bonding: initialize before registration\n  bonding: bond_create always called with default parameters\n  x_tables: Convert printk to pr_err\n  netfilter: conntrack: optional reliable conntrack event delivery\n  list_nulls: add hlist_nulls_add_head and hlist_nulls_del\n  ...\n"
    },
    {
      "commit": "0fa213310cd8fa7a51071cdcf130e26fa56e9549",
      "tree": "2a7e5cc33c8938ec82604a99c3797a3132fd91ec",
      "parents": [
        "d3bf80bff13597004b5724ee4549cd68eb0badf0",
        "bc47ab0241c7c86da4f5e5f82fbca7d45387c18d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 15 09:32:52 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 15 09:32:52 2009 -0700"
      },
      "message": "Merge branch \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc\n\n* \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (103 commits)\n  powerpc: Fix bug in move of altivec code to vector.S\n  powerpc: Add support for swiotlb on 32-bit\n  powerpc/spufs: Remove unused error path\n  powerpc: Fix warning when printing a resource_size_t\n  powerpc/xmon: Remove unused variable in xmon.c\n  powerpc/pseries: Fix warnings when printing resource_size_t\n  powerpc: Shield code specific to 64-bit server processors\n  powerpc: Separate PACA fields for server CPUs\n  powerpc: Split exception handling out of head_64.S\n  powerpc: Introduce CONFIG_PPC_BOOK3S\n  powerpc: Move VMX and VSX asm code to vector.S\n  powerpc: Set init_bootmem_done on NUMA platforms as well\n  powerpc/mm: Fix a AB-\u003eBA deadlock scenario with nohash MMU context lock\n  powerpc/mm: Fix some SMP issues with MMU context handling\n  powerpc: Add PTRACE_SINGLEBLOCK support\n  fbdev: Add PLB support and cleanup DCR in xilinxfb driver.\n  powerpc/virtex: Add ml510 reference design device tree\n  powerpc/virtex: Add Xilinx ML510 reference design support\n  powerpc/virtex: refactor intc driver and add support for i8259 cascading\n  powerpc/virtex: Add support for Xilinx PCI host bridge\n  ...\n"
    },
    {
      "commit": "b110a8fb242bc34e4b7686252899ce0fca956e2c",
      "tree": "45a07fe5d288d269ddcdad7786bae1efe063cb6d",
      "parents": [
        "6113c3a5a63b8f0d5613b2a71cd1f5335a37b89a"
      ],
      "author": {
        "name": "Philipp Zabel",
        "email": "philipp.zabel@gmail.com",
        "time": "Thu May 28 07:15:16 2009 +0200"
      },
      "committer": {
        "name": "Liam Girdwood",
        "email": "lrg@slimlogic.co.uk",
        "time": "Mon Jun 15 11:18:26 2009 +0100"
      },
      "message": "regulator/max1586: support increased V3 voltage range\n\nThe V3 regulator can be configured with an external resistor\nconnected to the feedback pin (R24 in the data sheet) to\nincrease the voltage range.\n\nFor example, hx4700 has R24 \u003d 3.32 kOhm to achieve a maximum\nV3 voltage of 1.55 V which is needed for 624 MHz CPU frequency.\n\nSigned-off-by: Philipp Zabel \u003cphilipp.zabel@gmail.com\u003e\nAcked-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Robert Jarzmik \u003crobert.jarzmik@free.fr\u003e\nSigned-off-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\n"
    },
    {
      "commit": "0cbdf7bce5b98807b946d1a96956f30dcae24a50",
      "tree": "a13822c57cf0b2e7cce0ad5f01399e51d6a80534",
      "parents": [
        "1909e2f658ee6ec5bcca62a5599f5653857cfe18"
      ],
      "author": {
        "name": "Marek Szyprowski",
        "email": "m.szyprowski@samsung.com",
        "time": "Tue May 19 07:33:55 2009 +0200"
      },
      "committer": {
        "name": "Liam Girdwood",
        "email": "lrg@slimlogic.co.uk",
        "time": "Mon Jun 15 11:18:26 2009 +0100"
      },
      "message": "LP3971 PMIC regulator driver (updated and combined version)\n\nThis patch adds regulator drivers for National Semiconductors LP3971 PMIC.\nThis LP3971 PMIC controller has 3 DC/DC voltage converters and 5 low\ndrop-out (LDO) regulators. LP3971 PMIC controller uses I2C interface.\n\nReviewed-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nSigned-off-by: Marek Szyprowski \u003cm.szyprowski@samsung.com\u003e\nAcked-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\n"
    },
    {
      "commit": "1d98cccf7f8b944ba4ea56d14bbb7c2eeee59bfe",
      "tree": "079c8db0e879dbddcec7658dee610ade43d86c67",
      "parents": [
        "55f4fa4e33e90c6b25b4c8ed038392a73b654fef"
      ],
      "author": {
        "name": "Mike Rapoport",
        "email": "mike@compulab.co.il",
        "time": "Sun Apr 26 16:49:39 2009 +0300"
      },
      "committer": {
        "name": "Liam Girdwood",
        "email": "lrg@slimlogic.co.uk",
        "time": "Mon Jun 15 11:18:22 2009 +0100"
      },
      "message": "regulator: add userspace-consumer driver\n\nThe userspace-consumer driver allows control of voltage and current\nregulator state from userspace. This is required for fine-grained\npower management of devices that are completely controller by userspace\napplications, e.g. a GPS transciever connected to a serial port.\n\nSigned-off-by: Mike Rapoport \u003cmike@compulab.co.il\u003e\nAcked-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\n"
    },
    {
      "commit": "55f4fa4e33e90c6b25b4c8ed038392a73b654fef",
      "tree": "59e9c50090ca6f2bc5ed1a743c0521560c77fcfa",
      "parents": [
        "45e3e1935e2857c54783291107d33323b3ef33c8"
      ],
      "author": {
        "name": "Robert Jarzmik",
        "email": "robert.jarzmik@free.fr",
        "time": "Thu Apr 23 20:10:43 2009 +0200"
      },
      "committer": {
        "name": "Liam Girdwood",
        "email": "lrg@slimlogic.co.uk",
        "time": "Mon Jun 15 11:18:22 2009 +0100"
      },
      "message": "Maxim 1586 regulator driver\n\nThe Maxim 1586 regulator is a voltage regulator with 2\nvoltage outputs, specially suitable for Marvell PXA\nchips. One output is in the range of required VCC_CORE by\nthe PXA27x chips, the other in the VCC_USIM required as well\nby PXA27x chips.\n\nThe chip is controlled through the I2C bus.\n\nSigned-off-by: Robert Jarzmik \u003crobert.jarzmik@free.fr\u003e\nAcked-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\n"
    },
    {
      "commit": "9cbc1cb8cd46ce1f7645b9de249b2ce8460129bb",
      "tree": "8d104ec2a459346b99413b0b77421ca7b9936c1a",
      "parents": [
        "ca44d6e60f9de26281fda203f58b570e1748c015",
        "45e3e1935e2857c54783291107d33323b3ef33c8"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 15 03:02:23 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 15 03:02:23 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nConflicts:\n\tDocumentation/feature-removal-schedule.txt\n\tdrivers/scsi/fcoe/fcoe.c\n\tnet/core/drop_monitor.c\n\tnet/core/net-traces.c\n"
    },
    {
      "commit": "ca44d6e60f9de26281fda203f58b570e1748c015",
      "tree": "9620f3f91836f608a084acb78d1a178135cfd3b0",
      "parents": [
        "e0f7cb8c8cc6cccce28d2ce39ad8c60d23c3799f"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Mon Jun 15 02:31:47 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 15 02:31:47 2009 -0700"
      },
      "message": "pkt_sched: Rename PSCHED_US2NS and PSCHED_NS2US\n\nLet\u0027s use TICKS instead of US, so PSCHED_TICKS2NS and PSCHED_NS2TICKS\n(like in PSCHED_TICKS_PER_SEC already) to avoid misleading.\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "45e3e1935e2857c54783291107d33323b3ef33c8",
      "tree": "26a6e3228b52d0f96f6e56e5879ca898fe909592",
      "parents": [
        "cf5046323ea254be72535648a9d090b18b8510f3",
        "3f8d9ced7746f3f329ccca0bb3f3c7a2c15c47bb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 14 14:12:18 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 14 14:12:18 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next\n\n* \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next: (53 commits)\n  .gitignore: ignore *.lzma files\n  kbuild: add generic --set-str option to scripts/config\n  kbuild: simplify argument loop in scripts/config\n  kbuild: handle non-existing options in scripts/config\n  kallsyms: generalize text region handling\n  kallsyms: support kernel symbols in Blackfin on-chip memory\n  documentation: make version fix\n  kbuild: fix a compile warning\n  gitignore: Add GNU GLOBAL files to top .gitignore\n  kbuild: fix delay in setlocalversion on readonly source\n  README: fix misleading pointer to the defconf directory\n  vmlinux.lds.h update\n  kernel-doc: cleanup perl script\n  Improve vmlinux.lds.h support for arch specific linker scripts\n  kbuild: fix headers_exports with boolean expression\n  kbuild/headers_check: refine extern check\n  kbuild: fix \"Argument list too long\" error for \"make headers_check\",\n  ignore *.patch files\n  Remove bashisms from scripts\n  menu: fix embedded menu presentation\n  ...\n"
    },
    {
      "commit": "cf5046323ea254be72535648a9d090b18b8510f3",
      "tree": "d44894722bd965b2f28a54c4dc4157f22b618c34",
      "parents": [
        "ae937debe178b4327fd67d604ee83a20f22aa0de",
        "8d34ff34016959d464fd5582ea6a8226fe57ab0e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 14 13:53:22 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 14 13:53:22 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:\n  mlx4_core: Don\u0027t double-free IRQs when falling back from MSI-X to INTx\n  IB/mthca: Don\u0027t double-free IRQs when falling back from MSI-X to INTx\n  IB/mlx4: Add strong ordering to local inval and fast reg work requests\n  IB/ehca: Remove superfluous bitmasks from QP control block\n  RDMA/cxgb3: Limit fast register size based on T3 limitations\n  RDMA/cxgb3: Report correct port state and MTU\n  mlx4_core: Add module parameter for number of MTTs per segment\n  IB/mthca: Add module parameter for number of MTTs per segment\n  RDMA/nes: Fix off-by-one bugs in reset_adapter_ne020() and init_serdes()\n  infiniband: Remove void casts\n  IB/ehca: Increment version number\n  IB/ehca: Remove unnecessary memory operations for userspace queue pairs\n  IB/ehca: Fall back to vmalloc() for big allocations\n  IB/ehca: Replace vmalloc() with kmalloc() for queue allocation\n"
    },
    {
      "commit": "5a7e3d1281bbc4404b250b4a18d3ecb07c77640c",
      "tree": "418a84281f2d2334814ffdb20ad4e3ab41284476",
      "parents": [
        "2625b10d8c37656cf410a464ed95942b3abbd1f6"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Sat Jun 13 14:52:33 2009 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 14 13:50:36 2009 -0700"
      },
      "message": "keyboard: advertise KT_DEAD2 extended diacriticals\n\nIn addition to KT_DEAD which has limited support for diacriticals,\nthere is KT_DEAD2 that can support 256 criticals, so let\u0027s advertise\nit in \u003clinux/keyboard.h\u003e.\n\nThis lets userland know abut the drivers/char/keyboard.c function\nk_dead2, which supports more than the few trivial ones that k_dead\nsupports.\n\nSigned-off-by: Samuel Thibault \u003csamuel.thibault@ens-lyon.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2625b10d8c37656cf410a464ed95942b3abbd1f6",
      "tree": "f02fc44aaed07dceed2566b3fdf4dc64b786cb89",
      "parents": [
        "489f7ab6c18cdd64a2d444e056d60a0e722f4ad7",
        "7f72134c32eb64c77d1fb35123ba8bf815bf797c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 14 13:46:57 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 14 13:46:57 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc: (25 commits)\n  atmel-mci: add MCI2 register definitions\n  atmel-mci: Integrate AT91 specific definition in header file\n  tmio_mmc: allow compilation for ASIC3\n  mmc_block: do not DMA to stack\n  sdhci: Print ADMA status and pointer on debug\n  tmio_mmc: fix clock setup\n  tmio_mmc: map SD control registers after enabling the MFD cell\n  tmio_mmc: correct probe return value for num_resources !\u003d 3\n  tmio_mmc: don\u0027t use set_irq_type\n  tmio_mmc: add bus_shift support\n  MFD,mmc: tmio_mmc: make HCLK configurable\n  mmc_spi: don\u0027t use EINVAL for possible transmission errors\n  cb710: more cleanup for the DEBUG case.\n  sdhci: platform driver for SDHCI\n  mxcmmc: remove frequency workaround\n  cb710: handle DEBUG define in Makefile\n  cb710: add missing parenthesis\n  cb710: fix printk format string\n  mmc: Driver for CB710/720 memory card reader (MMC part)\n  pxamci: add regulator support.\n  ...\n"
    },
    {
      "commit": "489f7ab6c18cdd64a2d444e056d60a0e722f4ad7",
      "tree": "2c7ed6a0042dc15c91ece08c5a3866f610ddca6d",
      "parents": [
        "b322b7816908487c08b89b72f838174c37d8c836",
        "82d27b2b2f3a80ffa7759a49b9cba39e47df476e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 14 13:46:25 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 14 13:46:25 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (31 commits)\n  trivial: remove the trivial patch monkey\u0027s name from SubmittingPatches\n  trivial: Fix a typo in comment of addrconf_dad_start()\n  trivial: usb: fix missing space typo in doc\n  trivial: pci hotplug: adding __init/__exit macros to sgi_hotplug\n  trivial: Remove the hyphen from git commands\n  trivial: fix ETIMEOUT -\u003e ETIMEDOUT typos\n  trivial: Kconfig: .ko is normally not included in module names\n  trivial: SubmittingPatches: fix typo\n  trivial: Documentation/dell_rbu.txt: fix typos\n  trivial: Fix Pavel\u0027s address in MAINTAINERS\n  trivial: ftrace:fix description of trace directory\n  trivial: unnecessary (void*) cast removal in sound/oss/msnd.c\n  trivial: input/misc: Fix typo in Kconfig\n  trivial: fix grammo in bus_for_each_dev() kerneldoc\n  trivial: rbtree.txt: fix rb_entry() parameters in sample code\n  trivial: spelling fix in ppc code comments\n  trivial: fix typo in bio_alloc kernel doc\n  trivial: Documentation/rbtree.txt: cleanup kerneldoc of rbtree.txt\n  trivial: Miscellaneous documentation typo fixes\n  trivial: fix typo milisecond/millisecond for documentation and source comments.\n  ...\n"
    },
    {
      "commit": "b322b7816908487c08b89b72f838174c37d8c836",
      "tree": "8fde3f20bf6fb97b91fd3f88e032251f0c569d00",
      "parents": [
        "f44c2c9e073a578b2946bcf4127ffb041ee765b8",
        "6341de0527c26ea1eaf7b7918e1df98f99e1a525"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 14 13:45:49 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 14 13:45:49 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:\n  HID: fix inverted wheel for bluetooth version of apple mighty mouse\n  HID: no more reinitializtion is needed in post_reset\n  HID: hidraw -- fix comment about accepted devices\n  HID: Multitouch support for the N-Trig touchscreen\n  HID: add new multitouch and digitizer contants\n  HID: autocentering support for Logitech Force 3D Pro\n  HID: fix hid-ff drivers so that devices work even without ff support\n  HID: force feedback support for SmartJoy PLUS PS2/USB adapter\n  HID: Wacom Graphire Bluetooth driver\n  HID: autocentering support for Logitech G25 Racing Wheel\n"
    },
    {
      "commit": "2cf4d4514d5b43c1f3b64bd0ec8b9853bde8f1dc",
      "tree": "e35a625496acc6ac852846d40b8851186b9d1ac4",
      "parents": [
        "44b7532b8b464f606053562400719c9c21276037",
        "ce53895a5d24e0ee19fb92f56c17323fb4c9ab27"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 14 13:42:43 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 14 13:42:43 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of master.kernel.org:/home/rmk/linux-2.6-arm\n\n* \u0027for-linus\u0027 of master.kernel.org:/home/rmk/linux-2.6-arm: (417 commits)\n  MAINTAINERS: EB110ATX is not ebsa110\n  MAINTAINERS: update Eric Miao\u0027s email address and status\n  fb: add support of LCD display controller on pxa168/910 (base layer)\n  [ARM] 5552/1: ep93xx get_uart_rate(): use EP93XX_SYSCON_PWRCNT and EP93XX_SYSCON_PWRCN\n  [ARM] pxa/sharpsl_pm: zaurus needs generic pxa suspend/resume routines\n  [ARM] 5544/1: Trust PrimeCell resource sizes\n  [ARM] pxa/sharpsl_pm: cleanup of gpio-related code.\n  [ARM] pxa/sharpsl_pm: drop set_irq_type calls\n  [ARM] pxa/sharpsl_pm: merge pxa-specific code into generic one\n  [ARM] pxa/sharpsl_pm: merge the two sharpsl_pm.c since it\u0027s now pxa specific\n  [ARM] sa1100: remove unused collie_pm.c\n  [ARM] pxa: fix the conflicting non-static declarations of global_gpios[]\n  [ARM] 5550/1: Add default configure file for w90p910 platform\n  [ARM] 5549/1: Add clock api for w90p910 platform.\n  [ARM] 5548/1: Add gpio api for w90p910 platform\n  [ARM] 5551/1: Add multi-function pin api for w90p910 platform.\n  [ARM] Make ARM_VIC_NR depend on ARM_VIC\n  [ARM] 5546/1: ARM PL022 SSP/SPI driver v3\n  ARM: OMAP4: SMP: Update defconfig for OMAP4430\n  ARM: OMAP4: SMP: Enable SMP support for OMAP4430\n  ...\n"
    },
    {
      "commit": "7923f90fffa8746f6457d4eea2109fd3d6414189",
      "tree": "cd262beed7fd28a20f708fdb7889d6c5d55f39d5",
      "parents": [
        "b9d97328e27b9272ed2ff2ad18de61aa1bf12af8"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Sun Jun 14 22:10:41 2009 +0200"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Sun Jun 14 22:10:41 2009 +0200"
      },
      "message": "vmlinux.lds.h update\n\nUpdated after review by Tim Abbott.\n- Use HEAD_TEXT_SECTION\n- Drop use of section-names.h and delete file\n- Introduce EXIT_CALL\n\nDeleting section-names.h required a few simple\nupdates of init.h\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nCc: Tim Abbott \u003ctabbott@ksplice.com\u003e\n"
    },
    {
      "commit": "4c31791c3d9d38ac052dd5e2981df713d8f3dcc4",
      "tree": "b7f95922b2f1da5b36d95176e6d8f826151f3ee1",
      "parents": [
        "98797a241e28b787b84d308b867ec4c5fe7bbdf8",
        "7517b3fbe40c231d79d36f31c1e9930cbb8c4be2"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@dyn-67.arm.linux.org.uk",
        "time": "Sun Jun 14 11:00:16 2009 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sun Jun 14 11:00:16 2009 +0100"
      },
      "message": "Merge branch \u0027for-rmk\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 into devel\n"
    },
    {
      "commit": "f0e46cc4971f6be96010d9248e0fc076b229d989",
      "tree": "5fc0b80993c82337b8928f063df0749fadc9d13e",
      "parents": [
        "fdd858db7113ca64132de390188d7ca00701013d"
      ],
      "author": {
        "name": "Philipp Zabel",
        "email": "philipp.zabel@gmail.com",
        "time": "Thu Jun 04 20:12:31 2009 +0200"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "pierre@ossman.eu",
        "time": "Sat Jun 13 22:42:59 2009 +0200"
      },
      "message": "MFD,mmc: tmio_mmc: make HCLK configurable\n\nThe Toshiba parts all have a 24 MHz HCLK, but HTC ASIC3 has a 24.576 MHz HCLK\nand AMD Imageon w228x\u0027s HCLK is 80 MHz. With this patch, the MFD driver\nprovides the HCLK frequency to tmio_mmc via mfd_cell-\u003edriver_data.\n\nSigned-off-by: Philipp Zabel \u003cphilipp.zabel@gmail.com\u003e\nAcked-by: Ian Molton \u003cian@mnementh.co.uk\u003e\nAcked-by: Samuel Ortiz \u003csameo@openedhand.com\u003e\nSigned-off-by: Pierre Ossman \u003cpierre@ossman.eu\u003e\n"
    },
    {
      "commit": "c54f6bc67a4398243682f7438a2129906e127d21",
      "tree": "b3c128c917d6325a067caf8758bfd334a0b2e44b",
      "parents": [
        "a3456a2da14fb1d8246df63bb229623d58d09ce1"
      ],
      "author": {
        "name": "Michał Mirosław",
        "email": "mirq-linux@rere.qmqm.pl",
        "time": "Sat Jun 13 12:37:59 2009 +0200"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "pierre@ossman.eu",
        "time": "Sat Jun 13 22:42:59 2009 +0200"
      },
      "message": "cb710: more cleanup for the DEBUG case.\n\nSigned-off-by: Michał Mirosław \u003cmirq-linux@rere.qmqm.pl\u003e\nSigned-off-by: Pierre Ossman \u003cpierre@ossman.eu\u003e\n"
    },
    {
      "commit": "9bf69a26ad9ccdc49469402275204271b3336ab6",
      "tree": "29f8da6bf2d6b2f4ec0b4f0e65be44773a7aafa5",
      "parents": [
        "10eb4f901cacf7da87145330f3ca77b723783497"
      ],
      "author": {
        "name": "Pierre Ossman",
        "email": "pierre@ossman.eu",
        "time": "Thu Jun 04 08:00:40 2009 +0200"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "pierre@ossman.eu",
        "time": "Sat Jun 13 22:42:58 2009 +0200"
      },
      "message": "cb710: handle DEBUG define in Makefile\n\nSigned-off-by: Pierre Ossman \u003cpierre@ossman.eu\u003e\n"
    },
    {
      "commit": "5f5bac8272be791b67c7b7b411e7c8c5847e598a",
      "tree": "30fa0cde7c7c8a879bc26f04155f254df194ea40",
      "parents": [
        "8385f9cb7f12ef6a5261fa76f1a1b612280c94f7"
      ],
      "author": {
        "name": "Michał Mirosław",
        "email": "mirq-linux@rere.qmqm.pl",
        "time": "Fri May 22 20:33:59 2009 +0200"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "pierre@ossman.eu",
        "time": "Sat Jun 13 22:42:58 2009 +0200"
      },
      "message": "mmc: Driver for CB710/720 memory card reader (MMC part)\n\nThe code is divided in two parts. There is a virtual \u0027bus\u0027 driver\nthat handles PCI device and registers three new devices one per card\nreader type. The other driver handles SD/MMC part of the reader.\n\nSigned-off-by: Michał Mirosław \u003cmirq-linux@rere.qmqm.pl\u003e\nSigned-off-by: Pierre Ossman \u003cpierre@ossman.eu\u003e\n"
    },
    {
      "commit": "84c48e6f43ae1771fc67fd8fcd777ff4b3b4465b",
      "tree": "3272373e763d8e3ba5f7d7b0a7e18cd16eb178a8",
      "parents": [
        "5c55b40b27bc3249358dcfc86c0845be409ab7a6",
        "bb6e647051a59dca5a72b3deef1e061d7c1c34da"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 13 13:18:32 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 13 13:18:32 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6:\n  avr32: Fix oops on unaligned user access\n  avr32: Add support for Mediama RMTx add-on board for ATNGW100\n  avr32: Change Atmel ATNGW100 config to add choice of add-on board\n  Fix MIMC200 board LCD init\n  avr32: Fix clash in ATMEL_USART_ flags\n  avr32: remove obsolete hw_interrupt_type\n  avr32: Solves problem with inverted MCI detect pin on Merisc board\n  atmel-mci: Add support for inverted detect pin\n"
    },
    {
      "commit": "fbe0b8d5822a88e2e769a318eaf3134da5881769",
      "tree": "20a55ca2e2e1b7cdd6a60435984c0bd8ae32902f",
      "parents": [
        "c878b7d60418a45c36d99c2dc876ebb76035d404",
        "4024533e60787a5507818b0c0fdb44ddb522cdf5"
      ],
      "author": {
        "name": "Haavard Skinnemoen",
        "email": "haavard.skinnemoen@atmel.com",
        "time": "Sat Jun 13 15:34:22 2009 +0200"
      },
      "committer": {
        "name": "Haavard Skinnemoen",
        "email": "haavard.skinnemoen@atmel.com",
        "time": "Sat Jun 13 15:34:22 2009 +0200"
      },
      "message": "Merge branch \u0027avr32-arch\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6\n"
    },
    {
      "commit": "dd7669a92c6066b2b31bae7e04cd787092920883",
      "tree": "d06a9e18aec99c5a34a191cb3391e74ba8a8ec59",
      "parents": [
        "d219dce76c64f2c883dad0537fa09a56d5ff0a10"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Sat Jun 13 12:30:52 2009 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sat Jun 13 12:30:52 2009 +0200"
      },
      "message": "netfilter: conntrack: optional reliable conntrack event delivery\n\nThis patch improves ctnetlink event reliability if one broadcast\nlistener has set the NETLINK_BROADCAST_ERROR socket option.\n\nThe logic is the following: if an event delivery fails, we keep\nthe undelivered events in the missed event cache. Once the next\npacket arrives, we add the new events (if any) to the missed\nevents in the cache and we try a new delivery, and so on. Thus,\nif ctnetlink fails to deliver an event, we try to deliver them\nonce we see a new packet. Therefore, we may lose state\ntransitions but the userspace process gets in sync at some point.\n\nAt worst case, if no events were delivered to userspace, we make\nsure that destroy events are successfully delivered. Basically,\nif ctnetlink fails to deliver the destroy event, we remove the\nconntrack entry from the hashes and we insert them in the dying\nlist, which contains inactive entries. Then, the conntrack timer\nis added with an extra grace timeout of random32() % 15 seconds\nto trigger the event again (this grace timeout is tunable via\n/proc). The use of a limited random timeout value allows\ndistributing the \"destroy\" resends, thus, avoiding accumulating\nlots \"destroy\" events at the same time. Event delivery may\nre-order but we can identify them by means of the tuple plus\nthe conntrack ID.\n\nThe maximum number of conntrack entries (active or inactive) is\nstill handled by nf_conntrack_max. Thus, we may start dropping\npackets at some point if we accumulate a lot of inactive conntrack\nentries that did not successfully report the destroy event to\nuserspace.\n\nDuring my stress tests consisting of setting a very small buffer\nof 2048 bytes for conntrackd and the NETLINK_BROADCAST_ERROR socket\nflag, and generating lots of very small connections, I noticed\nvery few destroy entries on the fly waiting to be resend.\n\nA simple way to test this patch consist of creating a lot of\nentries, set a very small Netlink buffer in conntrackd (+ a patch\nwhich is not in the git tree to set the BROADCAST_ERROR flag)\nand invoke `conntrack -F\u0027.\n\nFor expectations, no changes are introduced in this patch.\nCurrently, event delivery is only done for new expectations (no\nevents from expectation expiration, removal and confirmation).\nIn that case, they need a per-expectation event cache to implement\nthe same idea that is exposed in this patch.\n\nThis patch can be useful to provide reliable flow-accouting. We\nstill have to add a new conntrack extension to store the creation\nand destroy time.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "d219dce76c64f2c883dad0537fa09a56d5ff0a10",
      "tree": "712ae332fbe5ae56524bb5afe2ee09960bbb74ee",
      "parents": [
        "9858a3ae1d4b390fbaa9c30b83cb66d861b76294"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Sat Jun 13 12:28:57 2009 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sat Jun 13 12:28:57 2009 +0200"
      },
      "message": "list_nulls: add hlist_nulls_add_head and hlist_nulls_del\n\nThis patch adds the hlist_nulls_add_head() function which is\nbased on hlist_nulls_add_head_rcu() but without the use of\nrcu_assign_pointer(). It also adds hlist_nulls_del which is\nexactly the same like hlist_nulls_del_rcu().\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "9858a3ae1d4b390fbaa9c30b83cb66d861b76294",
      "tree": "897127b38a48de3c8c404431303614218ba2bc0f",
      "parents": [
        "a0891aa6a635f658f29bb061a00d6d3486941519"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Sat Jun 13 12:28:22 2009 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sat Jun 13 12:28:22 2009 +0200"
      },
      "message": "netfilter: conntrack: move helper destruction to nf_ct_helper_destroy()\n\nThis patch moves the helper destruction to a function that lives\nin nf_conntrack_helper.c. This new function is used in the patch\nto add ctnetlink reliable event delivery.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "a0891aa6a635f658f29bb061a00d6d3486941519",
      "tree": "40df3898f9f2e0892683c482d81deec4fd5a9257",
      "parents": [
        "65cb9fda32be613216f601a330b311c3bd7a8436"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Sat Jun 13 12:26:29 2009 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sat Jun 13 12:26:29 2009 +0200"
      },
      "message": "netfilter: conntrack: move event caching to conntrack extension infrastructure\n\nThis patch reworks the per-cpu event caching to use the conntrack\nextension infrastructure.\n\nThe main drawback is that we consume more memory per conntrack\nif event delivery is enabled. This patch is required by the\nreliable event delivery that follows to this patch.\n\nBTW, this patch allows you to enable/disable event delivery via\n/proc/sys/net/netfilter/nf_conntrack_events in runtime, although\nyou can still disable event caching as compilation option.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "cd6d95d8449b7c9f415f26041e9ae173d387b6bd",
      "tree": "ddd1f2d6436f398419045b3e0ee860c01523cfea",
      "parents": [
        "3f68535adad8dd89499505a65fb25d0e02d118cc"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Jun 12 11:29:27 2009 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Jun 13 12:00:26 2009 +0200"
      },
      "message": "clocksource: prevent selection of low resolution clocksourse also for nohz\u003don\n\ncommit 3f68535adad (clocksource: sanity check sysfs clocksource\nchanges) prevents selection of non high resolution capable\nclocksources when high resolution mode is active, but did not take\ninto account that the same rules apply for highres\u003doff nohz\u003don.\n\nCheck the tick device mode instead of hrtimer_hres_active() to verify\nwhether the system needs to be protected from a switch to jiffies or\nother non highres capable clock sources.\n\nReported-by: Luming Yu \u003cluming.yu@gmail.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "dd14be4c274fc484eccace03ae9726e516630331",
      "tree": "3b8cfb3a060b9f1232d37de749b82c659248e8c5",
      "parents": [
        "7d85ccd816535f56880f7dfdb4de056794376b2c"
      ],
      "author": {
        "name": "Richard Röjfors",
        "email": "richard.rojfors.ext@mocean-labs.com",
        "time": "Fri Jun 05 15:40:32 2009 +0200"
      },
      "committer": {
        "name": "Ben Dooks",
        "email": "ben-linux@fluff.org",
        "time": "Sat Jun 13 10:39:28 2009 +0100"
      },
      "message": "i2c-ocores: Can add I2C devices to the bus\n\nThere is sometimes a need for the ocores driver to add devices to the\nbus when installed.\n\ni2c_register_board_info can not always be used, because the I2C devices\n are not known at an early state, they could for instance be connected\n on a I2C bus on a PCI device which has the Open Cores IP.\n\ni2c_new_device can not be used in all cases either since the resulting\nbus nummer might be unknown.\n\nThe solution is the pass a list of I2C devices in the platform data to\nthe Open Cores driver. This is useful for MFD drivers.\n\nSigned-off-by: Richard Röjfors \u003crichard.rojfors.ext@mocean-labs.com\u003e\nSigned-off-by: Ben Dooks \u003cben-linux@fluff.org\u003e\n"
    },
    {
      "commit": "cd166bd0dde265a97dd9aa8e3451a2646d96d04b",
      "tree": "3a7fb5b8bb8d7676e804845b75977be380b8dcff",
      "parents": [
        "6b702462cbe5b6f372966a53f4465d745d86b65c",
        "5b02ee3d219f9e01b6e9146e25613822cfc2e5ce"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 18:15:51 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 18:15:51 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic:\n  add generic lib/checksum.c\n  asm-generic: add a generic uaccess.h\n  asm-generic: add generic NOMMU versions of some headers\n  asm-generic: add generic atomic.h and io.h\n  asm-generic: add legacy I/O header files\n  asm-generic: add generic versions of common headers\n  asm-generic: make bitops.h usable\n  asm-generic: make pci.h usable directly\n  asm-generic: make get_rtc_time overridable\n  asm-generic: rename page.h and uaccess.h\n  asm-generic: rename atomic.h to atomic-long.h\n  asm-generic: add a generic unistd.h\n  asm-generic: add generic ABI headers\n  asm-generic: add generic sysv ipc headers\n  asm-generic: introduce asm/bitsperlong.h\n  asm-generic: rename termios.h, signal.h and mman.h\n"
    },
    {
      "commit": "6b702462cbe5b6f372966a53f4465d745d86b65c",
      "tree": "19a8d090b284bb804e8a2ffa38fa51b58118db6a",
      "parents": [
        "947ec0b0c1e7e80eef4fe64f7763a06d0cf04d2e",
        "3c24475c1e4e8d10e50df161d8c4f1d382997a7c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 18:09:18 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 18:09:18 2009 -0700"
      },
      "message": "Merge branch \u0027drm-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6\n\n* \u0027drm-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (50 commits)\n  drm: include kernel list header file in hashtab header\n  drm: Export hash table functionality.\n  drm: Split out the mm declarations in a separate header. Add atomic operations.\n  drm/radeon: add support for RV790.\n  drm/radeon: add rv740 drm support.\n  drm_calloc_large: check right size, check integer overflow, use GFP_ZERO\n  drm: Eliminate magic I2C frobbing when reading EDID\n  drm/i915: duplicate desired mode for use by fbcon.\n  drm/via: vfree() no need checking before calling it\n  drm: Replace DRM_DEBUG with DRM_DEBUG_DRIVER in i915 driver\n  drm: Replace DRM_DEBUG with DRM_DEBUG_MODE in drm_mode\n  drm/i915: Replace DRM_DEBUG with DRM_DEBUG_KMS in intel_sdvo\n  drm/i915: replace DRM_DEBUG with DRM_DEBUG_KMS in intel_lvds\n  drm: add separate drm debugging levels\n  radeon: remove _DRM_DRIVER from the preadded sarea map\n  drm: don\u0027t associate _DRM_DRIVER maps with a master\n  drm: simplify kcalloc() call to kzalloc().\n  intelfb: fix spelling of \"CLOCK\"\n  drm: fix LOCK_TEST_WITH_RETURN macro\n  drm/i915: Hook connector to encoder during load detection (fixes tv/vga detect)\n  ...\n"
    },
    {
      "commit": "947ec0b0c1e7e80eef4fe64f7763a06d0cf04d2e",
      "tree": "29547b6975d58c3b252f08dc6c2dbda3b9adfa88",
      "parents": [
        "c53567ad4528b6efefc3fc22a354d20f6226a098",
        "5818a6e2519b34cd6d0220d89f5729ab2725e1bf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 13:17:27 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 13:17:27 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6:\n  PM: Add empty suspend/resume device irq functions\n  PM/Hibernate: Move NVS routines into a seperate file (v2).\n  PM/Hibernate: Rename disk.c to hibernate.c\n  PM: Separate suspend to RAM functionality from core\n  Driver Core: Rework platform suspend/resume, print warning\n  PM: Remove device_type suspend()/resume()\n  PM/Hibernate: Move memory shrinking to snapshot.c (rev. 2)\n  PM/Suspend: Do not shrink memory before suspend\n  PM: Remove bus_type suspend_late()/resume_early() V2\n  PM core: rename suspend and resume functions\n  PM: Rename device_power_down/up()\n  PM: Remove unused asm/suspend.h\n  x86: unify power/cpu_(32|64).c\n  x86: unify power/cpu_(32|64) copyright notes\n  x86: unify power/cpu_(32|64) regarding restoring processor state\n  x86: unify power/cpu_(32|64) regarding saving processor state\n  x86: unify power/cpu_(32|64) global variables\n  x86: unify power/cpu_(32|64) headers\n  PM: Warn if interrupts are enabled during suspend-resume of sysdevs\n  PM/ACPI/x86: Fix sparse warning in arch/x86/kernel/acpi/sleep.c\n"
    },
    {
      "commit": "c53567ad4528b6efefc3fc22a354d20f6226a098",
      "tree": "faa289a41715e0a9a174623a76c7d52b10d4a6df",
      "parents": [
        "4ddbac98980fe0a42cf57af5d1032e024aced6a1",
        "748285ccf7ea76d3d76d0d5f2945ad6fb91f5329"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 13:17:12 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 13:17:12 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm:\n  dlm: use more NOFS allocation\n  dlm: connect to nodes earlier\n  dlm: fix use count with multiple joins\n  dlm: Make name input parameter of {,dlm_}new_lockspace() const\n"
    },
    {
      "commit": "4ddbac98980fe0a42cf57af5d1032e024aced6a1",
      "tree": "341d152dc1f9427d70d5b1fadafca61d22baacbb",
      "parents": [
        "02a99ed6207e9a1d787bb360ef97de023c7edf4a",
        "018df72dd01576ab199c6129233cdeaf1409958b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 13:16:52 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 13:16:52 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: Start documenting HAVE_PERF_COUNTERS requirements\n  perf_counter: Add forward/backward attribute ABI compatibility\n  perf record: Explicity program a default counter\n  perf_counter: Remove PERF_TYPE_RAW special casing\n  perf_counter: PERF_TYPE_HW_CACHE is a hardware counter too\n  powerpc, perf_counter: Fix performance counter event types\n  perf_counter/x86: Add a quirk for Atom processors\n  perf_counter tools: Remove one L1-data alias\n"
    },
    {
      "commit": "5818a6e2519b34cd6d0220d89f5729ab2725e1bf",
      "tree": "e6928374858c50bf8c1d10c904550e76c5dae982",
      "parents": [
        "fce2b111fae9151a53dabb36513b398d03337a19"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Thu Jun 11 21:59:21 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jun 12 21:32:33 2009 +0200"
      },
      "message": "PM: Add empty suspend/resume device irq functions\n\ngit commit 0a0c5168 \"PM: Introduce functions for suspending and resuming\ndevice interrupts\" introduced some helper functions. However these\nfunctions are only available for architectures which support\nGENERIC_HARDIRQS.\n\nOther architectures will see this build error:\n\ndrivers/built-in.o: In function `sysdev_suspend\u0027:\n(.text+0x15138): undefined reference to `check_wakeup_irqs\u0027\ndrivers/built-in.o: In function `device_power_up\u0027:\n(.text+0x1cb66): undefined reference to `resume_device_irqs\u0027\ndrivers/built-in.o: In function `device_power_down\u0027:\n(.text+0x1cb92): undefined reference to `suspend_device_irqs\u0027\n\nTo fix this add some empty inline functions for !GENERIC_HARDIRQS.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "fce2b111fae9151a53dabb36513b398d03337a19",
      "tree": "9349fce23fca0e2d90780e40aac2a6535f820c32",
      "parents": [
        "8b759b84c8b3c27ccc8dd787294636297b3ebb40"
      ],
      "author": {
        "name": "Cornelia Huck",
        "email": "cornelia.huck@de.ibm.com",
        "time": "Wed Jun 10 01:28:19 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jun 12 21:32:33 2009 +0200"
      },
      "message": "PM/Hibernate: Move NVS routines into a seperate file (v2).\n\nThe *_nvs_* routines in swsusp.c make use of the io*map()\nfunctions, which are only provided for HAS_IOMEM, thus\nbreaking compilation if HAS_IOMEM is not set. Fix this\nby moving the *_nvs_* routines into hibernate_nvs.c, which\nis only compiled if HAS_IOMEM is set.\n\n[rjw: Change the name of the new file to hibernate_nvs.c, add the\n license line to the header comment.]\n\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "00725787511e20dbd1fdc1fb233606120ae5c8cf",
      "tree": "82fa3c48aca074a993a122751a2333000e1668a3",
      "parents": [
        "fe419535d82724314bbf1244a0e740e4ea1bd3ae"
      ],
      "author": {
        "name": "Magnus Damm",
        "email": "damm@igel.co.jp",
        "time": "Thu Jun 04 22:13:25 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jun 12 21:32:32 2009 +0200"
      },
      "message": "PM: Remove device_type suspend()/resume()\n\nThis patch removes the legacy callbacks -\u003esuspend() and\n-\u003eresume() from struct device_type. These callbacks seem\nunused, and new code should instead make use of struct\ndev_pm_ops.\n\nSigned-off-by: Magnus Damm \u003cdamm@igel.co.jp\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "e240b58c79144708530138e05f17c6d0d8d744a8",
      "tree": "c42553ae8ffb034a767cebb0b4876db3528a2e11",
      "parents": [
        "d161630297a20802d01c55847bfcba85d2118a9f"
      ],
      "author": {
        "name": "Magnus Damm",
        "email": "damm@igel.co.jp",
        "time": "Sun May 24 22:05:54 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jun 12 21:32:31 2009 +0200"
      },
      "message": "PM: Remove bus_type suspend_late()/resume_early() V2\n\nRemove the -\u003esuspend_late() and -\u003eresume_early() callbacks\nfrom struct bus_type V2. These callbacks are legacy stuff\nat this point and since there seem to be no in-tree users\nwe may as well remove them. New users should use dev_pm_ops.\n\nSigned-off-by: Magnus Damm \u003cdamm@igel.co.jp\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "d161630297a20802d01c55847bfcba85d2118a9f",
      "tree": "51685c169319400b6da4dc6c56b69e731c45f297",
      "parents": [
        "e39a71ef80877f4e30d808af9acceec80f4d2f7c"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Sun May 24 22:05:42 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jun 12 21:32:31 2009 +0200"
      },
      "message": "PM core: rename suspend and resume functions\n\nThis patch (as1241) renames a bunch of functions in the PM core.\nRather than go through a boring list of name changes, suffice it to\nsay that in the end we have a bunch of pairs of functions:\n\n\tdevice_resume_noirq\tdpm_resume_noirq\n\tdevice_resume\t\tdpm_resume\n\tdevice_complete\t\tdpm_complete\n\tdevice_suspend_noirq\tdpm_suspend_noirq\n\tdevice_suspend\t\tdpm_suspend\n\tdevice_prepare\t\tdpm_prepare\n\nin which device_X does the X operation on a single device and dpm_X\ninvokes device_X for all devices in the dpm_list.\n\nIn addition, the old dpm_power_up and device_resume_noirq have been\ncombined into a single function (dpm_resume_noirq).\n\nLastly, dpm_suspend_start and dpm_resume_end are the renamed versions\nof the former top-level device_suspend and device_resume routines.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nAcked-by: Magnus Damm \u003cdamm@igel.co.jp\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "e39a71ef80877f4e30d808af9acceec80f4d2f7c",
      "tree": "e9d4ff1618328cf3a3fafee04621b9776ca169de",
      "parents": [
        "1380a37e3da5d9e14ea5c2a4c6ab2b307a2798ea"
      ],
      "author": {
        "name": "Magnus Damm",
        "email": "damm@igel.co.jp",
        "time": "Fri May 15 00:53:26 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jun 12 21:32:31 2009 +0200"
      },
      "message": "PM: Rename device_power_down/up()\n\nRename the functions performing \"_noirq\" dev_pm_ops\noperations from device_power_down() and device_power_up()\nto device_suspend_noirq() and device_resume_noirq().\n\nThe new function names are chosen to show that the functions\nare responsible for calling the _noirq() versions to finalize\nthe suspend/resume operation. The current function names do\nnot perform power down/up anymore so the names may be misleading.\n\nGlobal function renames:\n- device_power_down() -\u003e device_suspend_noirq()\n- device_power_up() -\u003e device_resume_noirq()\n\nStatic function renames:\n- suspend_device_noirq() -\u003e __device_suspend_noirq()\n- resume_device_noirq() -\u003e __device_resume_noirq()\n\nSigned-off-by: Magnus Damm \u003cdamm@igel.co.jp\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nAcked-by: Len Brown \u003clenb@kernel.org\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "e349792a385ed47390d156155b1a1e19af1bf163",
      "tree": "f9dc4e3e42769950230eaa58ecdd056eb27b23e8",
      "parents": [
        "6d21491838a2a9f22843c7530b118596ee9f4d77",
        "e3f86d3d3ce350144562d9bd035dc8a274fce58e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 11:16:27 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 11:16:27 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (290 commits)\n  ALSA: pcm - Update document about xrun_debug proc file\n  ALSA: lx6464es - support standard alsa module parameters\n  ALSA: snd_usb_caiaq: set mixername\n  ALSA: hda - add quirk for STAC92xx (SigmaTel STAC9205)\n  ALSA: use card device as parent for jack input-devices\n  ALSA: sound/ps3: Correct existing and add missing annotations\n  ALSA: sound/ps3: Restructure driver source\n  ALSA: sound/ps3: Fix checkpatch issues\n  ASoC: Fix lm4857 control\n  ALSA: ctxfi - Clear PCM resources at hw_params and hw_free\n  ALSA: ctxfi - Check the presence of SRC instance in PCM pointer callbacks\n  ALSA: ctxfi - Add missing start check in atc_pcm_playback_start()\n  ALSA: ctxfi - Add use_system_timer module option\n  ALSA: usb - Add boot quirk for C-Media 6206 USB Audio\n  ALSA: ctxfi - Fix wrong model id for UAA\n  ALSA: ctxfi - Clean up probe routines\n  ALSA: hda - Fix the previous tagra-8ch patch\n  ALSA: hda - Add 7.1 support for MSI GX620\n  ALSA: pcm - A helper function to compose PCM stream name for debug prints\n  ALSA: emu10k1 - Fix minimum periods for efx playback\n  ...\n"
    },
    {
      "commit": "6d21491838a2a9f22843c7530b118596ee9f4d77",
      "tree": "9dcd7a4009d219092c391454efc3dd29b23f52d7",
      "parents": [
        "c9b8af00ff71f86ff3d092cc60ca673e1d0eae5b",
        "8429db5c6336083594036c30f49401405d536911"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 09:52:30 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 09:52:30 2009 -0700"
      },
      "message": "Merge branch \u0027topic/slab/earlyboot-v2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6\n\n* \u0027topic/slab/earlyboot-v2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6:\n  slab: setup cpu caches later on when interrupts are enabled\n  slab,slub: don\u0027t enable interrupts during early boot\n  slab: fix gfp flag in setup_cpu_cache()\n  x86: make zap_low_mapping could be used early\n  irq: slab alloc for default irq_affinity\n  memcg: fix page_cgroup fatal error in FLATMEM\n"
    },
    {
      "commit": "c9b8af00ff71f86ff3d092cc60ca673e1d0eae5b",
      "tree": "25cc016481cc693552bebb4040041817280c2ccf",
      "parents": [
        "c59a264c9e932c828d533497e286b89e43c8d1be",
        "82681a318f9f028ea64e61f24bbd9ac535531921"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 09:50:42 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 09:50:42 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (154 commits)\n  [SCSI] osd: Remove out-of-tree left overs\n  [SCSI] libosd: Use REQ_QUIET requests.\n  [SCSI] osduld: use filp_open() when looking up an osd-device\n  [SCSI] libosd: Define an osd_dev wrapper to retrieve the request_queue\n  [SCSI] libosd: osd_req_{read,write} takes a length parameter\n  [SCSI] libosd: Let _osd_req_finalize_data_integrity receive number of out_bytes\n  [SCSI] libosd: osd_req_{read,write}_kern new API\n  [SCSI] libosd: Better printout of OSD target system information\n  [SCSI] libosd: OSD2r05: Attribute definitions\n  [SCSI] libosd: OSD2r05: Additional command enums\n  [SCSI] mpt fusion: fix up doc book comments\n  [SCSI] mpt fusion: Added support for Broadcast primitives Event handling\n  [SCSI] mpt fusion: Queue full event handling\n  [SCSI] mpt fusion: RAID device handling and Dual port Raid support is added\n  [SCSI] mpt fusion: Put IOC into ready state if it not already in ready state\n  [SCSI] mpt fusion: Code Cleanup patch\n  [SCSI] mpt fusion: Rescan SAS topology added\n  [SCSI] mpt fusion: SAS topology scan changes, expander events\n  [SCSI] mpt fusion: Firmware event implementation using seperate WorkQueue\n  [SCSI] mpt fusion: rewrite of ioctl_cmds internal generated function\n  ...\n"
    },
    {
      "commit": "7f3591cfacf2d79c4f42238e46c7d053da8e020d",
      "tree": "f2e9ed7b6b0bc176facaa49846734790023a6b16",
      "parents": [
        "16ffc3eeaa00d513b0076b7b2b96419f28acc912",
        "d1f0132e76a11b05167313c606a853953f416081"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 09:32:26 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 09:32:26 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-lguest\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-lguest: (31 commits)\n  lguest: add support for indirect ring entries\n  lguest: suppress notifications in example Launcher\n  lguest: try to batch interrupts on network receive\n  lguest: avoid sending interrupts to Guest when no activity occurs.\n  lguest: implement deferred interrupts in example Launcher\n  lguest: remove obsolete LHREQ_BREAK call\n  lguest: have example Launcher service all devices in separate threads\n  lguest: use eventfds for device notification\n  eventfd: export eventfd_signal and eventfd_fget for lguest\n  lguest: allow any process to send interrupts\n  lguest: PAE fixes\n  lguest: PAE support\n  lguest: Add support for kvm_hypercall4()\n  lguest: replace hypercall name LHCALL_SET_PMD with LHCALL_SET_PGD\n  lguest: use native_set_* macros, which properly handle 64-bit entries when PAE is activated\n  lguest: map switcher with executable page table entries\n  lguest: fix writev returning short on console output\n  lguest: clean up length-used value in example launcher\n  lguest: Segment selectors are 16-bit long. Fix lg_cpu.ss1 definition.\n  lguest: beyond ARRAY_SIZE of cpu-\u003earch.gdt\n  ...\n"
    },
    {
      "commit": "16ffc3eeaa00d513b0076b7b2b96419f28acc912",
      "tree": "82503d25fb9091fc6628961d953ffc0d305adf27",
      "parents": [
        "c34752bc8b3196aee3115d1aa41972604ab0aea8",
        "e3353853730eb99c56b7b0aed1667d51c0e3699a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 09:31:52 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 09:31:52 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-virtio\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-virtio:\n  virtio: enhance id_matching for virtio drivers\n  virtio: fix id_matching for virtio drivers\n  virtio: handle short buffers in virtio_rng.\n  virtio_blk: add missing __dev{init,exit} markings\n  virtio: indirect ring entries (VIRTIO_RING_F_INDIRECT_DESC)\n  virtio: teach virtio_has_feature() about transport features\n  virtio: expose features in sysfs\n  virtio_pci: optional MSI-X support\n  virtio_pci: split up vp_interrupt\n  virtio: find_vqs/del_vqs virtio operations\n  virtio: add names to virtqueue struct, mapping from devices to queues.\n  virtio: meet virtio spec by finalizing features before using device\n  virtio: fix obsolete documentation on probe function\n"
    },
    {
      "commit": "c34752bc8b3196aee3115d1aa41972604ab0aea8",
      "tree": "db93341ab4043e1c21d83f0b7dfdbc1798b88845",
      "parents": [
        "65d52cc9d47975f4fbd0a50e62f4a49be2c0514a",
        "151060ac13144208bd7601d17e4c92c59b98072f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 09:31:20 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 09:31:20 2009 -0700"
      },
      "message": "Merge branch \u0027cuse\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse\n\n* \u0027cuse\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:\n  CUSE: implement CUSE - Character device in Userspace\n  fuse: export symbols to be used by CUSE\n  fuse: update fuse_conn_init() and separate out fuse_conn_kill()\n  fuse: don\u0027t use inode in fuse_file_poll\n  fuse: don\u0027t use inode in fuse_do_ioctl() helper\n  fuse: don\u0027t use inode in fuse_sync_release()\n  fuse: create fuse_do_open() helper for CUSE\n  fuse: clean up args in fuse_finish_open() and fuse_release_fill()\n  fuse: don\u0027t use inode in helpers called by fuse_direct_io()\n  fuse: add members to struct fuse_file\n  fuse: prepare fuse_direct_io() for CUSE\n  fuse: clean up fuse_write_fill()\n  fuse: use struct path in release structure\n  fuse: misc cleanups\n"
    },
    {
      "commit": "65d52cc9d47975f4fbd0a50e62f4a49be2c0514a",
      "tree": "01f8eccc8ffac28112a58e397d96e8eba2de5ebf",
      "parents": [
        "d614aec4752f8c61b2e7cb77806b6bd59aa50836",
        "5933048c69edb546f1e93c26dc93816f0be9f754"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 09:30:36 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 09:30:36 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-module-and-param\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-module-and-param:\n  module: cleanup FIXME comments about trimming exception table entries.\n  module: trim exception table on init free.\n  module: merge module_alloc() finally\n  uml module: fix uml build process due to this merge\n  x86 module: merge the rest functions with macros\n  x86 module: merge the same functions in module_32.c and module_64.c\n  uvesafb: improve parameter handling.\n  module_param: allow \u0027bool\u0027 module_params to be bool, not just int.\n  module_param: add __same_type convenience wrapper for __builtin_types_compatible_p\n  module_param: split perm field into flags and perm\n  module_param: invbool should take a \u0027bool\u0027, not an \u0027int\u0027\n  cyber2000fb.c: use proper method for stopping unload if CONFIG_ARCH_SHARK\n"
    },
    {
      "commit": "d614aec4752f8c61b2e7cb77806b6bd59aa50836",
      "tree": "3b0cfb3085c43415931dbf18666d582fb8ae3c75",
      "parents": [
        "db8e7f10ed67933ca272f4030eb7057b7f13de07",
        "ad7c52d0988a8965989dc06d630c52a5bde849d5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 09:29:42 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 09:29:42 2009 -0700"
      },
      "message": "Merge branch \u0027for-2.6.31\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6\n\n* \u0027for-2.6.31\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (29 commits)\n  ide: re-implement ide_pci_init_one() on top of ide_pci_init_two()\n  ide: unexport ide_find_dma_mode()\n  ide: fix PowerMac bootup oops\n  ide: skip probe if there are no devices on the port (v2)\n  sl82c105: add printk() logging facility\n  ide-tape: fix proc warning\n  ide: add IDE_DFLAG_NIEN_QUIRK device flag\n  ide: respect quirk_drives[] list on all controllers\n  hpt366: enable all quirks for devices on quirk_drives[] list\n  hpt366: sync quirk_drives[] list with pdc202xx_{new,old}.c\n  ide: remove superfluous SELECT_MASK() call from do_rw_taskfile()\n  ide: remove superfluous SELECT_MASK() call from ide_driveid_update()\n  icside: remove superfluous -\u003emaskproc method\n  ide-tape: fix IDE_AFLAG_* atomic accesses\n  ide-tape: change IDE_AFLAG_IGNORE_DSC non-atomically\n  pdc202xx_old: kill resetproc() method\n  pdc202xx_old: don\u0027t call pdc202xx_reset() on IRQ timeout\n  pdc202xx_old: use ide_dma_test_irq()\n  ide: preserve Host Protected Area by default (v2)\n  ide-gd: implement block device -\u003eset_capacity method (v2)\n  ...\n"
    },
    {
      "commit": "638772c7553f6893f7b346bfee4d46851af59afc",
      "tree": "c588f311c5217cbb258b74b1ee2892b4383d68e7",
      "parents": [
        "51cdd9289d2e0d83eb32ed6d7a42596b02bf924e"
      ],
      "author": {
        "name": "Lennert Buytenhek",
        "email": "buytenh@marvell.com",
        "time": "Wed Feb 11 17:25:24 2009 +0800"
      },
      "committer": {
        "name": "Eric Miao",
        "email": "eric.y.miao@gmail.com",
        "time": "Sat Jun 13 00:09:09 2009 +0800"
      },
      "message": "fb: add support of LCD display controller on pxa168/910 (base layer)\n\nThis driver is originally written by Lennert, modified by Green to be\nfeature complete,  and ported by Jun Nie and Kevin Liu for pxa168/910\nprocessors.\n\nThe patch adds support for the on-chip LCD display controller, it\ncurrently supports the base (graphics) layer only.\n\nSigned-off-by: Lennert Buytenhek \u003cbuytenh@marvell.com\u003e\nSigned-off-by: Green Wan \u003cgwan@marvell.com\u003e\nCc: Peter Liao \u003cpliao@marvell.com\u003e\nSigned-off-by: Jun Nie \u003cnjun@marvell.com\u003e\nSigned-off-by: Kevin Liu \u003ckliu5@marvell.com\u003e\nAcked-by: Krzysztof Helt \u003ckrzysztof.h1@wp.pl\u003e\nSigned-off-by: Eric Miao \u003ceric.y.miao@gmail.com\u003e\n"
    },
    {
      "commit": "7ea2ac9b6632038377cb488c7d1cb60b88164d4d",
      "tree": "be27cf5287b514bf6c5168377543bf5c939bfd66",
      "parents": [
        "4b512d26f425be1c779c8319249b42ce3c3424d2"
      ],
      "author": {
        "name": "Thadeu Lima de Souza Cascardo",
        "email": "cascardo@holoscopio.com",
        "time": "Tue Apr 14 23:14:17 2009 -0300"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Jun 12 18:01:45 2009 +0200"
      },
      "message": "Trivial: fix typo s/balence/balance/\n\nSigned-off-by: Thadeu Lima de Souza Cascardo \u003ccascardo@holoscopio.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "7e85ee0c1d15ca5f8bff0f514f158eba1742dd87",
      "tree": "8f9c21f0df6bea88740d7dd48834ac9ffc238e93",
      "parents": [
        "eb91f1d0a531289e18f5587dc197d12a251c66a3"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Fri Jun 12 14:03:06 2009 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Fri Jun 12 18:53:33 2009 +0300"
      },
      "message": "slab,slub: don\u0027t enable interrupts during early boot\n\nAs explained by Benjamin Herrenschmidt:\n\n  Oh and btw, your patch alone doesn\u0027t fix powerpc, because it\u0027s missing\n  a whole bunch of GFP_KERNEL\u0027s in the arch code... You would have to\n  grep the entire kernel for things that check slab_is_available() and\n  even then you\u0027ll be missing some.\n\n  For example, slab_is_available() didn\u0027t always exist, and so in the\n  early days on powerpc, we used a mem_init_done global that is set form\n  mem_init() (not perfect but works in practice). And we still have code\n  using that to do the test.\n\nTherefore, mask out __GFP_WAIT, __GFP_IO, and __GFP_FS in the slab allocators\nin early boot code to avoid enabling interrupts.\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "6341de0527c26ea1eaf7b7918e1df98f99e1a525",
      "tree": "5f33d7f3d217f06ed67ac4862878e0ad78aa91ff",
      "parents": [
        "8ebf975608aaebd7feb33d77f07ba21a6380e086",
        "fa047e4f6fa63a6e9d0ae4d7749538830d14a343",
        "57fd637ad9ac6b13c1c47b9a0ced4ee99bb26e76"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Jun 12 17:42:13 2009 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Jun 12 17:42:13 2009 +0200"
      },
      "message": "Merge branches \u0027upstream\u0027 and \u0027ntrig-multitouch\u0027 into for-linus\n"
    },
    {
      "commit": "82681a318f9f028ea64e61f24bbd9ac535531921",
      "tree": "529b6a5b4fd040fb54b7672b1a224ebd47445876",
      "parents": [
        "3860c97bd60a4525bb62eb90e3e7d2f02662ac59",
        "8ebf975608aaebd7feb33d77f07ba21a6380e086"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Jun 12 10:02:03 2009 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Jun 12 10:02:03 2009 -0500"
      },
      "message": "[SCSI] Merge branch \u0027linus\u0027\n\nConflicts:\n\tdrivers/message/fusion/mptsas.c\n\nfixed up conflict between req-\u003edata_len accessors and mptsas driver updates.\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "5dac051bc6030963181b69faddd9e0ad04f85fa8",
      "tree": "4a0456e1d971bbe9f68f4ac13d31716c12fbb618",
      "parents": [
        "659a0e6633567246edcb7bd400c7e2bece9237d9"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 22:27:10 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 22:27:11 2009 +0930"
      },
      "message": "lguest: remove obsolete LHREQ_BREAK call\n\nWe no longer need an efficient mechanism to force the Guest back into\nhost userspace, as each device is serviced without bothering the main\nGuest process (aka. the Launcher).\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "df60aeef4f4fe0645d9a195a7689005520422de5",
      "tree": "3cfa3c4a986436c8accd5f0a57d5a6f70f1b7965",
      "parents": [
        "5718607bb670c721f45f0dbb1cc7d6c64969aab1"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 22:27:09 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 22:27:10 2009 +0930"
      },
      "message": "lguest: use eventfds for device notification\n\nCurrently, when a Guest wants to perform I/O it calls LHCALL_NOTIFY with\nan address: the main Launcher process returns with this address, and figures\nout what device to run.\n\nA far nicer model is to let processes bind an eventfd to an address: if we\nfind one, we simply signal the eventfd.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\n"
    },
    {
      "commit": "a32a8813d0173163ba44d8f9556e0d89fdc4fb46",
      "tree": "fddb6742338047d0219e8c2536cd39b04e643b16",
      "parents": [
        "abd41f037e1a64543000ed73b42f616d04d92700"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 22:27:02 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 22:27:03 2009 +0930"
      },
      "message": "lguest: improve interrupt handling, speed up stream networking\n\nlguest never checked for pending interrupts when enabling interrupts, and\nthings still worked.  However, it makes a significant difference to TCP\nperformance, so it\u0027s time we fixed it by introducing a pending_irq flag\nand checking it on irq_restore and irq_enable.\n\nThese two routines are now too big to patch into the 8/10 bytes\npatch space, so we drop that code.\n\nNote: The high latency on interrupt delivery had a very curious\neffect: once everything else was optimized, networking without GSO was\nfaster than networking with GSO, since more interrupts were sent and\nhence a greater chance of one getting through to the Guest!\n\nNote2: (Almost) Closing the same loophole for iret doesn\u0027t have any\nmeasurable effect, so I\u0027m leaving that patch for the moment.\n\nBefore:\n\t1GB tcpblast Guest-\u003eHost:\t\t30.7 seconds\n\t1GB tcpblast Guest-\u003eHost (no GSO):\t76.0 seconds\n\nAfter:\n\t1GB tcpblast Guest-\u003eHost:\t\t6.8 seconds\n\t1GB tcpblast Guest-\u003eHost (no GSO):\t27.8 seconds\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "9fa29b9df32ba4db055f3977933cd0c1b8fe67cd",
      "tree": "c44177d2d352f74300fe9124decc6462c8804bbe",
      "parents": [
        "ee006b353f1ca8c9a8470b72b462beb011d62e32"
      ],
      "author": {
        "name": "Mark McLoughlin",
        "email": "markmc@redhat.com",
        "time": "Mon May 11 18:11:45 2009 +0100"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 22:16:39 2009 +0930"
      },
      "message": "virtio: indirect ring entries (VIRTIO_RING_F_INDIRECT_DESC)\n\nAdd a new feature flag for indirect ring entries. These are ring\nentries which point to a table of buffer descriptors.\n\nThe idea here is to increase the ring capacity by allowing a larger\neffective ring size whereby the ring size dictates the number of\nrequests that may be outstanding, rather than the size of those\nrequests.\n\nThis should be most effective in the case of block I/O where we can\npotentially benefit by concurrently dispatching a large number of\nlarge requests. Even in the simple case of single segment block\nrequests, this results in a threefold increase in ring capacity.\n\nSigned-off-by: Mark McLoughlin \u003cmarkmc@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    }
  ],
  "next": "ee006b353f1ca8c9a8470b72b462beb011d62e32"
}
