)]}'
{
  "log": [
    {
      "commit": "726b80127239aeea9c8d8aad5b4e2c80313e3ce8",
      "tree": "4b4df86f199f9bf9689f038132a8922f34a9c8d4",
      "parents": [
        "1cdf25d704f7951d02a04064c97db547d6021872"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Mon Apr 28 02:12:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:21 2008 -0700"
      },
      "message": "page_mapping(): add ifdef around reference to swapper_space\n\nThis fixes the superh build when the pageflags patches are applied.\n\nBut it shouldn\u0027t unless it\u0027s a gcc bug.\n\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1cdf25d704f7951d02a04064c97db547d6021872",
      "tree": "2571b70c1d95ea66086500b362a0f7fe2999acbc",
      "parents": [
        "308c05e35e3517d19bb67a7e97772235c9e15cd7"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Apr 28 02:12:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:21 2008 -0700"
      },
      "message": "kbuild: create a way to create preprocessor constants from C expressions\n\nThe use of enums create constants that are not available to the preprocessor\nwhen building the kernel (f.e.  MAX_NR_ZONES).\n\nArch code already has a way to export constants calculated to the preprocessor\nthrough the asm-offsets.c file.  Generate something similar for the core\nkernel through kbuild.\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "308c05e35e3517d19bb67a7e97772235c9e15cd7",
      "tree": "75d0eae800ef1fc7297f97262b42ddbd1347cad0",
      "parents": [
        "2301696932b55e2ea2085cefc84f7b94fa2dd54b"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Apr 28 02:12:43 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:21 2008 -0700"
      },
      "message": "sparsemem: vmemmap does not need section bits\n\nA set of patches that attempts to improve page flag handling.  First of all a\nmethod is introduced to generate the page flag functions using macros.  Then\nthe number of page flags used by sparsemem is reduced.  All page flag\noperations will no longer be macros.  All flags will use inline function.\n\nThen we add a way to export enum constants to the preprocessor which allows us\nto get rid of __ZONE_COUNT and use the NR_PAGEFLAGS for the dynamic\ncalculation of actually available page flags for fields.\n\nThis patch:\n\nSparsemem vmemmap does not need any section bits.  This patch has the effect\nof reducing the number of bits used in page-\u003eflags by at least 6.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2301696932b55e2ea2085cefc84f7b94fa2dd54b",
      "tree": "4a564951b4bd34feee922e59cac12962ac0f73c8",
      "parents": [
        "a10aa579878fc6f9cd17455067380bbdf1d53c91"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Apr 28 02:12:42 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:21 2008 -0700"
      },
      "message": "vmallocinfo: add caller information\n\nAdd caller information so that /proc/vmallocinfo shows where the allocation\nrequest for a slice of vmalloc memory originated.\n\nResults in output like this:\n\n0xffffc20000000000-0xffffc20000801000 8392704 alloc_large_system_hash+0x127/0x246 pages\u003d2048 vmalloc vpages\n0xffffc20000801000-0xffffc20000806000   20480 alloc_large_system_hash+0x127/0x246 pages\u003d4 vmalloc\n0xffffc20000806000-0xffffc20000c07000 4198400 alloc_large_system_hash+0x127/0x246 pages\u003d1024 vmalloc vpages\n0xffffc20000c07000-0xffffc20000c0a000   12288 alloc_large_system_hash+0x127/0x246 pages\u003d2 vmalloc\n0xffffc20000c0a000-0xffffc20000c0c000    8192 acpi_os_map_memory+0x13/0x1c phys\u003dcff68000 ioremap\n0xffffc20000c0c000-0xffffc20000c0f000   12288 acpi_os_map_memory+0x13/0x1c phys\u003dcff64000 ioremap\n0xffffc20000c10000-0xffffc20000c15000   20480 acpi_os_map_memory+0x13/0x1c phys\u003dcff65000 ioremap\n0xffffc20000c16000-0xffffc20000c18000    8192 acpi_os_map_memory+0x13/0x1c phys\u003dcff69000 ioremap\n0xffffc20000c18000-0xffffc20000c1a000    8192 acpi_os_map_memory+0x13/0x1c phys\u003dfed1f000 ioremap\n0xffffc20000c1a000-0xffffc20000c1c000    8192 acpi_os_map_memory+0x13/0x1c phys\u003dcff68000 ioremap\n0xffffc20000c1c000-0xffffc20000c1e000    8192 acpi_os_map_memory+0x13/0x1c phys\u003dcff68000 ioremap\n0xffffc20000c1e000-0xffffc20000c20000    8192 acpi_os_map_memory+0x13/0x1c phys\u003dcff68000 ioremap\n0xffffc20000c20000-0xffffc20000c22000    8192 acpi_os_map_memory+0x13/0x1c phys\u003dcff68000 ioremap\n0xffffc20000c22000-0xffffc20000c24000    8192 acpi_os_map_memory+0x13/0x1c phys\u003dcff68000 ioremap\n0xffffc20000c24000-0xffffc20000c26000    8192 acpi_os_map_memory+0x13/0x1c phys\u003de0081000 ioremap\n0xffffc20000c26000-0xffffc20000c28000    8192 acpi_os_map_memory+0x13/0x1c phys\u003de0080000 ioremap\n0xffffc20000c28000-0xffffc20000c2d000   20480 alloc_large_system_hash+0x127/0x246 pages\u003d4 vmalloc\n0xffffc20000c2d000-0xffffc20000c31000   16384 tcp_init+0xd5/0x31c pages\u003d3 vmalloc\n0xffffc20000c31000-0xffffc20000c34000   12288 alloc_large_system_hash+0x127/0x246 pages\u003d2 vmalloc\n0xffffc20000c34000-0xffffc20000c36000    8192 init_vdso_vars+0xde/0x1f1\n0xffffc20000c36000-0xffffc20000c38000    8192 pci_iomap+0x8a/0xb4 phys\u003dd8e00000 ioremap\n0xffffc20000c38000-0xffffc20000c3a000    8192 usb_hcd_pci_probe+0x139/0x295 [usbcore] phys\u003dd8e00000 ioremap\n0xffffc20000c3a000-0xffffc20000c3e000   16384 sys_swapon+0x509/0xa15 pages\u003d3 vmalloc\n0xffffc20000c40000-0xffffc20000c61000  135168 e1000_probe+0x1c4/0xa32 phys\u003dd8a20000 ioremap\n0xffffc20000c61000-0xffffc20000c6a000   36864 _xfs_buf_map_pages+0x8e/0xc0 vmap\n0xffffc20000c6a000-0xffffc20000c73000   36864 _xfs_buf_map_pages+0x8e/0xc0 vmap\n0xffffc20000c73000-0xffffc20000c7c000   36864 _xfs_buf_map_pages+0x8e/0xc0 vmap\n0xffffc20000c7c000-0xffffc20000c7f000   12288 e1000e_setup_tx_resources+0x29/0xbe pages\u003d2 vmalloc\n0xffffc20000c80000-0xffffc20001481000 8392704 pci_mmcfg_arch_init+0x90/0x118 phys\u003de0000000 ioremap\n0xffffc20001481000-0xffffc20001682000 2101248 alloc_large_system_hash+0x127/0x246 pages\u003d512 vmalloc\n0xffffc20001682000-0xffffc20001e83000 8392704 alloc_large_system_hash+0x127/0x246 pages\u003d2048 vmalloc vpages\n0xffffc20001e83000-0xffffc20002204000 3674112 alloc_large_system_hash+0x127/0x246 pages\u003d896 vmalloc vpages\n0xffffc20002204000-0xffffc2000220d000   36864 _xfs_buf_map_pages+0x8e/0xc0 vmap\n0xffffc2000220d000-0xffffc20002216000   36864 _xfs_buf_map_pages+0x8e/0xc0 vmap\n0xffffc20002216000-0xffffc2000221f000   36864 _xfs_buf_map_pages+0x8e/0xc0 vmap\n0xffffc2000221f000-0xffffc20002228000   36864 _xfs_buf_map_pages+0x8e/0xc0 vmap\n0xffffc20002228000-0xffffc20002231000   36864 _xfs_buf_map_pages+0x8e/0xc0 vmap\n0xffffc20002231000-0xffffc20002234000   12288 e1000e_setup_rx_resources+0x35/0x122 pages\u003d2 vmalloc\n0xffffc20002240000-0xffffc20002261000  135168 e1000_probe+0x1c4/0xa32 phys\u003dd8a60000 ioremap\n0xffffc20002261000-0xffffc2000270c000 4894720 sys_swapon+0x509/0xa15 pages\u003d1194 vmalloc vpages\n0xffffffffa0000000-0xffffffffa0022000  139264 module_alloc+0x4f/0x55 pages\u003d33 vmalloc\n0xffffffffa0022000-0xffffffffa0029000   28672 module_alloc+0x4f/0x55 pages\u003d6 vmalloc\n0xffffffffa002b000-0xffffffffa0034000   36864 module_alloc+0x4f/0x55 pages\u003d8 vmalloc\n0xffffffffa0034000-0xffffffffa003d000   36864 module_alloc+0x4f/0x55 pages\u003d8 vmalloc\n0xffffffffa003d000-0xffffffffa0049000   49152 module_alloc+0x4f/0x55 pages\u003d11 vmalloc\n0xffffffffa0049000-0xffffffffa0050000   28672 module_alloc+0x4f/0x55 pages\u003d6 vmalloc\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a10aa579878fc6f9cd17455067380bbdf1d53c91",
      "tree": "c42fbb1e9422e5334c2207cafed4a2b5b1ad16c4",
      "parents": [
        "b45445684198a946b587732265692e6495993abf"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Apr 28 02:12:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:21 2008 -0700"
      },
      "message": "vmalloc: show vmalloced areas via /proc/vmallocinfo\n\nImplement a new proc file that allows the display of the currently allocated\nvmalloc memory.\n\nIt allows to see the users of vmalloc.  That is important if vmalloc space is\nscarce (i386 for example).\n\nAnd it\u0027s going to be important for the compound page fallback to vmalloc.\nMany of the current users can be switched to use compound pages with fallback.\n This means that the number of users of vmalloc is reduced and page tables no\nlonger necessary to access the memory.  /proc/vmallocinfo allows to review how\nthat reduction occurs.\n\nIf memory becomes fragmented and larger order allocations are no longer\npossible then /proc/vmallocinfo allows to see which compound page allocations\nfell back to virtual compound pages.  That is important for new users of\nvirtual compound pages.  Such as order 1 stack allocation etc that may\nfallback to virtual compound pages in the future.\n\n/proc/vmallocinfo permissions are made readable-only-by-root to avoid possible\ninformation leakage.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: CONFIG_MMU\u003dn build fix]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b45445684198a946b587732265692e6495993abf",
      "tree": "0ffe64205f396bb00f6dfd3cbee630a1d0a975e7",
      "parents": [
        "ac6aadb24b7d4f0e54246732e221c102073412bf"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Mon Apr 28 02:12:39 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:20 2008 -0700"
      },
      "message": "mm: make early_pfn_to_nid() a C function\n\nFix this (sparc64)\n\nmm/sparse-vmemmap.c: In function `vmemmap_verify\u0027:\nmm/sparse-vmemmap.c:64: warning: unused variable `pfn\u0027\n\nby switching to a C function which touches its arg.\n\n(reason 3,555 why macros are bad)\n\nAlso, the `nid\u0027 arg was misnamed.\n\nReviewed-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nAcked-by: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ac6aadb24b7d4f0e54246732e221c102073412bf",
      "tree": "1936c3e847fca977b8c0d650416c66655f7633ad",
      "parents": [
        "f05111f50105ac479a008cf85749cf9c956453ea"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Mon Apr 28 02:12:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:20 2008 -0700"
      },
      "message": "mm: rotate_reclaimable_page() cleanup\n\nClean up messy conditional calling of test_clear_page_writeback() from both\nrotate_reclaimable_page() and end_page_writeback().\n\nThe only user of rotate_reclaimable_page() is end_page_writeback() so this is\nOK.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@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": "f05111f50105ac479a008cf85749cf9c956453ea",
      "tree": "59126a7962c08f77c1e4a9de68998f479b5e8e11",
      "parents": [
        "7edf85aa3c00df1e86e82f649c41efa0dd8a7218"
      ],
      "author": {
        "name": "S.Caglar Onur",
        "email": "caglar@pardus.org.tr",
        "time": "Mon Apr 28 02:12:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:20 2008 -0700"
      },
      "message": "mm/page_alloc.c: fix indentation\n\nzlc_setup(): handle jiffies wraparound\n(10ed273f5016c582413dfbc468dd084957d847e1) changes tab with spaces\n\nSigned-off-by: S.Caglar Onur \u003ccaglar@pardus.org.tr\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7edf85aa3c00df1e86e82f649c41efa0dd8a7218",
      "tree": "9f6ee8e78076a55031642a1660ce9e1760ad79fb",
      "parents": [
        "b5ee5befa75e33e55d34584ad10286c5005cb1de"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Mon Apr 28 02:12:37 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:20 2008 -0700"
      },
      "message": "mm: save some bytes in mm_struct by filling holes on 64bit\n\nSave some bytes in mm_struct by filling holes\n\nPutting int values together for better packing on 64bit shrinks sizeof(struct\nmm_struct) from 776 bytes to 764 bytes.\n\nSigned-off-by: Andi Kleen \u003cak@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": "b5ee5befa75e33e55d34584ad10286c5005cb1de",
      "tree": "cc8953411811c75eeffe53dc387fad66dec92144",
      "parents": [
        "a43361cf3cb6fb6431fdbfb0f3ef26a334826160"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Mon Apr 28 02:12:37 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:20 2008 -0700"
      },
      "message": "dmapool: enable debugging for CONFIG_SLUB_DEBUG_ON too\n\nPreviously it was only enabled for CONFIG_DEBUG_SLAB.\n\nNot hooked into the slub runtime debug configuration, so you currently only\nget it with CONFIG_SLUB_DEBUG_ON, not plain CONFIG_SLUB_DEBUG\n\nAcked-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nSigned-off-by: Andi Kleen \u003cak@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": "a43361cf3cb6fb6431fdbfb0f3ef26a334826160",
      "tree": "8ec343f73bb61c1ef08a32c78e912a7506c932bf",
      "parents": [
        "3e1f064562fcff7bf3856bc1d00dfa84d4f121cc"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "Lee.Schermerhorn@hp.com",
        "time": "Mon Apr 28 02:12:36 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:20 2008 -0700"
      },
      "message": "mempolicy: fix parsing of tmpfs mpol mount option\n\nParsing of new mode flags in the tmpfs mpol mount option is slightly broken:\n\nSetting a valid flag works OK:\n\t#mount -o remount,mpol\u003dbind\u003dstatic:1-2 /dev/shm\n\t#mount\n\t...\n\ttmpfs on /dev/shm type tmpfs (rw,mpol\u003dbind\u003dstatic:1-2)\n\t...\n\nHowever, we can\u0027t remove them or change them, once we\u0027ve\nset a valid flag:\n\n\t#mount -o remount,mpol\u003dbind:1-2 /dev/shm\n\t#mount\n\t...\n\ttmpfs on /dev/shm type tmpfs (rw,mpol\u003dbind:1-2)\n\t...\n\nIt SAYS it removed it, but that\u0027s just a copy of the input\nstring.  If we now try to set it to a different flag, we\nget:\n\n\t#mount -o remount,mpol\u003dbind\u003drelative:1-2 /dev/shm\n\tmount: /dev/shm not mounted already, or bad option\n\nAnd on the console, we see:\n\ttmpfs: Bad value \u0027bind\u0027 for mount option \u0027mpol\u0027\n\t                      ^ lost remainder of string\n\nFurthermore, bogus flags are accepted with out error.\nGranted, they are a no-op:\n\n\t#mount -o remount,mpol\u003dinterleave\u003dfoo:0-3 /dev/shm\n\t#mount\n\t...\n\ttmpfs on /dev/shm type tmpfs (rw,mpol\u003dinterleave\u003dfoo:0-3)\n\nAgain, that\u0027s just a copy of the input string shown by the mount command.\n\nThis patch fixes the behavior by pre-zeroing the flags so that only one of the\nmutually exclusive flags can be set at one time.  It also reports an error\nwhen an unrecognized flag is specified.\n\nThe check for both flags being set is removed because it can\u0027t happen with\nthis implementation.  If we ever want to support multiple non-exclusive flags,\nthis area will need rework and we will need to check that any mutually\nexclusive flags aren\u0027t specified.\n\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Eric Whitney \u003ceric.whitney@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3e1f064562fcff7bf3856bc1d00dfa84d4f121cc",
      "tree": "9ebc17449238ab5284b72f634405044376dc816b",
      "parents": [
        "3842b46de626d1a3c44ad280d67ab0a4dc047d13"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Mon Apr 28 02:12:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:20 2008 -0700"
      },
      "message": "mempolicy: disallow static or relative flags for local preferred mode\n\nMPOL_F_STATIC_NODES and MPOL_F_RELATIVE_NODES don\u0027t mean anything for\nMPOL_PREFERRED policies that were created with an empty nodemask (for purely\nlocal allocations).  They\u0027ll never be invalidated because the allowed mems of\na task changes or need to be rebound relative to a cpuset\u0027s placement.\n\nAlso fixes a bug identified by Lee Schermerhorn that disallowed empty\nnodemasks to be passed to MPOL_PREFERRED to specify local allocations.  [A\ndifferent, somewhat incomplete, patch already existed in 25-rc5-mm1.]\n\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: 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": "3842b46de626d1a3c44ad280d67ab0a4dc047d13",
      "tree": "b3ed5977e3fa16300fb285aa7212fe2597aed9d0",
      "parents": [
        "37012946da940521fb997a758a219d2f1ab56e51"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Mon Apr 28 02:12:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:20 2008 -0700"
      },
      "message": "mempolicy: small header file cleanup\n\nRemoves forward definition of vm_area_struct in linux/mempolicy.h.  We already\nget it from the linux/slab.h -\u003e linux/gfp.h include.\n\nRemoves the unused mpol_set_vma_default() macro from linux/mempolicy.h.\n\nRemoves the extern definition of default_policy since it is only referenced,\nas it should be, in mm/mempolicy.c.\n\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\nCc: Andi Kleen \u003cak@suse.de\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": "37012946da940521fb997a758a219d2f1ab56e51",
      "tree": "16553f91325720a53d0314070793700b5926e052",
      "parents": [
        "1d0d2680a01c4f9e292ec6d4714884da939053a1"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Mon Apr 28 02:12:33 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:20 2008 -0700"
      },
      "message": "mempolicy: create mempolicy_operations structure\n\nCreate a mempolicy_operations structure that currently points to two\nfunctions[*] for the various modes:\n\n\tint (*create)(struct mempolicy *, const nodemask_t *);\n\tvoid (*rebind)(struct mempolicy *, const nodemask_t *);\n\nThis splits the implementation for the various modes out of two large\nfunctions, mpol_new() and mpol_rebind_policy().  Eventually it may be\nbeneficial to add additional functions to accomodate the existing switch()\nstatements in mm/mempolicy.c.\n\n [*] The -\u003ecreate() function for MPOL_DEFAULT is currently NULL since no\n     struct mempolicy is dynamically allocated.\n\n[Lee.Schermerhorn@hp.com: fix regression in the package mempolicy regression tests]\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Eric Whitney \u003ceric.whitney@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1d0d2680a01c4f9e292ec6d4714884da939053a1",
      "tree": "1377ed40ec15ffecc584b308a671be47b5145db3",
      "parents": [
        "65d66fc02ed9433b957588071b60425b12628e25"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Mon Apr 28 02:12:32 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:20 2008 -0700"
      },
      "message": "mempolicy: move rebind functions\n\nMove the mpol_rebind_{policy,task,mm}() functions after mpol_new() to avoid\nhaving to declare function prototypes.\n\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\nCc: Andi Kleen \u003cak@suse.de\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": "65d66fc02ed9433b957588071b60425b12628e25",
      "tree": "8737b2e5d018dc9e9d310d9b032fbeeecd588e62",
      "parents": [
        "4c50bc0116cf3cc35e7152d6a8424b4db65f52d6"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Mon Apr 28 02:12:31 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:19 2008 -0700"
      },
      "message": "mempolicy: update NUMA memory policy documentation\n\nUpdates Documentation/vm/numa_memory_policy.txt and\nDocumentation/filesystems/tmpfs.txt to describe optional mempolicy mode flags.\n\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4c50bc0116cf3cc35e7152d6a8424b4db65f52d6",
      "tree": "99c617602cc1946fc86b48e9a35f14f9f354cf67",
      "parents": [
        "7ea931c9fc80c4d0a4306c30ec92eb0f1d922a0b"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Mon Apr 28 02:12:30 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:19 2008 -0700"
      },
      "message": "mempolicy: add MPOL_F_RELATIVE_NODES flag\n\nAdds another optional mode flag, MPOL_F_RELATIVE_NODES, that specifies\nnodemasks passed via set_mempolicy() or mbind() should be considered relative\nto the current task\u0027s mems_allowed.\n\nWhen the mempolicy is created, the passed nodemask is folded and mapped onto\nthe current task\u0027s mems_allowed.  For example, consider a task using\nset_mempolicy() to pass MPOL_INTERLEAVE | MPOL_F_RELATIVE_NODES with a\nnodemask of 1-3.  If current\u0027s mems_allowed is 4-7, the effected nodemask is\n5-7 (the second, third, and fourth node of mems_allowed).\n\nIf the same task is attached to a cpuset, the mempolicy nodemask is rebound\neach time the mems are changed.  Some possible rebinds and results are:\n\n\tmems\t\t\tresult\n\t1-3\t\t\t1-3\n\t1-7\t\t\t2-4\n\t1,5-6\t\t\t1,5-6\n\t1,5-7\t\t\t5-7\n\nLikewise, the zonelist built for MPOL_BIND acts on the set of zones assigned\nto the resultant nodemask from the relative remap.\n\nIn the MPOL_PREFERRED case, the preferred node is remapped from the currently\neffected nodemask to the relative nodemask.\n\nThis mempolicy mode flag was conceived of by Paul Jackson \u003cpj@sgi.com\u003e.\n\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\nCc: Andi Kleen \u003cak@suse.de\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": "7ea931c9fc80c4d0a4306c30ec92eb0f1d922a0b",
      "tree": "4f2c85d658c75e8679e01943e3e95866b3729b54",
      "parents": [
        "f5b087b52f1710eb0bf15a2d2b030c51a6a1ca9e"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Mon Apr 28 02:12:29 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:19 2008 -0700"
      },
      "message": "mempolicy: add bitmap_onto() and bitmap_fold() operations\n\nThe following adds two more bitmap operators, bitmap_onto() and bitmap_fold(),\nwith the usual cpumask and nodemask wrappers.\n\nThe bitmap_onto() operator computes one bitmap relative to another.  If the\nn-th bit in the origin mask is set, then the m-th bit of the destination mask\nwill be set, where m is the position of the n-th set bit in the relative mask.\n\nThe bitmap_fold() operator folds a bitmap into a second that has bit m set iff\nthe input bitmap has some bit n set, where m \u003d\u003d n mod sz, for the specified sz\nvalue.\n\nThere are two substantive changes between this patch and its\npredecessor bitmap_relative:\n 1) Renamed bitmap_relative() to be bitmap_onto().\n 2) Added bitmap_fold().\n\nThe essential motivation for bitmap_onto() is to provide a mechanism for\nconverting a cpuset-relative CPU or Node mask to an absolute mask.  Cpuset\nrelative masks are written as if the current task were in a cpuset whose CPUs\nor Nodes were just the consecutive ones numbered 0..N-1, for some N.  The\nbitmap_onto() operator is provided in anticipation of adding support for the\nfirst such cpuset relative mask, by the mbind() and set_mempolicy() system\ncalls, using a planned flag of MPOL_F_RELATIVE_NODES.  These bitmap operators\n(and their nodemask wrappers, in particular) will be used in code that\nconverts the user specified cpuset relative memory policy to a specific system\nnode numbered policy, given the current mems_allowed of the tasks cpuset.\n\nSuch cpuset relative mempolicies will address two deficiencies\nof the existing interface between cpusets and mempolicies:\n 1) A task cannot at present reliably establish a cpuset\n    relative mempolicy because there is an essential race\n    condition, in that the tasks cpuset may be changed in\n    between the time the task can query its cpuset placement,\n    and the time the task can issue the applicable mbind or\n    set_memplicy system call.\n 2) A task cannot at present establish what cpuset relative\n    mempolicy it would like to have, if it is in a smaller\n    cpuset than it might have mempolicy preferences for,\n    because the existing interface only allows specifying\n    mempolicies for nodes currently allowed by the cpuset.\n\nCpuset relative mempolicies are useful for tasks that don\u0027t distinguish\nparticularly between one CPU or Node and another, but only between how many of\neach are allowed, and the proper placement of threads and memory pages on the\nvarious CPUs and Nodes available.\n\nThe motivation for the added bitmap_fold() can be seen in the following\nexample.\n\nLet\u0027s say an application has specified some mempolicies that presume 16 memory\nnodes, including say a mempolicy that specified MPOL_F_RELATIVE_NODES (cpuset\nrelative) nodes 12-15.  Then lets say that application is crammed into a\ncpuset that only has 8 memory nodes, 0-7.  If one just uses bitmap_onto(),\nthis mempolicy, mapped to that cpuset, would ignore the requested relative\nnodes above 7, leaving it empty of nodes.  That\u0027s not good; better to fold the\nhigher nodes down, so that some nodes are included in the resulting mapped\nmempolicy.  In this case, the mempolicy nodes 12-15 are taken modulo 8 (the\nweight of the mems_allowed of the confining cpuset), resulting in a mempolicy\nspecifying nodes 4-7.\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: \u003cray-lk@madrabbit.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f5b087b52f1710eb0bf15a2d2b030c51a6a1ca9e",
      "tree": "66336235822f59215707dfa501e1d2b66b38a015",
      "parents": [
        "028fec414d803117eb4b2ed12acb4dd5da65b32d"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Mon Apr 28 02:12:27 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:19 2008 -0700"
      },
      "message": "mempolicy: add MPOL_F_STATIC_NODES flag\n\nAdd an optional mempolicy mode flag, MPOL_F_STATIC_NODES, that suppresses the\nnode remap when the policy is rebound.\n\nAdds another member to struct mempolicy, nodemask_t user_nodemask, as part of\na union with cpuset_mems_allowed:\n\n\tstruct mempolicy {\n\t\t...\n\t\tunion {\n\t\t\tnodemask_t cpuset_mems_allowed;\n\t\t\tnodemask_t user_nodemask;\n\t\t} w;\n\t}\n\nthat stores the the nodemask that the user passed when he or she created the\nmempolicy via set_mempolicy() or mbind().  When using MPOL_F_STATIC_NODES,\nwhich is passed with any mempolicy mode, the user\u0027s passed nodemask\nintersected with the VMA or task\u0027s allowed nodes is always used when\ndetermining the preferred node, setting the MPOL_BIND zonelist, or creating\nthe interleave nodemask.  This happens whenever the policy is rebound,\nincluding when a task\u0027s cpuset assignment changes or the cpuset\u0027s mems are\nchanged.\n\nThis creates an interesting side-effect in that it allows the mempolicy\n\"intent\" to lie dormant and uneffected until it has access to the node(s) that\nit desires.  For example, if you currently ask for an interleaved policy over\na set of nodes that you do not have access to, the mempolicy is not created\nand the task continues to use the previous policy.  With this change, however,\nit is possible to create the same mempolicy; it is only effected when access\nto nodes in the nodemask is acquired.\n\nIt is also possible to mount tmpfs with the static nodemask behavior when\nspecifying a node or nodemask.  To do this, simply add \"\u003dstatic\" immediately\nfollowing the mempolicy mode at mount time:\n\n\tmount -o remount mpol\u003dinterleave\u003dstatic:1-3\n\nAlso removes mpol_check_policy() and folds its logic into mpol_new() since it\nis now obsoleted.  The unused vma_mpol_equal() is also removed.\n\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\nCc: Andi Kleen \u003cak@suse.de\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": "028fec414d803117eb4b2ed12acb4dd5da65b32d",
      "tree": "427f37ea0331369c1babc55c424c4fd2ac3b39f5",
      "parents": [
        "a3b51e0142d1be156ac697eaadadd6cfbb7ba32b"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Mon Apr 28 02:12:25 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:19 2008 -0700"
      },
      "message": "mempolicy: support optional mode flags\n\nWith the evolution of mempolicies, it is necessary to support mempolicy mode\nflags that specify how the policy shall behave in certain circumstances.  The\nmost immediate need for mode flag support is to suppress remapping the\nnodemask of a policy at the time of rebind.\n\nBoth the mempolicy mode and flags are passed by the user in the \u0027int policy\u0027\nformal of either the set_mempolicy() or mbind() syscall.  A new constant,\nMPOL_MODE_FLAGS, represents the union of legal optional flags that may be\npassed as part of this int.  Mempolicies that include illegal flags as part of\ntheir policy are rejected as invalid.\n\nAn additional member to struct mempolicy is added to support the mode flags:\n\n\tstruct mempolicy {\n\t\t...\n\t\tunsigned short policy;\n\t\tunsigned short flags;\n\t}\n\nThe splitting of the \u0027int\u0027 actual passed by the user is done in\nsys_set_mempolicy() and sys_mbind() for their respective syscalls.  This is\ndone by intersecting the actual with MPOL_MODE_FLAGS, rejecting the syscall of\nthere are additional flags, and storing it in the new \u0027flags\u0027 member of struct\nmempolicy.  The intersection of the actual with ~MPOL_MODE_FLAGS is stored in\nthe \u0027policy\u0027 member of the struct and all current users of pol-\u003epolicy remain\nunchanged.\n\nThe union of the policy mode and optional mode flags is passed back to the\nuser in get_mempolicy().\n\nThis combination of mode and flags within the same actual does not break\nuserspace code that relies on get_mempolicy(\u0026policy, ...) and either\n\n\tswitch (policy) {\n\tcase MPOL_BIND:\n\t\t...\n\tcase MPOL_INTERLEAVE:\n\t\t...\n\t};\n\nstatements or\n\n\tif (policy \u003d\u003d MPOL_INTERLEAVE) {\n\t\t...\n\t}\n\nstatements.  Such applications would need to use optional mode flags when\ncalling set_mempolicy() or mbind() for these previously implemented statements\nto stop working.  If an application does start using optional mode flags, it\nwill need to mask the optional flags off the policy in switch and conditional\nstatements that only test mode.\n\nAn additional member is also added to struct shmem_sb_info to store the\noptional mode flags.\n\n[hugh@veritas.com: shmem mpol: fix build warning]\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a3b51e0142d1be156ac697eaadadd6cfbb7ba32b",
      "tree": "da9e527316f112c09f0bc16553c64e3c87125c82",
      "parents": [
        "1b27d05b6e21249d2338be26dfcbe8f8d8ff8a5b"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Mon Apr 28 02:12:23 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:19 2008 -0700"
      },
      "message": "mempolicy: convert MPOL constants to enum\n\nThe mempolicy mode constants, MPOL_DEFAULT, MPOL_PREFERRED, MPOL_BIND, and\nMPOL_INTERLEAVE, are better declared as part of an enum since they are\nsequentially numbered and cannot be combined.\n\nThe policy member of struct mempolicy is also converted from type short to\ntype unsigned short.  A negative policy does not have any legitimate meaning,\nso it is possible to change its type in preparation for adding optional mode\nflags later.\n\nThe equivalent member of struct shmem_sb_info is also changed from int to\nunsigned short.\n\nFor compatibility, the policy formal to get_mempolicy() remains as a pointer\nto an int:\n\n\tint get_mempolicy(int *policy, unsigned long *nmask,\n\t\t\t  unsigned long maxnode, unsigned long addr,\n\t\t\t  unsigned long flags);\n\nalthough the only possible values is the range of type unsigned short.\n\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\nCc: Andi Kleen \u003cak@suse.de\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": "1b27d05b6e21249d2338be26dfcbe8f8d8ff8a5b",
      "tree": "c5413d5f64efed1aa84bfa0ab718f1e2a2f6f9cb",
      "parents": [
        "19fc3f0acde32636529969570055c7e2a744787c"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Mon Apr 28 02:12:22 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:19 2008 -0700"
      },
      "message": "mm: move cache_line_size() to \u003clinux/cache.h\u003e\n\nNot all architectures define cache_line_size() so as suggested by Andrew move\nthe private implementations in mm/slab.c and mm/slob.c to \u003clinux/cache.h\u003e.\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nReviewed-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "19fc3f0acde32636529969570055c7e2a744787c",
      "tree": "abcd29adbebe027eb2f3f13770e63662c22c7975",
      "parents": [
        "797df5749032c2286bc7ff3a52de41fde0cdf0a5"
      ],
      "author": {
        "name": "Adam Litke",
        "email": "agl@us.ibm.com",
        "time": "Mon Apr 28 02:12:20 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:19 2008 -0700"
      },
      "message": "hugetlb: decrease hugetlb_lock cycling in gather_surplus_huge_pages\n\nTo reduce hugetlb_lock acquisitions and releases when freeing excess surplus\npages, scan the page list in two parts.  First, transfer the needed pages to\nthe hugetlb pool.  Then drop the lock and free the remaining pages back to the\nbuddy allocator.\n\nIn the common case there are zero excess pages and no lock operations are\nrequired.\n\nThanks Mel Gorman for this improvement.\n\nSigned-off-by: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "797df5749032c2286bc7ff3a52de41fde0cdf0a5",
      "tree": "38ebb9f0672c6eeab3269cc875f22422fa2c908b",
      "parents": [
        "19770b32609b6bf97a3dece2529089494cbfc549"
      ],
      "author": {
        "name": "Chris Dearman",
        "email": "chris@mips.com",
        "time": "Mon Apr 28 02:12:19 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:19 2008 -0700"
      },
      "message": "mm: try both endianess when checking for endianess\n\nWhen checking for the swap header try byteswapping the endianess dependent\nfields to allow the swap partition to be shared between big \u0026 little endian\nsystems.\n\nSigned-off-by: Chris Dearman \u003cchris@mips.com\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nAcked-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "19770b32609b6bf97a3dece2529089494cbfc549",
      "tree": "3b5922d1b20aabdf929bde9309f323841717747a",
      "parents": [
        "dd1a239f6f2d4d3eedd318583ec319aa145b324c"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon Apr 28 02:12:18 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:19 2008 -0700"
      },
      "message": "mm: filter based on a nodemask as well as a gfp_mask\n\nThe MPOL_BIND policy creates a zonelist that is used for allocations\ncontrolled by that mempolicy.  As the per-node zonelist is already being\nfiltered based on a zone id, this patch adds a version of __alloc_pages() that\ntakes a nodemask for further filtering.  This eliminates the need for\nMPOL_BIND to create a custom zonelist.\n\nA positive benefit of this is that allocations using MPOL_BIND now use the\nlocal node\u0027s distance-ordered zonelist instead of a custom node-id-ordered\nzonelist.  I.e., pages will be allocated from the closest allowed node with\navailable memory.\n\n[Lee.Schermerhorn@hp.com: Mempolicy: update stale documentation and comments]\n[Lee.Schermerhorn@hp.com: Mempolicy: make dequeue_huge_page_vma() obey MPOL_BIND nodemask]\n[Lee.Schermerhorn@hp.com: Mempolicy: make dequeue_huge_page_vma() obey MPOL_BIND nodemask rework]\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dd1a239f6f2d4d3eedd318583ec319aa145b324c",
      "tree": "aff4224c96b5e2e67588c3946858a724863eeaf9",
      "parents": [
        "54a6eb5c4765aa573a030ceeba2c14e3d2ea5706"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon Apr 28 02:12:17 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:18 2008 -0700"
      },
      "message": "mm: have zonelist contains structs with both a zone pointer and zone_idx\n\nFiltering zonelists requires very frequent use of zone_idx().  This is costly\nas it involves a lookup of another structure and a substraction operation.  As\nthe zone_idx is often required, it should be quickly accessible.  The node idx\ncould also be stored here if it was found that accessing zone-\u003enode is\nsignificant which may be the case on workloads where nodemasks are heavily\nused.\n\nThis patch introduces a struct zoneref to store a zone pointer and a zone\nindex.  The zonelist then consists of an array of these struct zonerefs which\nare looked up as necessary.  Helpers are given for accessing the zone index as\nwell as the node index.\n\n[kamezawa.hiroyu@jp.fujitsu.com: Suggested struct zoneref instead of embedding information in pointers]\n[hugh@veritas.com: mm-have-zonelist: fix memcg ooms]\n[hugh@veritas.com: just return do_try_to_free_pages]\n[hugh@veritas.com: do_try_to_free_pages gfp_mask redundant]\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "54a6eb5c4765aa573a030ceeba2c14e3d2ea5706",
      "tree": "547176a090beb787722a153cf2b8b942dc0e68db",
      "parents": [
        "18ea7e710d2452fa726814a406779188028cf1bf"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon Apr 28 02:12:16 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:18 2008 -0700"
      },
      "message": "mm: use two zonelist that are filtered by GFP mask\n\nCurrently a node has two sets of zonelists, one for each zone type in the\nsystem and a second set for GFP_THISNODE allocations.  Based on the zones\nallowed by a gfp mask, one of these zonelists is selected.  All of these\nzonelists consume memory and occupy cache lines.\n\nThis patch replaces the multiple zonelists per-node with two zonelists.  The\nfirst contains all populated zones in the system, ordered by distance, for\nfallback allocations when the target/preferred node has no free pages.  The\nsecond contains all populated zones in the node suitable for GFP_THISNODE\nallocations.\n\nAn iterator macro is introduced called for_each_zone_zonelist() that interates\nthrough each zone allowed by the GFP flags in the selected zonelist.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "18ea7e710d2452fa726814a406779188028cf1bf",
      "tree": "dfa439770b4344ade1ad8bd4fe70920ad66ee064",
      "parents": [
        "0e88460da6ab7bb6a7ef83675412ed5b6315d741"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon Apr 28 02:12:14 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:18 2008 -0700"
      },
      "message": "mm: remember what the preferred zone is for zone_statistics\n\nOn NUMA, zone_statistics() is used to record events like numa hit, miss and\nforeign.  It assumes that the first zone in a zonelist is the preferred zone.\nWhen multiple zonelists are replaced by one that is filtered, this is no\nlonger the case.\n\nThis patch records what the preferred zone is rather than assuming the first\nzone in the zonelist is it.  This simplifies the reading of later patches in\nthis set.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0e88460da6ab7bb6a7ef83675412ed5b6315d741",
      "tree": "1feb4de2362e4998a0deeab66af1efb9c7b8bb34",
      "parents": [
        "dac1d27bc8d5ca636d3014ecfdf94407031d1970"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon Apr 28 02:12:14 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:18 2008 -0700"
      },
      "message": "mm: introduce node_zonelist() for accessing the zonelist for a GFP mask\n\nIntroduce a node_zonelist() helper function.  It is used to lookup the\nappropriate zonelist given a node and a GFP mask.  The patch on its own is a\ncleanup but it helps clarify parts of the two-zonelist-per-node patchset.  If\nnecessary, it can be merged with the next patch in this set without problems.\n\nReviewed-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dac1d27bc8d5ca636d3014ecfdf94407031d1970",
      "tree": "2d92f6533f91da05c5f3d61e314f36b9313be89a",
      "parents": [
        "9d02dbc8137759e4c2f91db0b7f9c8a1ec2a9276"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon Apr 28 02:12:12 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:18 2008 -0700"
      },
      "message": "mm: use zonelists instead of zones when direct reclaiming pages\n\nThe following patches replace multiple zonelists per node with two zonelists\nthat are filtered based on the GFP flags.  The patches as a set fix a bug with\nregard to the use of MPOL_BIND and ZONE_MOVABLE.  With this patchset, the\nMPOL_BIND will apply to the two highest zones when the highest zone is\nZONE_MOVABLE.  This should be considered as an alternative fix for the\nMPOL_BIND+ZONE_MOVABLE in 2.6.23 to the previously discussed hack that filters\nonly custom zonelists.\n\nThe first patch cleans up an inconsistency where direct reclaim uses\nzonelist-\u003ezones where other places use zonelist.\n\nThe second patch introduces a helper function node_zonelist() for looking up\nthe appropriate zonelist for a GFP mask which simplifies patches later in the\nset.\n\nThe third patch defines/remembers the \"preferred zone\" for numa statistics, as\nit is no longer always the first zone in a zonelist.\n\nThe forth patch replaces multiple zonelists with two zonelists that are\nfiltered.  The two zonelists are due to the fact that the memoryless patchset\nintroduces a second set of zonelists for __GFP_THISNODE.\n\nThe fifth patch introduces helper macros for retrieving the zone and node\nindices of entries in a zonelist.\n\nThe final patch introduces filtering of the zonelists based on a nodemask.\nTwo zonelists exist per node, one for normal allocations and one for\n__GFP_THISNODE.\n\nPerformance results varied depending on the machine configuration.  In real\nworkloads the gain/loss will depend on how much the userspace portion of the\nbenchmark benefits from having more cache available due to reduced referencing\nof zonelists.\n\nThese are the range of performance losses/gains when running against\n2.6.24-rc4-mm1.  The set and these machines are a mix of i386, x86_64 and\nppc64 both NUMA and non-NUMA.\n\t\t\t     loss   to  gain\nTotal CPU time on Kernbench: -0.86% to  1.13%\nElapsed   time on Kernbench: -0.79% to  0.76%\npage_test from aim9:         -4.37% to  0.79%\nbrk_test  from aim9:         -0.71% to  4.07%\nfork_test from aim9:         -1.84% to  4.60%\nexec_test from aim9:         -0.71% to  1.08%\n\nThis patch:\n\nThe allocator deals with zonelists which indicate the order in which zones\nshould be targeted for an allocation.  Similarly, direct reclaim of pages\niterates over an array of zones.  For consistency, this patch converts direct\nreclaim to use a zonelist.  No functionality is changed by this patch.  This\nsimplifies zonelist iterators in the next patch.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9d02dbc8137759e4c2f91db0b7f9c8a1ec2a9276",
      "tree": "f08ac5f852d81afb593f80e7bbd0a0a7cff3fb2f",
      "parents": [
        "3c18ddd160d1fcd46d1131d9ad6c594dd8e9af99"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Mon Apr 28 02:12:11 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:18 2008 -0700"
      },
      "message": "make swap_pte_to_pagemap_entry() static\n\nMake the needlessly global swap_pte_to_pagemap_entry() static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3c18ddd160d1fcd46d1131d9ad6c594dd8e9af99",
      "tree": "7307ba1ae4bdb99d1363eb59b1ebefcf5295c8ef",
      "parents": [
        "4d3d5b41a72b52555d43efbfc4ccde6ba6e5444f"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Mon Apr 28 02:12:10 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:18 2008 -0700"
      },
      "message": "mm: remove nopage\n\nNothing in the tree uses nopage any more.  Remove support for it in the\ncore mm code and documentation (and a few stray references to it in\ncomments).\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4d3d5b41a72b52555d43efbfc4ccde6ba6e5444f",
      "tree": "5935f5d9e741f63c190c4edf4d5f6f6005e33d0f",
      "parents": [
        "0dd1334faf7e075bfdb6f5284eed65210b296fc1"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Mon Apr 28 02:12:10 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:18 2008 -0700"
      },
      "message": "mmap_region: cleanup the final vma_merge() related code\n\nIt is not easy to actually understand the \"if (!file || !vma_merge())\"\ncode, turn it into \"if (file \u0026\u0026 vma_merge())\".  This makes immediately\nobvious that the subsequent \"if (file)\" is superfluous.\n\nAs Hugh Dickins pointed out, we can also factor out the -\u003ei_writecount\ncorrections, and add a small comment about that.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0dd1334faf7e075bfdb6f5284eed65210b296fc1",
      "tree": "d64b7b1d4035d8b524b01d5cd3800135edcacc25",
      "parents": [
        "ddc81ed2c5d47a078a3b02c5c3a4345bc2bc3c9b"
      ],
      "author": {
        "name": "Hisashi Hifumi",
        "email": "hifumi.hisashi@oss.ntt.co.jp",
        "time": "Mon Apr 28 02:12:08 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:18 2008 -0700"
      },
      "message": "fix invalidate_inode_pages2_range() to not clear ret\n\nDIO invalidates page cache through invalidate_inode_pages2_range().\ninvalidate_inode_pages2_range() sets ret\u003d-EIO when\ninvalidate_complete_page2() fails, but this ret is cleared if\ndo_launder_page() succeed on a page of next index.\n\nIn this case, dio is carried out even if invalidate_complete_page2() fails\non some pages.\n\nThis can cause inconsistency between memory and blocks on HDD because the\npage cache still exists.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Hisashi Hifumi \u003chifumi.hisashi@oss.ntt.co.jp\u003e\nCc: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nCc: Ken Chen \u003ckenchen@google.com\u003e\nCc: Zach Brown \u003czach.brown@oracle.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Chuck Lever \u003ccel@citi.umich.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ddc81ed2c5d47a078a3b02c5c3a4345bc2bc3c9b",
      "tree": "2bd3e56604350d05d5163e32dde7fbbe56d31586",
      "parents": [
        "488514d1798289f56f80ed018e246179fe500383"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Mon Apr 28 02:12:07 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:17 2008 -0700"
      },
      "message": "remove sparse warning for mmzone.h\n\ninclude/linux/mmzone.h:640:22: warning: potentially expensive pointer subtraction\n\nCalculate the offset into the node_zones array rather than the index\nusing casts to (char *) and comparing against the index * sizeof(struct zone).\n\nOn X86_32 this saves a sar, but code size increases by one byte per\nis_highmem() use due to 32-bit cmps rather than 16 bit cmps.\n\nBefore:\n 207:   2b 80 8c 07 00 00       sub    0x78c(%eax),%eax\n 20d:   c1 f8 0b                sar    $0xb,%eax\n 210:   83 f8 02                cmp    $0x2,%eax\n 213:   74 16                   je     22b \u003ckmap_atomic_prot+0x144\u003e\n 215:   83 f8 03                cmp    $0x3,%eax\n 218:   0f 85 8f 00 00 00       jne    2ad \u003ckmap_atomic_prot+0x1c6\u003e\n 21e:   83 3d 00 00 00 00 02    cmpl   $0x2,0x0\n 225:   0f 85 82 00 00 00       jne    2ad \u003ckmap_atomic_prot+0x1c6\u003e\n 22b:   64 a1 00 00 00 00       mov    %fs:0x0,%eax\n\nAfter:\n 207:   2b 80 8c 07 00 00       sub    0x78c(%eax),%eax\n 20d:   3d 00 10 00 00          cmp    $0x1000,%eax\n 212:   74 18                   je     22c \u003ckmap_atomic_prot+0x145\u003e\n 214:   3d 00 18 00 00          cmp    $0x1800,%eax\n 219:   0f 85 8f 00 00 00       jne    2ae \u003ckmap_atomic_prot+0x1c7\u003e\n 21f:   83 3d 00 00 00 00 02    cmpl   $0x2,0x0\n 226:   0f 85 82 00 00 00       jne    2ae \u003ckmap_atomic_prot+0x1c7\u003e\n 22c:   64 a1 00 00 00 00       mov    %fs:0x0,%eax\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "488514d1798289f56f80ed018e246179fe500383",
      "tree": "e68d9f703dcbceed0cc08b03014d109d7ec3acd4",
      "parents": [
        "e92adcba261fd391591bb63c1703185a04a41554"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Apr 28 02:12:05 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:17 2008 -0700"
      },
      "message": "Remove set_migrateflags()\n\nMigrate flags must be set on slab creation as agreed upon when the antifrag\nlogic was reviewed.  Otherwise some slabs of a slabcache will end up in the\nunmovable and others in the reclaimable section depending on which flag was\nactive when a new slab page was allocated.\n\nThis likely slid in somehow when antifrag was merged. Remove it.\n\nThe buffer_heads are always allocated with __GFP_RECLAIMABLE because the\nSLAB_RECLAIM_ACCOUNT option is set.  The set_migrateflags() never had any\neffect there.\n\nRadix tree allocations are not directly reclaimable but they are allocated\nwith __GFP_RECLAIMABLE set on each allocation.  We now set\nSLAB_RECLAIM_ACCOUNT on radix tree slab creation making sure that radix\ntree slabs are consistently placed in the reclaimable section.  Radix tree\nslabs will also be accounted as such.\n\nThere is then no user left of set_migratepages. So remove it.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e92adcba261fd391591bb63c1703185a04a41554",
      "tree": "83cd94eaa57931da66137a65089a0bcdddf20533",
      "parents": [
        "180c06efce691f2b721dd0d965079827bdd7ee03"
      ],
      "author": {
        "name": "Jeff Moyer",
        "email": "jmoyer@redhat.com",
        "time": "Mon Apr 28 02:12:04 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:17 2008 -0700"
      },
      "message": "aio: io_getevents() should return if io_destroy() is invoked\n\nThis patch wakes up a thread waiting in io_getevents if another thread\ndestroys the context.  This was tested using a small program that spawns a\nthread to wait in io_getevents while the parent thread destroys the io context\nand then waits for the getevents thread to exit.  Without this patch, the\nprogram hangs indefinitely.  With the patch, the program exits as expected.\n\nSigned-off-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nCc: Zach Brown \u003czach.brown@oracle.com\u003e\nCc: Christopher Smith \u003cx@xman.org\u003e\nCc: Benjamin LaHaise \u003cbcrl@kvack.org\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": "180c06efce691f2b721dd0d965079827bdd7ee03",
      "tree": "6d5dbde8f341544bbd212e9d376af1e7880a4229",
      "parents": [
        "ea01ea937dcae2caa146dea1918cccf2f16ed3c4"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Mon Apr 28 02:12:03 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:17 2008 -0700"
      },
      "message": "hotplug-memory: make online_page() common\n\nAll architectures use an effectively identical definition of online_page(), so\njust make it common code.  x86-64, ia64, powerpc and sh are actually\nidentical; x86-32 is slightly different.\n\nx86-32\u0027s differences arise because it puts its hotplug pages in the highmem\nzone.  We can handle this in the generic code by inspecting the page to see if\nits in highmem, and update the totalhigh_pages count appropriately.  This\nleaves init_32.c:free_new_highpage with a single caller, so I folded it into\nadd_one_highpage_init.\n\nI also removed an incorrect comment referring to the NUMA case; any NUMA\ndetails have already been dealt with by the time online_page() is called.\n\n[akpm@linux-foundation.org: fix indenting]\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nAcked-by: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamez.hiroyu@jp.fujitsu.com\u003e\nTested-by: KAMEZAWA Hiroyuki \u003ckamez.hiroyu@jp.fujitsu.com\u003e\nCc: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Yasunori Goto \u003cy-goto@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": "ea01ea937dcae2caa146dea1918cccf2f16ed3c4",
      "tree": "aa3189d587dc04f75bd6a0d79d7f5a764200cd81",
      "parents": [
        "2a4e2b8780c6df42b19c053243dada7fa4d311ee"
      ],
      "author": {
        "name": "Badari Pulavarty",
        "email": "pbadari@us.ibm.com",
        "time": "Mon Apr 28 02:12:01 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:17 2008 -0700"
      },
      "message": "hotplug memory remove: generic __remove_pages() support\n\nGeneric helper function to remove section mappings and sysfs entries for the\nsection of the memory we are removing.  offline_pages() correctly adjusted\nzone and marked the pages reserved.\n\nTODO: Yasunori Goto is working on patches to free up allocations from bootmem.\n\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nAcked-by: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2a4e2b8780c6df42b19c053243dada7fa4d311ee",
      "tree": "4970af3a9ee9c2a8b3e4861ac552cb9262acbaa0",
      "parents": [
        "dca03a51549bc645685fb8a77efa64df531666c3"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Mon Apr 28 02:12:00 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:17 2008 -0700"
      },
      "message": "rtc: replace remaining __FUNCTION__ occurrences\n\n__FUNCTION__ is gcc-specific, use __func__\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dca03a51549bc645685fb8a77efa64df531666c3",
      "tree": "558985a9c87d132de23719b6dfe49e2379a6e8e1",
      "parents": [
        "c116bc2ae516e9949d645bc75b1ee294ff15db23"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Mon Apr 28 02:11:59 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:17 2008 -0700"
      },
      "message": "drivers/char/rtc.c: use time_before, time_before_eq, etc\n\nThe functions time_before, time_before_eq, time_after, and time_after_eq\nare more robust for comparing jiffies against other values.\n\nA simplified version of the semantic patch making this change is as follows:\n(http://www.emn.fr/x-info/coccinelle/)\n\n// \u003csmpl\u003e\n@ change_compare_np @\nexpression E;\n@@\n\n(\n- jiffies \u003c\u003d E\n+ time_before_eq(jiffies,E)\n|\n- jiffies \u003e\u003d E\n+ time_after_eq(jiffies,E)\n|\n- jiffies \u003c E\n+ time_before(jiffies,E)\n|\n- jiffies \u003e E\n+ time_after(jiffies,E)\n)\n\n@ include depends on change_compare_np @\n@@\n\n#include \u003clinux/jiffies.h\u003e\n\n@ no_include depends on !include \u0026\u0026 change_compare_np @\n@@\n\n  #include \u003clinux/...\u003e\n+ #include \u003clinux/jiffies.h\u003e\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c116bc2ae516e9949d645bc75b1ee294ff15db23",
      "tree": "9296da3e37dfc8f80566624faf781f19d41ea9f1",
      "parents": [
        "e2bfe3424b368e977002fc58f81536d5d8ea9449"
      ],
      "author": {
        "name": "Zhao Yakui",
        "email": "yakui.zhao@intel.com",
        "time": "Mon Apr 28 02:11:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:17 2008 -0700"
      },
      "message": "rtc: add the support for alarm time relative to current time in sysfs\n\nIn current kernel if we want to set the alarm time, the absolute time the\nseconds relative to 1970-01-01 00:00:00) should be written into\n/sys/class/rtc/rtc0/wakealarm.  It is not convenient.\n\nIt is more reasonable to add the support for the alarm time relative to\ncurrent RTC time.(the unit is second)\n\nFor example:\nIf the RTC is required to generate alarm after 2 minutes, the following\nwill be OK.\n\techo +120 \u003e /sys/class/rtc/rtc0/wakealarm\nor      echo +0x78 \u003e /sys/class/rtc/rtc0/wakealarm\n\nSigned-off-by: Zhao Yakui \u003cyakui.zhao@intel.com\u003e\nSigned-off-by: Zhang Rui \u003crui.zhang@intel.com\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e2bfe3424b368e977002fc58f81536d5d8ea9449",
      "tree": "6bdc0c1dbf189ce7b8c4f7e74db2ef40cbf97ec9",
      "parents": [
        "e275ac477161a3df5c27e40c55f7af94cfb396cf"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Mon Apr 28 02:11:57 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:17 2008 -0700"
      },
      "message": "rtc: rtc-rs5c372: fix up NULL name in transfer error path\n\nrs5c_get_regs() currently uses rs5c-\u003ertc-\u003ename for its debug printk when\ni2c_transfer() fails, though it is used several times before the rtc dev\nhas been registered. The earliest we can get at the symbolic name is via\nthe i2c client\u0027s struct device, which can be handled by moving the first\nrs5c_get_regs() until after the client pointer is assigned.\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e275ac477161a3df5c27e40c55f7af94cfb396cf",
      "tree": "9a1f15b699c1ccf892fdddfb29e8268e41ff224f",
      "parents": [
        "a3ed107e63b7cd4d1ba1567a69a1feec5f0eabc1"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Mon Apr 28 02:11:56 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:17 2008 -0700"
      },
      "message": "kerneldoc for \u003clinux/clk.h\u003e\n\nAdd \u003clinux/clk.h\u003e to the generated kerneldoc, with some overview\nto go along with those per-function descriptions.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCc: \"Randy.Dunlap\" \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a3ed107e63b7cd4d1ba1567a69a1feec5f0eabc1",
      "tree": "af8b2801234d1218397801348b2917ceb5f37983",
      "parents": [
        "c464652813fe128c346ce6e7ec8fb0d2b67de6fb"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Mon Apr 28 02:11:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:16 2008 -0700"
      },
      "message": "make ds1511_rtc_{read,set}_time() static\n\nMake the needlessly global ds1511_rtc_{read,set}_time() static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c464652813fe128c346ce6e7ec8fb0d2b67de6fb",
      "tree": "dfa63e2029c6d7eaa8b95dae1319db7f62a754fc",
      "parents": [
        "4edac2b442d6176afb0ae431123993dc00882987"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Mon Apr 28 02:11:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:16 2008 -0700"
      },
      "message": "rtc: silence section mismatch warning in rtc-test\n\nFix following warning:\nWARNING: vmlinux.o(.data+0x253e28): Section mismatch in reference from the variable test_drv to the function .devexit.text:test_remove()\n\nFix by renaming the platfrom_driver variable from *_drv to *_driver\nso modpost ignore the reference to an __devexit section.\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4edac2b442d6176afb0ae431123993dc00882987",
      "tree": "8cbe92c992f682788bbd1bfaccf8f59c6c3e7688",
      "parents": [
        "e5fc9cc0266e5babcf84c81908ec8843b7e3349f"
      ],
      "author": {
        "name": "Alessandro Zummo",
        "email": "a.zummo@towertech.it",
        "time": "Mon Apr 28 02:11:54 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:16 2008 -0700"
      },
      "message": "rtc-x1205: new style conversion\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e5fc9cc0266e5babcf84c81908ec8843b7e3349f",
      "tree": "4249515ce296b58634170e775b3bc70386412b1f",
      "parents": [
        "9edae7bcdcbac2dbf037b751ce1809eb2758cd8e"
      ],
      "author": {
        "name": "Alessandro Zummo",
        "email": "a.zummo@towertech.it",
        "time": "Mon Apr 28 02:11:54 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:16 2008 -0700"
      },
      "message": "rtc-pcf8563: new style conversion\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9edae7bcdcbac2dbf037b751ce1809eb2758cd8e",
      "tree": "800704222a5db8a1373d789e2d940b253b61c3df",
      "parents": [
        "c750090085f260503d8beec1c73c4d2e4fe93628"
      ],
      "author": {
        "name": "Alessandro Zummo",
        "email": "a.zummo@towertech.it",
        "time": "Mon Apr 28 02:11:53 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:16 2008 -0700"
      },
      "message": "rtc-isl1208: new style conversion and minor bug fixes\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCc: Herbert Valerio Riedel \u003chvr@gnu.org\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c750090085f260503d8beec1c73c4d2e4fe93628",
      "tree": "6e9b40b453fe55587036d3449c6093b2d83eac36",
      "parents": [
        "77459b059b02c16b2c8cbc39b524941a576ad36e"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Mon Apr 28 02:11:52 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:16 2008 -0700"
      },
      "message": "rtc: avoid legacy drivers with generic framework\n\nKconfig tweaks to help reduce RTC configuration bugs, by avoiding\nlegacy RTC drivers when the generic RTC framework is enabled:\n\n - If rtc-cmos is selected, disable the legacy rtc driver;\n\n - When using generic RTC on x86, enable rtc-cmos by default;\n\n - In the old \"chardev RTC\" section of Kconfig, add a comment\n   warning people off these (seven) legacy RTC drivers when\n   the generic framework is in use.\n\nPeople can still use the legacy drivers if they want (or need) to.\n\nThis doesn\u0027t fix the broken dependencies for the legacy \"CMOS\" RTC driver.\nIdeally it would be a full list of platforms where it works, not a partial\nlist of ones where it won\u0027t.  Or better yet, it would depend on a\n\"HAVE_CMOS_RTC\" flag defined by various platforms ...  surely there\u0027s a\nKconfig style guideline lurking there.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nAcked-by: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "77459b059b02c16b2c8cbc39b524941a576ad36e",
      "tree": "802f2c83ae5298461634612a219cf1e6f76a3819",
      "parents": [
        "1ecf0d0cd28a4bfed3009f752061998e52d14db2"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Mon Apr 28 02:11:51 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:16 2008 -0700"
      },
      "message": "rtc-pcf8583 build fix\n\nFix bogus #include in rtc-pcf8583, so it compiles on platforms that\ndon\u0027t support PC clone RTCs.  (Original issue noted by Adrian Bunk.)\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: Alessandro Zummo \u003ca.zummo@towertech.it\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": "1ecf0d0cd28a4bfed3009f752061998e52d14db2",
      "tree": "dc72f443149f69eb5edbed69774248fbfc32636f",
      "parents": [
        "556637cdabcd5918c7d4a1a2679b8f86fc81e891"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "12o3l@tiscali.nl",
        "time": "Mon Apr 28 02:11:50 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:16 2008 -0700"
      },
      "message": "dz: test after postfix decrement fails in dz_console_putchar()\n\nWhen loops reaches 0 the postfix decrement still subtracts, so the subsequent\ntest fails.\n\nSigned-off-by: Roel Kluin \u003c12o3l@tiscali.nl\u003e\nAcked-by: Maciej W. Rozycki \u003cmacro@linux-mips.org\u003e\nCc: Johannes Weiner \u003channes@saeurebad.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": "556637cdabcd5918c7d4a1a2679b8f86fc81e891",
      "tree": "a5bb95b50e88535966af3ad49017196b757fca64",
      "parents": [
        "f022bfd58253099102218db5249220a7f4787114"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@saeurebad.de",
        "time": "Mon Apr 28 02:11:47 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:16 2008 -0700"
      },
      "message": "mm: fix possible off-by-one in walk_pte_range()\n\nAfter the loop in walk_pte_range() pte might point to the first address after\nthe pmd it walks.  The pte_unmap() is then applied to something bad.\n\nSpotted by Roel Kluin and Andreas Schwab.\n\nSigned-off-by: Johannes Weiner \u003channes@saeurebad.de\u003e\nCc: Roel Kluin \u003c12o3l@tiscali.nl\u003e\nCc: Andreas Schwab \u003cschwab@suse.de\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nAcked-by: Mikael Pettersson \u003cmikpe@it.uu.se\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": "f022bfd58253099102218db5249220a7f4787114",
      "tree": "21409f8c6c1fefb370b86c2b6d86d94802147d61",
      "parents": [
        "86cf02f8eaea1b09e102e0f432fc137dc5cf4407"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 21 15:42:28 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:15:16 2008 -0700"
      },
      "message": "x86: PAT fix\n\nAdrian Bunk noticed the following Coverity report:\n\n\u003e Commit e7f260a276f2c9184fe753732d834b1f6fbe9f17\n\u003e (x86: PAT use reserve free memtype in mmap of /dev/mem)\n\u003e added the following gem to arch/x86/mm/pat.c:\n\u003e\n\u003e \u003c--  snip  --\u003e\n\u003e\n\u003e ...\n\u003e int phys_mem_access_prot_allowed(struct file *file, unsigned long pfn,\n\u003e                                 unsigned long size, pgprot_t *vma_prot)\n\u003e {\n\u003e         u64 offset \u003d ((u64) pfn) \u003c\u003c PAGE_SHIFT;\n\u003e         unsigned long flags \u003d _PAGE_CACHE_UC_MINUS;\n\u003e         unsigned long ret_flags;\n\u003e ...\n\u003e ...  (nothing that touches ret_flags)\n\u003e ...\n\u003e         if (flags !\u003d _PAGE_CACHE_UC_MINUS) {\n\u003e                 retval \u003d reserve_memtype(offset, offset + size, flags, NULL);\n\u003e         } else {\n\u003e                 retval \u003d reserve_memtype(offset, offset + size, -1, \u0026ret_flags);\n\u003e         }\n\u003e\n\u003e         if (retval \u003c 0)\n\u003e                 return 0;\n\u003e\n\u003e         flags \u003d ret_flags;\n\u003e\n\u003e         if (pfn \u003c\u003d max_pfn_mapped \u0026\u0026\n\u003e             ioremap_change_attr((unsigned long)__va(offset), size, flags) \u003c 0) {\n\u003e                 free_memtype(offset, offset + size);\n\u003e                 printk(KERN_INFO\n\u003e                 \"%s:%d /dev/mem ioremap_change_attr failed %s for %Lx-%Lx\\n\",\n\u003e                         current-\u003ecomm, current-\u003epid,\n\u003e                         cattr_name(flags),\n\u003e                         offset, offset + size);\n\u003e                 return 0;\n\u003e         }\n\u003e\n\u003e         *vma_prot \u003d __pgprot((pgprot_val(*vma_prot) \u0026 ~_PAGE_CACHE_MASK) |\n\u003e                              flags);\n\u003e         return 1;\n\u003e }\n\u003e\n\u003e \u003c--  snip  --\u003e\n\u003e\n\u003e If (flags !\u003d _PAGE_CACHE_UC_MINUS) we pass garbage from the stack to\n\u003e ioremap_change_attr() and/or __pgprot().\n\u003e\n\u003e Spotted by the Coverity checker.\n\nthe fix simplifies the code as we get rid of the \u0027ret_flags\u0027\ncomplication.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "86cf02f8eaea1b09e102e0f432fc137dc5cf4407",
      "tree": "a36231469b316b4d13d23980ea4f5fb08e224009",
      "parents": [
        "064922a805ec7aadfafdd27aa6b4908d737c3c1d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 27 11:59:30 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 27 11:59:30 2008 -0700"
      },
      "message": "x86 PAT: tone down debugging messages some more\n\nIngo already fixed one of these at my request (in \"x86 PAT: tone down\ndebugging messages\", commit 1ebcc654f010d4a63f3ebf8ddd2cab5a709b1824),\nbut there was another one he missed.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "064922a805ec7aadfafdd27aa6b4908d737c3c1d",
      "tree": "922d058f751964ccf73f5705d7c492b6d45a9425",
      "parents": [
        "42cadc86008aae0fd9ff31642dc01ed50723cf32",
        "ecc1241e80a0bdc854b1602a44be3ad106753d4f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 27 11:25:00 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 27 11:25:00 2008 -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: (40 commits)\n  [SCSI] jazz_esp, sgiwd93, sni_53c710, sun3x_esp: fix platform driver hotplug/coldplug\n  [SCSI] aic7xxx: add const\n  [SCSI] aic7xxx: add static\n  [SCSI] aic7xxx: Update _shipped files\n  [SCSI] aic7xxx: teach aicasm to not emit unused debug code/data\n  [SCSI] qla2xxx: Update version number to 8.02.01-k2.\n  [SCSI] qla2xxx: Correct regression in relogin code.\n  [SCSI] qla2xxx: Correct misc. endian and byte-ordering issues.\n  [SCSI] qla2xxx: make qla2x00_issue_iocb_timeout() static\n  [SCSI] qla2xxx: qla_os.c, make 2 functions static\n  [SCSI] qla2xxx: Re-register FDMI information after a LIP.\n  [SCSI] qla2xxx: Correct SRB usage-after-completion/free issues.\n  [SCSI] qla2xxx: Correct ISP84XX verify-chip response handling.\n  [SCSI] qla2xxx: Wakeup DPC thread to process any deferred-work requests.\n  [SCSI] qla2xxx: Collapse RISC-RAM retrieval code during a firmware-dump.\n  [SCSI] m68k: new mac_esp scsi driver\n  [SCSI] zfcp: Add some statistics provided by the FCP adapter to the sysfs\n  [SCSI] zfcp: Print some messages only during ERP\n  [SCSI] zfcp: Wait for free SBAL during exchange config\n  [SCSI] scsi_transport_fc: fc_user_scan correction\n  ...\n"
    },
    {
      "commit": "ecc1241e80a0bdc854b1602a44be3ad106753d4f",
      "tree": "8033fabd18415681378506c0c4e597a3a6675f66",
      "parents": [
        "980b306a297725d4f25c779ca15086de757acadf"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Fri Apr 18 13:57:19 2008 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sun Apr 27 12:33:04 2008 -0500"
      },
      "message": "[SCSI] jazz_esp, sgiwd93, sni_53c710, sun3x_esp: fix platform driver hotplug/coldplug\n\nSince\n\ncommit 43cc71eed1250755986da4c0f9898f9a635cb3bf\nAuthor: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nDate:   Sat Aug 18 04:40:39 2007 +0200\n\n    platform: prefix MODALIAS with \"platform:\"\n\nthe platform modalias is prefixed with \"platform:\". Add MODULE_ALIAS()\nto the hotpluggable SCSI platform drivers, to re-enable auto loading.\n\n[dbrownell@users.sourceforge.net: more drivers, registration fixes]\n[akpm@linux-foundation.org: fix sgiwd93.c]\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "980b306a297725d4f25c779ca15086de757acadf",
      "tree": "74a8c1482fa49eaec5100438c75735cab83adf2a",
      "parents": [
        "d1d7b19d433188e94fc87cc7ca66363cd77a0bba"
      ],
      "author": {
        "name": "Denys Vlasenko",
        "email": "vda.linux@googlemail.com",
        "time": "Fri Apr 25 04:36:01 2008 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sun Apr 27 12:20:00 2008 -0500"
      },
      "message": "[SCSI] aic7xxx: add const\n\nThis patch adds more const keywords where appropriate.\n\nSigned-off-by: Denys Vlasenko \u003cvda.linux@googlemail.com\u003e\nAcked-by: Hannes Reinecke \u003chare@suse.de\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "d1d7b19d433188e94fc87cc7ca66363cd77a0bba",
      "tree": "ca3474a25f2ca420e0004e47fd1a1b9d0cf5e057",
      "parents": [
        "d10c2e4627b0dda286bcd1c77720eb5fe4a04f93"
      ],
      "author": {
        "name": "Denys Vlasenko",
        "email": "vda.linux@googlemail.com",
        "time": "Fri Apr 25 04:34:49 2008 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sun Apr 27 12:20:00 2008 -0500"
      },
      "message": "[SCSI] aic7xxx: add static\n\nThis patch adds static (and sometimes const) keywords where appropriate.\n\nSigned-off-by: Denys Vlasenko \u003cvda.linux@googlemail.com\u003e\nAcked-by: Hannes Reinecke \u003chare@suse.de\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "d10c2e4627b0dda286bcd1c77720eb5fe4a04f93",
      "tree": "b8f72d6908ab1564da3eda146644742edba156b8",
      "parents": [
        "3dbd10f3d8b00dad35d3fac95e91c066ae71d9a8"
      ],
      "author": {
        "name": "Hannes Reinecke",
        "email": "hare@suse.de",
        "time": "Fri Apr 25 15:03:05 2008 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sun Apr 27 12:20:00 2008 -0500"
      },
      "message": "[SCSI] aic7xxx: Update _shipped files\n\nUpdate the precompiled sequencer code to match the latest\naicasm changes.\n\nSigned-off-by: Hannes Reinecke \u003chare@suse.de\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "3dbd10f3d8b00dad35d3fac95e91c066ae71d9a8",
      "tree": "cbd020e0d4e9911afc88dbfc725f66139fb30129",
      "parents": [
        "a198c3d0393faa1fa9f0e6e917ce980d3638f8df"
      ],
      "author": {
        "name": "Hannes Reinecke",
        "email": "hare@suse.de",
        "time": "Fri Apr 25 15:01:41 2008 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sun Apr 27 12:20:00 2008 -0500"
      },
      "message": "[SCSI] aic7xxx: teach aicasm to not emit unused debug code/data\n\nAdd a \u0027count\u0027 variable to each symbol which gets increased every time\nthe symbol is referenced.  And then modify the register definition to\ninclude counts for symbols which are referenced from the source code\nonly and not from the sequencer code.\n\nThis will give us an automatic usage count for the symbols with only\nminimal hand-crafting.\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "a198c3d0393faa1fa9f0e6e917ce980d3638f8df",
      "tree": "570bb5acb692c1f4323670b26bfdb0085c1eaa24",
      "parents": [
        "666301e673e192c87a40e07a8357d6996b57b70f"
      ],
      "author": {
        "name": "Andrew Vasquez",
        "email": "andrew.vasquez@qlogic.com",
        "time": "Thu Apr 24 15:21:31 2008 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sun Apr 27 12:19:59 2008 -0500"
      },
      "message": "[SCSI] qla2xxx: Update version number to 8.02.01-k2.\n\nSigned-off-by: Andrew Vasquez \u003candrew.vasquez@qlogic.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "666301e673e192c87a40e07a8357d6996b57b70f",
      "tree": "833dc6ed2b01f86c94c3ce886e0bdb91fc5d2e05",
      "parents": [
        "c6852c4c5984fff130a859792d4b26d30c85c54b"
      ],
      "author": {
        "name": "Andrew Vasquez",
        "email": "andrew.vasquez@qlogic.com",
        "time": "Thu Apr 24 15:21:30 2008 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sun Apr 27 12:19:59 2008 -0500"
      },
      "message": "[SCSI] qla2xxx: Correct regression in relogin code.\n\nCommit 63a8651f2548c6bb5132c0b4e7dad4f57a9274db ([SCSI] qla2xxx:\nCorrect infinite-login-retry issue.) introduced a small\nregression where a successful relogin would result in an fcport\u0027s\nloop_id to be incorrectly reset to FC_NO_LOOP_ID.  Only clear-out\nloopid, if retries have been \u0027truly\u0027 exhausted.\n\nSigned-off-by: Andrew Vasquez \u003candrew.vasquez@qlogic.com\u003e\nCc: Stable Tree \u003cstable@kernel.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "c6852c4c5984fff130a859792d4b26d30c85c54b",
      "tree": "2dee2906fa8cd693a391903b96cafa544340b157",
      "parents": [
        "3b8117b837f5768f46e9a876a58de11606f63483"
      ],
      "author": {
        "name": "Seokmann Ju",
        "email": "seokmann.ju@qlogic.com",
        "time": "Thu Apr 24 15:21:29 2008 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sun Apr 27 12:19:59 2008 -0500"
      },
      "message": "[SCSI] qla2xxx: Correct misc. endian and byte-ordering issues.\n\nThere were several places in the driver which could cause byte\nordering problem as provided by Al Viro\n\u003cviro@ZenIV.linux.org.uk\u003e.\n\nSigned-off-by: Seokmann Ju \u003cseokmann.ju@qlogic.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "3b8117b837f5768f46e9a876a58de11606f63483",
      "tree": "6b536bb37d73288a79f8c3253ea414b27896e377",
      "parents": [
        "01ef66bbb65aa4db100b267778202d7657e244e4"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Thu Apr 24 15:21:28 2008 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sun Apr 27 12:19:59 2008 -0500"
      },
      "message": "[SCSI] qla2xxx: make qla2x00_issue_iocb_timeout() static\n\nThis patch makes the needlessly global qla2x00_issue_iocb_timeout()\nstatic.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Andrew Vasquez \u003candrew.vasquez@qlogic.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "01ef66bbb65aa4db100b267778202d7657e244e4",
      "tree": "df665a068310f7ed11162f8bc7096872a7930db9",
      "parents": [
        "7e47e5ca184548341a82eeb2238ee3622c43cae1"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Thu Apr 24 15:21:27 2008 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sun Apr 27 12:19:58 2008 -0500"
      },
      "message": "[SCSI] qla2xxx: qla_os.c, make 2 functions static\n\nThis patch makes the following needlessly global functions static:\n- qla2x00_alloc_work()\n- qla2x00_post_work()\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Andrew Vasquez \u003candrew.vasquez@qlogic.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "7e47e5ca184548341a82eeb2238ee3622c43cae1",
      "tree": "f2e7c377aae3af48a29571aa4f6924d4a92cc17c",
      "parents": [
        "0c23b856581673c90aa619b1ab04127a7f90cea2"
      ],
      "author": {
        "name": "Andrew Vasquez",
        "email": "andrew.vasquez@qlogic.com",
        "time": "Thu Apr 24 15:21:26 2008 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sun Apr 27 12:19:58 2008 -0500"
      },
      "message": "[SCSI] qla2xxx: Re-register FDMI information after a LIP.\n\nOriginal code would (incorrectly) only re-register after a\nloop-down condition.  Also, FDMI registration should be enabled\nby default.\n\nSigned-off-by: Andrew Vasquez \u003candrew.vasquez@qlogic.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "0c23b856581673c90aa619b1ab04127a7f90cea2",
      "tree": "60bcebbe128c331fe9c49ed70ec18f8516ec2939",
      "parents": [
        "c1ec1f1bf9cb1ba80e79a74d48bcfb5da246d6f6"
      ],
      "author": {
        "name": "Andrew Vasquez",
        "email": "andrew.vasquez@qlogic.com",
        "time": "Thu Apr 24 15:21:25 2008 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sun Apr 27 12:19:58 2008 -0500"
      },
      "message": "[SCSI] qla2xxx: Correct SRB usage-after-completion/free issues.\n\nThe driver is incorrectly assuming that the \u0027sp\u0027 reference held\nin qla2[x00|4xx]_abort_command() is valid after the mailbox\ncommand is issued to abort the exchange.  It is *not*, as the\ncommand may be completed during interrupt context before control\nis returned to the mailbox caller.\n\nSigned-off-by: Andrew Vasquez \u003candrew.vasquez@qlogic.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "c1ec1f1bf9cb1ba80e79a74d48bcfb5da246d6f6",
      "tree": "5e3087cbef3fb4cb1cfa8dbfe6a47f178315685b",
      "parents": [
        "550bf57dfb2200721baa43cfd9a8c75c2c166870"
      ],
      "author": {
        "name": "Andrew Vasquez",
        "email": "andrew.vasquez@qlogic.com",
        "time": "Thu Apr 24 15:21:24 2008 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sun Apr 27 12:19:58 2008 -0500"
      },
      "message": "[SCSI] qla2xxx: Correct ISP84XX verify-chip response handling.\n\nEarlier code could trigger an infinite-retry if 1st invocation\nreturned a non-CS_COMPLETE status.\n\nSigned-off-by: Andrew Vasquez \u003candrew.vasquez@qlogic.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "550bf57dfb2200721baa43cfd9a8c75c2c166870",
      "tree": "da0f11a9d1511deee63e78492a1c804980e8ddf7",
      "parents": [
        "c5722708c236b51286651b8c07855f764239453b"
      ],
      "author": {
        "name": "Andrew Vasquez",
        "email": "andrew.vasquez@qlogic.com",
        "time": "Thu Apr 24 15:21:23 2008 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sun Apr 27 12:19:58 2008 -0500"
      },
      "message": "[SCSI] qla2xxx: Wakeup DPC thread to process any deferred-work requests.\n\nSigned-off-by: Andrew Vasquez \u003candrew.vasquez@qlogic.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "c5722708c236b51286651b8c07855f764239453b",
      "tree": "f721837b7b807f3e601467fb7292f0cf6bdacd8a",
      "parents": [
        "6fe07aaffbf086a0ce9134ef27ce4a8921ff5947"
      ],
      "author": {
        "name": "Andrew Vasquez",
        "email": "andrew.vasquez@qlogic.com",
        "time": "Thu Apr 24 15:21:22 2008 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sun Apr 27 12:19:57 2008 -0500"
      },
      "message": "[SCSI] qla2xxx: Collapse RISC-RAM retrieval code during a firmware-dump.\n\nUse the more efficient read-DMA\u0027ble-buffer mailbox commands\nrather than reading a single word/dword at a time.  We also\nremove a bulk of the duplicate mailbox command-handling codes in\nfavor of more generic read-memory() routines (qla2xxx_dump_ram()\nand qla24xx_dump_ram()).\n\nSigned-off-by: Andrew Vasquez \u003candrew.vasquez@qlogic.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "6fe07aaffbf086a0ce9134ef27ce4a8921ff5947",
      "tree": "3df572890c012b0a23662141fc4e538a36b66b10",
      "parents": [
        "6d9d63b9480e1c7ea41845646de803c2d3f0eae2"
      ],
      "author": {
        "name": "Finn Thain",
        "email": "fthain@telegraphics.com.au",
        "time": "Fri Apr 25 10:06:05 2008 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sun Apr 27 12:19:57 2008 -0500"
      },
      "message": "[SCSI] m68k: new mac_esp scsi driver\n\nReplace the mac_esp driver with a new one based on the esp_scsi core.\n\nFor esp_scsi: add support for sync transfers for the PIO mode, add a new\nesp_driver_ops method to get the maximum dma transfer size (like the old\nNCR53C9x driver), and some cleanups.\n\nSigned-off-by: Finn Thain \u003cfthain@telegraphics.com.au\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "6d9d63b9480e1c7ea41845646de803c2d3f0eae2",
      "tree": "a24b809cff563313ae0309d023c30ac96f4b9a7f",
      "parents": [
        "ec258fe4b76dba29e1a149cd8f23ee931b47afb2"
      ],
      "author": {
        "name": "Swen Schillig",
        "email": "swen@vnet.ibm.com",
        "time": "Thu Apr 24 19:35:54 2008 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sun Apr 27 12:19:57 2008 -0500"
      },
      "message": "[SCSI] zfcp: Add some statistics provided by the FCP adapter to the sysfs\n\nThe new FCP adapter statistics provide a variety of information about\nthe virtual adapter (subchannel). In order to collect this information\nthe zfcp driver is extended to query this information.\n\nThe information provided by the new FCP adapter statistics can be\nfetched by reading from the following files in the sysfs filesystem\n\n/sys/class/scsi_host/host\u003cn\u003e/seconds_active\n/sys/class/scsi_host/host\u003cn\u003e/requests\n/sys/class/scsi_host/host\u003cn\u003e/megabytes\n/sys/class/scsi_host/host\u003cn\u003e/utilization\n\nThese are the statistics on a virtual adapter (subchannel) level.\n\nThe information provided is raw and not modified or interpreted by any\nmeans.  No interpretation or modification of the values is done by the\nzfcp driver.\n\nSigned-off-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "ec258fe4b76dba29e1a149cd8f23ee931b47afb2",
      "tree": "ccbe5839cb0c60bad1db5fe01ade23bd4f2ac46e",
      "parents": [
        "aee6ef1859fd975b285b6de1857f7dcf39671818"
      ],
      "author": {
        "name": "Swen Schillig",
        "email": "swen@vnet.ibm.com",
        "time": "Thu Apr 24 19:35:53 2008 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sun Apr 27 12:19:57 2008 -0500"
      },
      "message": "[SCSI] zfcp: Print some messages only during ERP\n\nWhen statistics are polled from sysfs, the statistics use the same\ncommands as the adapter initialization. Change the messages printed\nhere, so they are only printed during initialization and not for each\npoll of adapter data.\n\nSigned-off-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "aee6ef1859fd975b285b6de1857f7dcf39671818",
      "tree": "c1ec91f76d00f3b52be09fff6bca2355b1abab72",
      "parents": [
        "bda232531f0c117921690ee3c060953c8f12e5a1"
      ],
      "author": {
        "name": "Swen Schillig",
        "email": "swen@vnet.ibm.com",
        "time": "Thu Apr 24 19:35:52 2008 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sun Apr 27 12:19:56 2008 -0500"
      },
      "message": "[SCSI] zfcp: Wait for free SBAL during exchange config\n\nWhen sending a exchange config data command, wait for a free SBAL.\nThis does not matter during adapter initialization, but this is\nrequired for pulling adapter statistics during high I/O load.\n\nSigned-off-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "bda232531f0c117921690ee3c060953c8f12e5a1",
      "tree": "d237ba28380ff9d6fccb966463bca2bcfecbc509",
      "parents": [
        "87c4d7bc2aaa9b782aac6ab0a74cf16f87398bbc"
      ],
      "author": {
        "name": "James Smart",
        "email": "James.Smart@Emulex.Com",
        "time": "Thu Apr 24 12:12:46 2008 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sun Apr 27 12:19:56 2008 -0500"
      },
      "message": "[SCSI] scsi_transport_fc: fc_user_scan correction\n\nWay back when, when the fc_user_scan routine was created, it kept some\nof its original logic that walked the rport list and kicked off a scan.\nUnfortunately, it didn\u0027t keep any of the locking around the rport list,\nnor did it consider the synchronous nature of the scan invoked. The result,\nthere are some scan requests where the rport list changes, thus a subsequent\nscan is called on a bogus rport structure and the system NMI\u0027s.\n\nSigned-off-by: James Smart \u003cjames.smart@emulex.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "87c4d7bc2aaa9b782aac6ab0a74cf16f87398bbc",
      "tree": "2d588ba27d5e00e6a976de808cdda54716f63521",
      "parents": [
        "9f9a73b6fe0c8fd9b54b650e34956eb92df6abfa"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Thu Apr 24 19:45:32 2008 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sun Apr 27 12:19:55 2008 -0500"
      },
      "message": "[SCSI] aha1542: minor irq handler cleanups\n\n- where the \u0027irq\u0027 function argument is known never to be used, rename\n  it to \u0027dummy\u0027 to make this more obvious\n\n- replace per-irq lookup functions and tables with a direct reference\n  to data object obtained via \u0027dev_id\u0027 function argument, passed from\n  request_irq()\n\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "9f9a73b6fe0c8fd9b54b650e34956eb92df6abfa",
      "tree": "a5ef0bd48e971204c1c275122782695646b258bd",
      "parents": [
        "1377d8dd7e1b5526637958aabb5427bbee5a68d7"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Wed Apr 23 09:56:14 2008 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sun Apr 27 12:19:55 2008 -0500"
      },
      "message": "[SCSI] scsi_transport_spi: include sysfs.h\n\nscsi_transport_spi.c needs to #include \u003clinux/sysfs.h\u003e:\n\nnext-20080423/drivers/scsi/scsi_transport_spi.c:1467: error: implicit declaration of function \u0027sysfs_update_group\u0027\nmake[3]: *** [drivers/scsi/scsi_transport_spi.o] Error 1\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "1377d8dd7e1b5526637958aabb5427bbee5a68d7",
      "tree": "ed545c51f083c8470830b008ea71fd5f2454b643",
      "parents": [
        "2b48aed182c65b3387b076364ab286c445aa4a93"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Apr 23 12:51:10 2008 +0300"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sun Apr 27 12:19:55 2008 -0500"
      },
      "message": "[SCSI] FlashPoint: fix off-by-one errors\n\nThis patch fixes off-by-one errors in error checks (the variables are\nused as array indexes for arrays with MAX_SCSI_TAR resp. MAX_LUN\nelements) spotted by the Coverity checker.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "2b48aed182c65b3387b076364ab286c445aa4a93",
      "tree": "0cb69715529e3cc007b3e398a96a3d29e008e8a8",
      "parents": [
        "542bd1377a963070bc4a03ff7d2690ddf3920596"
      ],
      "author": {
        "name": "Hannes Reinecke",
        "email": "hare@suse.de",
        "time": "Wed Apr 23 11:39:49 2008 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sun Apr 27 12:19:55 2008 -0500"
      },
      "message": "[SCSI] aic7xxx: Update type check in aicasm grammar\n\nThe function type_check() in aicasm grammar code was\nnever used properly due to a bug.\nThis patch fixes it up and ensures it\u0027s only called if appropriate.\n\nIn addition the unused 16bit instruction are disabled, but left in\nthe code for reference.\n\nSigned-off-by: Hannes Reinecke \u003chare@suse.de\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "542bd1377a963070bc4a03ff7d2690ddf3920596",
      "tree": "81c70ca891f8a6c5ef84df211fd92ef0c86393d1",
      "parents": [
        "582fb6c03a0e89d05e4efa8a3e4bd09d0942dadc"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Mon Apr 21 10:57:20 2008 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sun Apr 27 12:19:54 2008 -0500"
      },
      "message": "[SCSI] fix SLUB WARN_ON\n\nWe\u0027re getting a WARN_ON from SLUB indicating that we\u0027re trying to free\ncaches with in-use objects.  The root cause is a new dependency in the\ncommand/sense free on unchecked_isa_dma.  The WARN_ON is caused by\ndrivers which change this in their setup after the command/sense cache\nis allocated.\n\nThe fix is to move the allocation of this cache into scsi_add_host()\nso things like gdth have an opportunity to modify it between alloc and\nadd (but *not* after).\n\nThe true fix would be to move unchecked_isa_dma into the template and\nout of the host, so it because a truly read only variable.\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "42cadc86008aae0fd9ff31642dc01ed50723cf32",
      "tree": "b05d4c8f0561bad5a0183a89fb23ce4c8ee1653c",
      "parents": [
        "fba5c1af5c4fd6645fe62ea84ccde0981282cf66",
        "66c0b394f08fd89236515c1c84485ea712a157be"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 27 10:13:52 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 27 10:13:52 2008 -0700"
      },
      "message": "Merge branch \u0027kvm-updates-2.6.26\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm\n\n* \u0027kvm-updates-2.6.26\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm: (147 commits)\n  KVM: kill file-\u003ef_count abuse in kvm\n  KVM: MMU: kvm_pv_mmu_op should not take mmap_sem\n  KVM: SVM: remove selective CR0 comment\n  KVM: SVM: remove now obsolete FIXME comment\n  KVM: SVM: disable CR8 intercept when tpr is not masking interrupts\n  KVM: SVM: sync V_TPR with LAPIC.TPR if CR8 write intercept is disabled\n  KVM: export kvm_lapic_set_tpr() to modules\n  KVM: SVM: sync TPR value to V_TPR field in the VMCB\n  KVM: ppc: PowerPC 440 KVM implementation\n  KVM: Add MAINTAINERS entry for PowerPC KVM\n  KVM: ppc: Add DCR access information to struct kvm_run\n  ppc: Export tlb_44x_hwater for KVM\n  KVM: Rename debugfs_dir to kvm_debugfs_dir\n  KVM: x86 emulator: fix lea to really get the effective address\n  KVM: x86 emulator: fix smsw and lmsw with a memory operand\n  KVM: x86 emulator: initialize src.val and dst.val for register operands\n  KVM: SVM: force a new asid when initializing the vmcb\n  KVM: fix kvm_vcpu_kick vs __vcpu_run race\n  KVM: add ioctls to save/store mpstate\n  KVM: Rename VCPU_MP_STATE_* to KVM_MP_STATE_*\n  ...\n"
    },
    {
      "commit": "fba5c1af5c4fd6645fe62ea84ccde0981282cf66",
      "tree": "834022eb683e0badd5a1e5eb5957f74c0e69ebb4",
      "parents": [
        "f222eba0f9d98376d363b51fcc2361fb56929844",
        "077e3bdb9ec34d7cb5751b5be81a4a0f6f0eb5dc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 27 10:13:06 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 27 10:13:06 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (49 commits)\n  ide-tape: remove tape-\u003emerge_stage\n  ide-tape: mv tape-\u003emerge_stage_size tape-\u003emerge_bh_size\n  ide-tape: mv idetape_empty_write_pipeline ide_tape_flush_merge_buffer\n  ide-tape: mv idetape_discard_read_pipeline ide_tape_discard_merge_buffer\n  ide-tape: make __idetape_discard_read_pipeline() of type void\n  ide: remove now unused ide_pci_create_host_proc()\n  ide: remove /proc/ide/ali\n  ide-tape: improve buffer pages freeing strategy\n  ide-tape: mv tape-\u003epages_per_stage tape-\u003epages_per_buffer\n  ide-tape: mv tape-\u003estage_size tape-\u003ebuffer_size\n  ide-tape: improve buffer allocation strategy\n  ide: add struct ide_io_ports (take 3)\n  ide: make ide_unregister() take \u0027ide_hwif_t *\u0027 as an argument (take 2)\n  ide: sanitize ide_unregister() usage\n  mpc8xx-ide: use ide_find_port()\n  ide: add \"noacpi\" / \"acpigtf\" / \"acpionboot\" parameters\n  gayle: add \"doubler\" parameter\n  ide: add \"cdrom\u003d\" and \"chs\u003d\" parameters\n  ide: add \"nodma|noflush|noprobe|nowerr\u003d\" parameters\n  ide: remove obsoleted \"hdx\u003dautotune\" kernel parameter\n  ...\n"
    },
    {
      "commit": "f222eba0f9d98376d363b51fcc2361fb56929844",
      "tree": "7b75784eda684b96d4235149acc68b4adbcc50a4",
      "parents": [
        "cf867ac375cea7c7a834eaddaf373e2662d9e260",
        "7f424a8b08c26dc14ac5c17164014539ac9a5c65"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 27 10:10:54 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 27 10:10:54 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-idle-fix\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-idle-fix:\n  fix idle (arch, acpi and apm) and lockdep\n"
    },
    {
      "commit": "cf867ac375cea7c7a834eaddaf373e2662d9e260",
      "tree": "09c47547433f088c29b74d401142d0629ce2dde1",
      "parents": [
        "2d630d1a6827bb7266dcd8bba5f99fac2505ee97",
        "20430214cc0073dc7e817b032e32ae2ae54b4911"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 27 10:10:37 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 27 10:10:37 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:\n  Input: xpad - fix build failure\n"
    },
    {
      "commit": "2d630d1a6827bb7266dcd8bba5f99fac2505ee97",
      "tree": "e954840c63cff13f58d4218681435e749afda345",
      "parents": [
        "f375d5588ff62caf31b4a68ac9347c153ac56590",
        "ed4d3c1061d6f367a4ef5e1656c25af3314fe2b7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 27 10:10:14 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 27 10:10:14 2008 -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: Add helper to move QP to ready-to-send\n  mlx4_core: Add HW queues allocation helpers\n  RDMA/nes: Remove volatile qualifier from struct nes_hw_cq.cq_vbase\n  mlx4_core: CQ resizing should pass a 0 opcode modifier to MODIFY_CQ\n  mlx4_core: Move kernel doorbell management into core\n  IB/ehca: Bump version number to 0026\n  IB/ehca: Make some module parameters bool, update descriptions\n  IB/ehca: Remove mr_largepage parameter\n  IB/ehca: Move high-volume debug output to higher debug levels\n  IB/ehca: Prevent posting of SQ WQEs if QP not in RTS\n  IPoIB: Handle 4K IB MTU for UD (datagram) mode\n  RDMA/nes: Fix adapter reset after PXE boot\n  RDMA/nes: Print IPv4 addresses in a readable format\n  RDMA/nes: Use print_mac() to format ethernet addresses for printing\n"
    },
    {
      "commit": "f375d5588ff62caf31b4a68ac9347c153ac56590",
      "tree": "9e437de73f189afd4c4a8294a6617684cb21e9af",
      "parents": [
        "7ac86bf61ad570a2ef642a3f7e72274570ace9c4"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Sun Apr 27 06:19:18 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 27 10:09:32 2008 -0700"
      },
      "message": "asm/unaligned.h doesn\u0027t work well as the very first include\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7ac86bf61ad570a2ef642a3f7e72274570ace9c4",
      "tree": "5860afeafe94e776ad55b82bd40bf413ca5d88b7",
      "parents": [
        "c3bf9bc243092c53946fd6d8ebd6dc2f4e572d48"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Sun Apr 27 06:15:42 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 27 10:09:32 2008 -0700"
      },
      "message": "e1000e triggers sparc32 gcc bug\n\n\t... and isn\u0027t possible on sparc32 boxen anyway, unless somebody\nhad done JavaStation with PCIE lately.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "66c0b394f08fd89236515c1c84485ea712a157be",
      "tree": "bb6e9e5c0d6297f93617d222ea11f3c134ccab99",
      "parents": [
        "960b3991698872f68f09d51f4c2794ad484fe1fd"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Sat Apr 19 20:33:56 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 18:21:46 2008 +0300"
      },
      "message": "KVM: kill file-\u003ef_count abuse in kvm\n\nUse kvm own refcounting instead of playing with -\u003efilp-\u003ef_count.\nThat will allow to get rid of a lot of crap in anon_inode_getfd() and\nkill a race in kvm_dev_ioctl_create_vm() (file might have been closed\nimmediately by another thread, so -\u003efilp might point to already freed\nstruct file when we get around to setting it).\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "960b3991698872f68f09d51f4c2794ad484fe1fd",
      "tree": "a5b2d84dfb0f7009538c1c07ca5e244da2be3956",
      "parents": [
        "1336028b9a1fb33537eab8caec66e812eb8cad63"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Wed Apr 16 17:19:06 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 18:21:45 2008 +0300"
      },
      "message": "KVM: MMU: kvm_pv_mmu_op should not take mmap_sem\n\nkvm_pv_mmu_op should not take mmap_sem. All gfn_to_page() callers down\nin the MMU processing will take it if necessary, so as it is it can\ndeadlock.\n\nApparently a leftover from the days before slots_lock.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "1336028b9a1fb33537eab8caec66e812eb8cad63",
      "tree": "bd9aa8ff8f72cf6cbd109e5bf0c2206ef2374bd3",
      "parents": [
        "aaf697e4e02bf6f7dd6105877bc58ebdbf612d66"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Apr 16 17:01:05 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 18:21:44 2008 +0300"
      },
      "message": "KVM: SVM: remove selective CR0 comment\n\nThere is not selective cr0 intercept bug. The code in the comment sets the\nCR0.PG bit. But KVM sets the CR4.PG bit for SVM always to implement the paged\nreal mode. So the \u0027mov %eax,%cr0\u0027 instruction does not change the CR0.PG bit.\nSelective CR0 intercepts only occur when a bit is actually changed. So its the\nright behavior that there is no intercept on this instruction.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "aaf697e4e02bf6f7dd6105877bc58ebdbf612d66",
      "tree": "9ffe449b454b11cc5fe88c17cc406e3740794512",
      "parents": [
        "aaacfc9ae225e88695e610a35627d2256dc08633"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Apr 16 16:51:19 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 18:21:43 2008 +0300"
      },
      "message": "KVM: SVM: remove now obsolete FIXME comment\n\nWith the usage of the V_TPR field this comment is now obsolete.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "aaacfc9ae225e88695e610a35627d2256dc08633",
      "tree": "b8cbde694378ab340b4cc3ee2442ae87b9bb6096",
      "parents": [
        "d7bf8221a3037d0d0760a1ccf1833bda03213abf"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Apr 16 16:51:18 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 18:21:43 2008 +0300"
      },
      "message": "KVM: SVM: disable CR8 intercept when tpr is not masking interrupts\n\nThis patch disables the intercept of CR8 writes if the TPR is not masking\ninterrupts. This reduces the total number CR8 intercepts to below 1 percent of\nwhat we have without this patch using Windows 64 bit guests.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "d7bf8221a3037d0d0760a1ccf1833bda03213abf",
      "tree": "04735d97c44d77f39e874e55b814e88ad9fb612c",
      "parents": [
        "ec7cf6903ffced20098e2bcc27a184172836dfb9"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Apr 16 16:51:17 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 18:21:42 2008 +0300"
      },
      "message": "KVM: SVM: sync V_TPR with LAPIC.TPR if CR8 write intercept is disabled\n\nIf the CR8 write intercept is disabled the V_TPR field of the VMCB needs to be\nsynced with the TPR field in the local apic.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "ec7cf6903ffced20098e2bcc27a184172836dfb9",
      "tree": "b1252baf58aa0a4ff32078b519830e449476bcb5",
      "parents": [
        "649d68643ebf02f31859ffbb16676aa44c72e6e9"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Apr 16 16:51:16 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 18:21:41 2008 +0300"
      },
      "message": "KVM: export kvm_lapic_set_tpr() to modules\n\nThis patch exports the kvm_lapic_set_tpr() function from the lapic code to\nmodules. It is required in the kvm-amd module to optimize CR8 intercepts.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "649d68643ebf02f31859ffbb16676aa44c72e6e9",
      "tree": "df28701a2ea2854765d41ba54ae8b3cb56ad0b47",
      "parents": [
        "bbf45ba57eaec56569918a8bab96ab653bd45ec1"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Apr 16 16:51:15 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 18:21:40 2008 +0300"
      },
      "message": "KVM: SVM: sync TPR value to V_TPR field in the VMCB\n\nThis patch adds syncing of the lapic.tpr field to the V_TPR field of the VMCB.\nWith this change we can safely remove the CR8 read intercept.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "bbf45ba57eaec56569918a8bab96ab653bd45ec1",
      "tree": "63c53b1c1d93ec6559c7695c16b2345238e270f5",
      "parents": [
        "513014b717203d1d689652d0fda86eee959a6a8a"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Wed Apr 16 23:28:09 2008 -0500"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 18:21:39 2008 +0300"
      },
      "message": "KVM: ppc: PowerPC 440 KVM implementation\n\nThis functionality is definitely experimental, but is capable of running\nunmodified PowerPC 440 Linux kernels as guests on a PowerPC 440 host. (Only\ntested with 440EP \"Bamboo\" guests so far, but with appropriate userspace\nsupport other SoC/board combinations should work.)\n\nSee Documentation/powerpc/kvm_440.txt for technical details.\n\n[stephen: build fix]\n\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nAcked-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "513014b717203d1d689652d0fda86eee959a6a8a",
      "tree": "9c56cb284e0c919ab091079c452af3c182b9f134",
      "parents": [
        "b2312f059c893833de58876c74290511846cd208"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Wed Apr 16 23:28:08 2008 -0500"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 18:21:38 2008 +0300"
      },
      "message": "KVM: Add MAINTAINERS entry for PowerPC KVM\n\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nAcked-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "b2312f059c893833de58876c74290511846cd208",
      "tree": "6164572aeaf0761412af0ce860b031e126cebcba",
      "parents": [
        "4baacfb0de53b05428c87d377fc8a3def4dc10e7"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Wed Apr 16 23:28:07 2008 -0500"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 18:21:37 2008 +0300"
      },
      "message": "KVM: ppc: Add DCR access information to struct kvm_run\n\nDevice Control Registers are essentially another address space found on PowerPC\n4xx processors, analogous to PIO on x86. DCRs are always 32 bits, and can be\nidentified by a 32-bit number. We forward most DCR accesses to userspace for\nemulation (with the exception of CPR0 registers, which can be read directly\nfor simplicity in timebase frequency determination).\n\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "4baacfb0de53b05428c87d377fc8a3def4dc10e7",
      "tree": "4ec85ddc0aab80f094a6e360b8b100d36b36ddea",
      "parents": [
        "76f7c87902fd2c2de9eb57168adbf9bc5ec2047d"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Wed Apr 16 23:28:06 2008 -0500"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 18:21:37 2008 +0300"
      },
      "message": "ppc: Export tlb_44x_hwater for KVM\n\nPowerPC 440 KVM needs to know how many TLB entries are used for the host kernel\nlinear mapping (it does not modify these mappings when switching between guest\nand host execution).\n\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nAcked-by: Josh Boyer \u003cjwboyer@linux.vnet.ibm.com\u003e\nAcked-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    }
  ],
  "next": "76f7c87902fd2c2de9eb57168adbf9bc5ec2047d"
}
