)]}'
{
  "log": [
    {
      "commit": "643b113849d8faa68c9f01c3c9d929bfbffd50bd",
      "tree": "d8eea2326ccee49892acaa970bf015ee69a31e8a",
      "parents": [
        "77c5e2d01af871f4bfbe08feefa3d5118cb1001b"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun May 06 14:49:42 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:54 2007 -0700"
      },
      "message": "slub: enable tracking of full slabs\n\nIf slab tracking is on then build a list of full slabs so that we can verify\nthe integrity of all slabs and are also able to built list of alloc/free\ncallers.\n\nSigned-off-by: 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": "b49af68ff9fc5d6e0d96704a1843968b91cc73c6",
      "tree": "eb5e6d9425a9069cdfc45b09a1d0f61f1419d2c2",
      "parents": [
        "6d7779538f765963ced45a3fa4bed7ba8d2c277d"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun May 06 14:49:41 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:54 2007 -0700"
      },
      "message": "Add virt_to_head_page and consolidate code in slab and slub\n\nSigned-off-by: 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": "6d7779538f765963ced45a3fa4bed7ba8d2c277d",
      "tree": "07d47e6ff1ab30309004e2ba0674dcabd83945c1",
      "parents": [
        "d85f33855c303acfa87fa457157cef755b6087df"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun May 06 14:49:40 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:53 2007 -0700"
      },
      "message": "mm: optimize compound_head() by avoiding a shared page flag\n\nThe patch adds PageTail(page) and PageHead(page) to check if a page is the\nhead or the tail of a compound page.  This is done by masking the two bits\ndescribing the state of a compound page and then comparing them.  So one\ncomparision and a branch instead of two bit checks and two branches.\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d85f33855c303acfa87fa457157cef755b6087df",
      "tree": "f1184a1a24b432727b0399594ede37c7539db888",
      "parents": [
        "30520864839dc796fd314812e7036e754880b47d"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun May 06 14:49:39 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:53 2007 -0700"
      },
      "message": "Make page-\u003eprivate usable in compound pages\n\nIf we add a new flag so that we can distinguish between the first page and the\ntail pages then we can avoid to use page-\u003eprivate in the first page.\npage-\u003eprivate \u003d\u003d page for the first page, so there is no real information in\nthere.\n\nFreeing up page-\u003eprivate makes the use of compound pages more transparent.\nThey become more usable like real pages.  Right now we have to be careful f.e.\n if we are going beyond PAGE_SIZE allocations in the slab on i386 because we\ncan then no longer use the private field.  This is one of the issues that\ncause us not to support debugging for page size slabs in SLAB.\n\nHaving page-\u003eprivate available for SLUB would allow more meta information in\nthe page struct.  I can probably avoid the 16 bit ints that I have in there\nright now.\n\nAlso if page-\u003eprivate is available then a compound page may be equipped with\nbuffer heads.  This may free up the way for filesystems to support larger\nblocks than page size.\n\nWe add PageTail as an alias of PageReclaim.  Compound pages cannot currently\nbe reclaimed.  Because of the alias one needs to check PageCompound first.\n\nThe RFC for the this approach was discussed at\nhttp://marc.info/?t\u003d117574302800001\u0026r\u003d1\u0026w\u003d2\n\n[nacc@us.ibm.com: fix hugetlbfs]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "614410d5892af5f86d0ec14e28f9f6d5f4ac9e9b",
      "tree": "616c8437f45590a0ca6e2efdc2a5dfb61799d0ec",
      "parents": [
        "47bfdc0d5a18a4b760ffb6a332932aaa5c0859e0"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun May 06 14:49:38 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:53 2007 -0700"
      },
      "message": "SLUB: allocate smallest object size if the user asks for 0 bytes\n\nMakes SLUB behave like SLAB in this area to avoid issues....\n\nThrow a stack dump to alert people.\n\nAt some point the behavior should be switched back.  NULL is no memory as\nfar as I can tell and if the use asked for 0 bytes then he need to get no\nmemory.\n\nSigned-off-by: 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": "81819f0fc8285a2a5a921c019e3e3d7b6169d225",
      "tree": "47e3da44d3ef6c74ceae6c3771b191b46467bb48",
      "parents": [
        "543691a6cd70b606dd9bed5e77b120c5d9c5c506"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun May 06 14:49:36 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:53 2007 -0700"
      },
      "message": "SLUB core\n\nThis is a new slab allocator which was motivated by the complexity of the\nexisting code in mm/slab.c. It attempts to address a variety of concerns\nwith the existing implementation.\n\nA. Management of object queues\n\n   A particular concern was the complex management of the numerous object\n   queues in SLAB. SLUB has no such queues. Instead we dedicate a slab for\n   each allocating CPU and use objects from a slab directly instead of\n   queueing them up.\n\nB. Storage overhead of object queues\n\n   SLAB Object queues exist per node, per CPU. The alien cache queue even\n   has a queue array that contain a queue for each processor on each\n   node. For very large systems the number of queues and the number of\n   objects that may be caught in those queues grows exponentially. On our\n   systems with 1k nodes / processors we have several gigabytes just tied up\n   for storing references to objects for those queues  This does not include\n   the objects that could be on those queues. One fears that the whole\n   memory of the machine could one day be consumed by those queues.\n\nC. SLAB meta data overhead\n\n   SLAB has overhead at the beginning of each slab. This means that data\n   cannot be naturally aligned at the beginning of a slab block. SLUB keeps\n   all meta data in the corresponding page_struct. Objects can be naturally\n   aligned in the slab. F.e. a 128 byte object will be aligned at 128 byte\n   boundaries and can fit tightly into a 4k page with no bytes left over.\n   SLAB cannot do this.\n\nD. SLAB has a complex cache reaper\n\n   SLUB does not need a cache reaper for UP systems. On SMP systems\n   the per CPU slab may be pushed back into partial list but that\n   operation is simple and does not require an iteration over a list\n   of objects. SLAB expires per CPU, shared and alien object queues\n   during cache reaping which may cause strange hold offs.\n\nE. SLAB has complex NUMA policy layer support\n\n   SLUB pushes NUMA policy handling into the page allocator. This means that\n   allocation is coarser (SLUB does interleave on a page level) but that\n   situation was also present before 2.6.13. SLABs application of\n   policies to individual slab objects allocated in SLAB is\n   certainly a performance concern due to the frequent references to\n   memory policies which may lead a sequence of objects to come from\n   one node after another. SLUB will get a slab full of objects\n   from one node and then will switch to the next.\n\nF. Reduction of the size of partial slab lists\n\n   SLAB has per node partial lists. This means that over time a large\n   number of partial slabs may accumulate on those lists. These can\n   only be reused if allocator occur on specific nodes. SLUB has a global\n   pool of partial slabs and will consume slabs from that pool to\n   decrease fragmentation.\n\nG. Tunables\n\n   SLAB has sophisticated tuning abilities for each slab cache. One can\n   manipulate the queue sizes in detail. However, filling the queues still\n   requires the uses of the spin lock to check out slabs. SLUB has a global\n   parameter (min_slab_order) for tuning. Increasing the minimum slab\n   order can decrease the locking overhead. The bigger the slab order the\n   less motions of pages between per CPU and partial lists occur and the\n   better SLUB will be scaling.\n\nG. Slab merging\n\n   We often have slab caches with similar parameters. SLUB detects those\n   on boot up and merges them into the corresponding general caches. This\n   leads to more effective memory use. About 50% of all caches can\n   be eliminated through slab merging. This will also decrease\n   slab fragmentation because partial allocated slabs can be filled\n   up again. Slab merging can be switched off by specifying\n   slub_nomerge on boot up.\n\n   Note that merging can expose heretofore unknown bugs in the kernel\n   because corrupted objects may now be placed differently and corrupt\n   differing neighboring objects. Enable sanity checks to find those.\n\nH. Diagnostics\n\n   The current slab diagnostics are difficult to use and require a\n   recompilation of the kernel. SLUB contains debugging code that\n   is always available (but is kept out of the hot code paths).\n   SLUB diagnostics can be enabled via the \"slab_debug\" option.\n   Parameters can be specified to select a single or a group of\n   slab caches for diagnostics. This means that the system is running\n   with the usual performance and it is much more likely that\n   race conditions can be reproduced.\n\nI. Resiliency\n\n   If basic sanity checks are on then SLUB is capable of detecting\n   common error conditions and recover as best as possible to allow the\n   system to continue.\n\nJ. Tracing\n\n   Tracing can be enabled via the slab_debug\u003dT,\u003cslabcache\u003e option\n   during boot. SLUB will then protocol all actions on that slabcache\n   and dump the object contents on free.\n\nK. On demand DMA cache creation.\n\n   Generally DMA caches are not needed. If a kmalloc is used with\n   __GFP_DMA then just create this single slabcache that is needed.\n   For systems that have no ZONE_DMA requirement the support is\n   completely eliminated.\n\nL. Performance increase\n\n   Some benchmarks have shown speed improvements on kernbench in the\n   range of 5-10%. The locking overhead of slub is based on the\n   underlying base allocation size. If we can reliably allocate\n   larger order pages then it is possible to increase slub\n   performance much further. The anti-fragmentation patches may\n   enable further performance increases.\n\nTested on:\ni386 UP + SMP, x86_64 UP + SMP + NUMA emulation, IA64 NUMA + Simulator\n\nSLUB Boot options\n\nslub_nomerge\t\tDisable merging of slabs\nslub_min_order\u003dx\tRequire a minimum order for slab caches. This\n\t\t\tincreases the managed chunk size and therefore\n\t\t\treduces meta data and locking overhead.\nslub_min_objects\u003dx\tMininum objects per slab. Default is 8.\nslub_max_order\u003dx\tAvoid generating slabs larger than order specified.\nslub_debug\t\tEnable all diagnostics for all caches\nslub_debug\u003d\u003coptions\u003e\tEnable selective options for all caches\nslub_debug\u003d\u003co\u003e,\u003ccache\u003e\tEnable selective options for a certain set of\n\t\t\tcaches\n\nAvailable Debug options\nF\t\tDouble Free checking, sanity and resiliency\nR\t\tRed zoning\nP\t\tObject / padding poisoning\nU\t\tTrack last free / alloc\nT\t\tTrace all allocs / frees (only use for individual slabs).\n\nTo use SLUB: Apply this patch and then select SLUB as the default slab\nallocator.\n\n[hugh@veritas.com: fix an oops-causing locking error]\n[akpm@linux-foundation.org: various stupid cleanups and small fixes]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.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": "6ce745ed39d35f9d547d00d406db2be7c6c175b3",
      "tree": "16f471389c9f619c37891fdb6e1843e1f2721c78",
      "parents": [
        "ec0f16372277052a29a6c17527c6cae5e898b3fd"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Sun May 06 14:49:26 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:52 2007 -0700"
      },
      "message": "readahead: code cleanup\n\nRename file_ra_state.prev_page to prev_index and file_ra_state.offset to\nprev_offset.  Also update of prev_index in do_generic_mapping_read() is now\nmoved close to the update of prev_offset.\n\n[wfg@mail.ustc.edu.cn: fix it]\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: WU Fengguang \u003cwfg@mail.ustc.edu.cn\u003e\nSigned-off-by: Fengguang Wu \u003cwfg@mail.ustc.edu.cn\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ec0f16372277052a29a6c17527c6cae5e898b3fd",
      "tree": "35636edac6ed01baf301f3aca96f090caae82c9d",
      "parents": [
        "b813e931b4c8235bb42e301096ea97dbdee3e8fe"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Sun May 06 14:49:25 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:52 2007 -0700"
      },
      "message": "readahead: improve heuristic detecting sequential reads\n\nIntroduce ra.offset and store in it an offset where the previous read\nended.  This way we can detect whether reads are really sequential (and\nthus we should not mark the page as accessed repeatedly) or whether they\nare random and just happen to be in the same page (and the page should\nreally be marked accessed again).\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nAcked-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: WU Fengguang \u003cwfg@mail.ustc.edu.cn\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b813e931b4c8235bb42e301096ea97dbdee3e8fe",
      "tree": "f8182687bffe8e3b95bac69b2cc7fdfe674ddc53",
      "parents": [
        "f79f177c25016647cc92ffac8afa7cb96ce47011"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Sun May 06 14:49:24 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:52 2007 -0700"
      },
      "message": "smaps: add clear_refs file to clear reference\n\nAdds /proc/pid/clear_refs.  When any non-zero number is written to this file,\npte_mkold() and ClearPageReferenced() is called for each pte and its\ncorresponding page, respectively, in that task\u0027s VMAs.  This file is only\nwritable by the user who owns the task.\n\nIt is now possible to measure _approximately_ how much memory a task is using\nby clearing the reference bits with\n\n\techo 1 \u003e /proc/pid/clear_refs\n\nand checking the reference count for each VMA from the /proc/pid/smaps output\nat a measured time interval.  For example, to observe the approximate change\nin memory footprint for a task, write a script that clears the references\n(echo 1 \u003e /proc/pid/clear_refs), sleeps, and then greps for Pgs_Referenced and\nextracts the size in kB.  Add the sizes for each VMA together for the total\nreferenced footprint.  Moments later, repeat the process and observe the\ndifference.\n\nFor example, using an efficient Mozilla:\n\n\taccumulated time\t\treferenced memory\n\t----------------\t\t-----------------\n\t\t 0 s\t\t\t\t 408 kB\n\t\t 1 s\t\t\t\t 408 kB\n\t\t 2 s\t\t\t\t 556 kB\n\t\t 3 s\t\t\t\t1028 kB\n\t\t 4 s\t\t\t\t 872 kB\n\t\t 5 s\t\t\t\t1956 kB\n\t\t 6 s\t\t\t\t 416 kB\n\t\t 7 s\t\t\t\t1560 kB\n\t\t 8 s\t\t\t\t2336 kB\n\t\t 9 s\t\t\t\t1044 kB\n\t\t10 s\t\t\t\t 416 kB\n\nThis is a valuable tool to get an approximate measurement of the memory\nfootprint for a task.\n\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\n[akpm@linux-foundation.org: build fixes]\n[mpm@selenic.com: rename for_each_pmd]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9490991482a2091a828d997adbc088e24c310a4d",
      "tree": "dcdd9febee63e82cd792250a8a4c4dd8e6aab4be",
      "parents": [
        "a8127717cb24be7b8827a8d9e0ddbfde6b392146"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "bbpetkov@yahoo.de",
        "time": "Sun May 06 14:49:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:52 2007 -0700"
      },
      "message": "Add unitialized_var() macro for suppressing gcc warnings\n\nIntroduce a macro for suppressing gcc from generating a warning about a\nprobable uninitialized state of a variable.\n\nExample:\n\n-\tspinlock_t *ptl;\n+\tspinlock_t *uninitialized_var(ptl);\n\nNot a happy solution, but those warnings are obnoxious.\n\n- Using the usual pointlessly-set-it-to-zero approach wastes several\n  bytes of text.\n\n- Using a macro means we can (hopefully) do something else if gcc changes\n  cause the `x \u003d x\u0027 hack to stop working\n\n- Using a macro means that people who are worried about hiding true bugs\n  can easily turn it off.\n\nSigned-off-by: Borislav Petkov \u003cbbpetkov@yahoo.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "14e072984179d3d421bf9ab75cc67e0961742841",
      "tree": "65a5a6f7d9756b8e7010278b58908d04da257a28",
      "parents": [
        "ac267728f13c55017ed5ee243c9c3166e27ab929"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@shadowen.org",
        "time": "Sun May 06 14:49:14 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:52 2007 -0700"
      },
      "message": "add pfn_valid_within helper for sub-MAX_ORDER hole detection\n\nGenerally we work under the assumption that memory the mem_map array is\ncontigious and valid out to MAX_ORDER_NR_PAGES block of pages, ie.  that if we\nhave validated any page within this MAX_ORDER_NR_PAGES block we need not check\nany other.  This is not true when CONFIG_HOLES_IN_ZONE is set and we must\ncheck each and every reference we make from a pfn.\n\nAdd a pfn_valid_within() helper which should be used when scanning pages\nwithin a MAX_ORDER_NR_PAGES block when we have already checked the validility\nof the block normally with pfn_valid().  This can then be optimised away when\nwe do not have holes within a MAX_ORDER_NR_PAGES block of pages.\n\nSigned-off-by: Andy Whitcroft \u003capw@shadowen.org\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Bob Picco \u003cbob.picco@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": "ac267728f13c55017ed5ee243c9c3166e27ab929",
      "tree": "d57e57c8bac716ccee49185b04c374ef1e163260",
      "parents": [
        "411f0f3edc141a582190d3605cadd1d993abb6df"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sun May 06 14:49:12 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:52 2007 -0700"
      },
      "message": "mm/slab.c: proper prototypes\n\nAdd proper prototypes in include/linux/slab.h.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6fe6900e1e5b6fa9e5c59aa5061f244fe3f467e2",
      "tree": "8bbfe5072279227cc50a941ad4813908082426a1",
      "parents": [
        "714b8171af9c930a59a0da8f6fe50518e70ab035"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Sun May 06 14:49:04 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:51 2007 -0700"
      },
      "message": "mm: make read_cache_page synchronous\n\nEnsure pages are uptodate after returning from read_cache_page, which allows\nus to cut out most of the filesystem-internal PageUptodate calls.\n\nI didn\u0027t have a great look down the call chains, but this appears to fixes 7\npossible use-before uptodate in hfs, 2 in hfsplus, 1 in jfs, a few in\necryptfs, 1 in jffs2, and a possible cleared data overwritten with readpage in\nblock2mtd.  All depending on whether the filler is async and/or can return\nwith a !uptodate page.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\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": "5f22df00a009e3f86301366c0ecddb63ebd22af9",
      "tree": "72f0ea3e114dbb6825fc7e73f828645d364ea520",
      "parents": [
        "d2ba27e8007b35d24764c0877ab2428e00a5c5ab"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Sun May 06 14:49:02 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:51 2007 -0700"
      },
      "message": "mm: remove gcc workaround\n\nMinimum gcc version is 3.2 now.  However, with likely profiling, even\nmodern gcc versions cannot always eliminate the call.\n\nReplace the placeholder functions with the more conventional empty static\ninlines, which should be optimal for everyone.\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": "d2ba27e8007b35d24764c0877ab2428e00a5c5ab",
      "tree": "d4c645000da4c208dba37fdda9897f1b7295cce4",
      "parents": [
        "1b4244647ceaad42ea6eb12899d58753d82b7727"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sun May 06 14:49:00 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:51 2007 -0700"
      },
      "message": "proper prototype for hugetlb_get_unmapped_area()\n\nAdd a proper prototype for hugetlb_get_unmapped_area() in\ninclude/linux/hugetlb.h.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nAcked-by: William Irwin \u003cwli@holomorphy.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "aee16b3cee2746880e40945a9b5bff4f309cfbc4",
      "tree": "887faaebf5562dc1fac5e090140da04dc7e2a174",
      "parents": [
        "eb3a1e1145ca8f12372c7c96aa0702d86a9002a9"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Sun May 06 14:48:54 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:51 2007 -0700"
      },
      "message": "Add apply_to_page_range() which applies a function to a pte range\n\nAdd a new mm function apply_to_page_range() which applies a given function to\nevery pte in a given virtual address range in a given mm structure.  This is a\ngeneric alternative to cut-and-pasting the Linux idiomatic pagetable walking\ncode in every place that a sequence of PTEs must be accessed.\n\nAlthough this interface is intended to be useful in a wide range of\nsituations, it is currently used specifically by several Xen subsystems, for\nexample: to ensure that pagetables have been allocated for a virtual address\nrange, and to construct batched special pagetable update requests to map I/O\nmemory (in ioremap()).\n\n[akpm@linux-foundation.org: fix warning, unpleasantly]\nSigned-off-by: Ian Pratt \u003cian.pratt@xensource.com\u003e\nSigned-off-by: Christian Limpach \u003cChristian.Limpach@cl.cam.ac.uk\u003e\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Matt Mackall \u003cmpm@waste.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "abb4a2390737867353ebafc012d45f2b03f3f944",
      "tree": "e62e2ae859f235667eb2002ef9dd651e7c7a8ea0",
      "parents": [
        "bd71c182d5a02337305fc381831c11029dd17d64"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Sun May 06 14:48:49 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:50 2007 -0700"
      },
      "message": "serial: define FIXED_PORT flag for serial_core\n\nAt present, the serial core always allows setserial in userspace to change the\nport address, irq and base clock of any serial port.  That makes sense for\nlegacy ISA ports, but not for (say) embedded ns16550 compatible serial ports\nat peculiar addresses.  In these cases, the kernel code configuring the ports\nmust know exactly where they are, and their clocking arrangements (which can\nbe unusual on embedded boards).  It doesn\u0027t make sense for userspace to change\nthese settings.\n\nTherefore, this patch defines a UPF_FIXED_PORT flag for the uart_port\nstructure.  If this flag is set when the serial port is configured, any\nattempts to alter the port\u0027s type, io address, irq or base clock with\nsetserial are ignored.\n\nIn addition this patch uses the new flag for on-chip serial ports probed in\narch/powerpc/kernel/legacy_serial.c, and for other hard-wired serial ports\nprobed by drivers/serial/of_serial.c.\n\nSigned-off-by: David Gibson \u003cdwg@au1.ibm.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bd71c182d5a02337305fc381831c11029dd17d64",
      "tree": "0b21234a7d1c38bfcafc12b6dcbfb3455d73b587",
      "parents": [
        "beab697ab4b2962e3d741b476abe443baad0933d"
      ],
      "author": {
        "name": "Thomas Koeller",
        "email": "thomas.koeller@baslerweb.com",
        "time": "Sun May 06 14:48:47 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:50 2007 -0700"
      },
      "message": "RM9000 serial driver\n\nAdd support for the integrated serial ports of the MIPS RM9122 processor\nand its relatives.\n\nThe patch also does some whitespace cleanup.\n\n[akpm@linux-foundation.org: cleanups]\nSigned-off-by: Thomas Koeller \u003cthomas.koeller@baslerweb.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "beab697ab4b2962e3d741b476abe443baad0933d",
      "tree": "f581ce38378f6cacbf0042b4eb9c084a6fc932d9",
      "parents": [
        "6179b5562d5d17c7c09b54cb11dd925ca308d7a9"
      ],
      "author": {
        "name": "Marc St-Jean",
        "email": "stjeanma@pmc-sierra.com",
        "time": "Sun May 06 14:48:45 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:50 2007 -0700"
      },
      "message": "serial driver PMC MSP71xx\n\nSerial driver patch for the PMC-Sierra MSP71xx devices.\n\nThere are three different fixes:\n\n1 Fix for DesignWare APB THRE errata: In brief, this is a non-standard\n  16550 in that the THRE interrupt will not re-assert itself simply by\n  disabling and re-enabling the THRI bit in the IER, it is only re-enabled\n  if a character is actually sent out.\n\n  It appears that the \"8250-uart-backup-timer.patch\" in the \"mm\" tree\n  also fixes it so we have dropped our initial workaround.  This patch now\n  needs to be applied on top of that \"mm\" patch.\n\n2 Fix for Busy Detect on LCR write: The DesignWare APB UART has a feature\n  which causes a new Busy Detect interrupt to be generated if it\u0027s busy\n  when the LCR is written.  This fix saves the value of the LCR and\n  rewrites it after clearing the interrupt.\n\n3 Workaround for interrupt/data concurrency issue: The SoC needs to\n  ensure that writes that can cause interrupts to be cleared reach the UART\n  before returning from the ISR.  This fix reads a non-destructive register\n  on the UART so the read transaction completion ensures the previously\n  queued write transaction has also completed.\n\nSigned-off-by: Marc St-Jean \u003cMarc_St-Jean@pmc-sierra.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fd76bab2fa6d8f3ef6b326a4c6ae442fa21d30a4",
      "tree": "66f310ab9d7cdadfb79486700f1e01df7923ec14",
      "parents": [
        "e3ebadd95cb621e2c7436f3d3646447ac9d5c16d"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sun May 06 14:48:40 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:50 2007 -0700"
      },
      "message": "slab: introduce krealloc\n\nThis introduce krealloc() that reallocates memory while keeping the contents\nunchanged.  The allocator avoids reallocation if the new size fits the\ncurrently used cache.  I also added a simple non-optimized version for\nmm/slob.c for compatibility.\n\n[akpm@linux-foundation.org: fix warnings]\nAcked-by: Josef Sipek \u003cjsipek@fsl.cs.sunysb.edu\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nAcked-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": "15700770ef7c5d12e2f1659d2ddbeb3f658d9f37",
      "tree": "7fa2f81c33c9efcb1a1568385beead75c5892cfb",
      "parents": [
        "6de410c2b0cc055ae9ee640c84331f6a70878d9b",
        "11de39e2fbbc592018e0a231d0ee773653dcc8d6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun May 06 13:21:57 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun May 06 13:21:57 2007 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild: (38 commits)\n  kconfig: fix mconf segmentation fault\n  kbuild: enable use of code from a different dir\n  kconfig: error out if recursive dependencies are found\n  kbuild: scripts/basic/fixdep segfault on pathological string-o-death\n  kconfig: correct minor typo in Kconfig warning message.\n  kconfig: fix path to modules.txt in Kconfig help\n  usr/Kconfig: fix typo\n  kernel-doc: alphabetically-sorted entries in index.html of \u0027htmldocs\u0027\n  kbuild: be more explicit on missing .config file\n  kbuild: clarify the creation of the LOCALVERSION_AUTO string.\n  kbuild: propagate errors from find in scripts/gen_initramfs_list.sh\n  kconfig: refer to qt3 if we cannot find qt libraries\n  kbuild: handle compressed cpio initramfs-es\n  kbuild: ignore section mismatch warning for references from .paravirtprobe to .init.text\n  kbuild: remove stale comment in modpost.c\n  kbuild/mkuboot.sh: allow spaces in CROSS_COMPILE\n  kbuild: fix make mrproper for Documentation/DocBook/man\n  kbuild: remove kconfig binaries during make mrproper\n  kconfig/menuconfig: do not hardcode \u0027.config\u0027\n  kbuild: override build timestamp \u0026 version\n  ...\n"
    },
    {
      "commit": "6de410c2b0cc055ae9ee640c84331f6a70878d9b",
      "tree": "49dfc7df2f1977c2d665c99266ded92afc98734b",
      "parents": [
        "c6799ade4ae04b53a5f677e5289116155ff01574",
        "2ff81f70b56dc1cdd3bf2f08414608069db6ef1a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun May 06 13:21:18 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun May 06 13:21:18 2007 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm: (66 commits)\n  KVM: Remove unused \u0027instruction_length\u0027\n  KVM: Don\u0027t require explicit indication of completion of mmio or pio\n  KVM: Remove extraneous guest entry on mmio read\n  KVM: SVM: Only save/restore MSRs when needed\n  KVM: fix an if() condition\n  KVM: VMX: Add lazy FPU support for VT\n  KVM: VMX: Properly shadow the CR0 register in the vcpu struct\n  KVM: Don\u0027t complain about cpu erratum AA15\n  KVM: Lazy FPU support for SVM\n  KVM: Allow passing 64-bit values to the emulated read/write API\n  KVM: Per-vcpu statistics\n  KVM: VMX: Avoid unnecessary vcpu_load()/vcpu_put() cycles\n  KVM: MMU: Avoid heavy ASSERT at non debug mode.\n  KVM: VMX: Only save/restore MSR_K6_STAR if necessary\n  KVM: Fold drivers/kvm/kvm_vmx.h into drivers/kvm/vmx.c\n  KVM: VMX: Don\u0027t switch 64-bit msrs for 32-bit guests\n  KVM: VMX: Reduce unnecessary saving of host msrs\n  KVM: Handle guest page faults when emulating mmio\n  KVM: SVM: Report hardware exit reason to userspace instead of dmesg\n  KVM: Retry sleeping allocation if atomic allocation fails\n  ...\n"
    },
    {
      "commit": "ea62ccd00fd0b6720b033adfc9984f31130ce195",
      "tree": "9837b797b2466fffcb0af96c388b06eae9c3df18",
      "parents": [
        "886a0768affe9a32f18c45f8e1393bca9ece5392",
        "35060b6a9a4e1c89bc6fbea61090e302dbc61847"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat May 05 14:55:20 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat May 05 14:55:20 2007 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://one.firstfloor.org/home/andi/git/linux-2.6\n\n* \u0027for-linus\u0027 of git://one.firstfloor.org/home/andi/git/linux-2.6: (231 commits)\n  [PATCH] i386: Don\u0027t delete cpu_devs data to identify different x86 types in late_initcall\n  [PATCH] i386: type may be unused\n  [PATCH] i386: Some additional chipset register values validation.\n  [PATCH] i386: Add missing !X86_PAE dependincy to the 2G/2G split.\n  [PATCH] x86-64: Don\u0027t exclude asm-offsets.c in Documentation/dontdiff\n  [PATCH] i386: avoid redundant preempt_disable in __unlazy_fpu\n  [PATCH] i386: white space fixes in i387.h\n  [PATCH] i386: Drop noisy e820 debugging printks\n  [PATCH] x86-64: Fix allnoconfig error in genapic_flat.c\n  [PATCH] x86-64: Shut up warnings for vfat compat ioctls on other file systems\n  [PATCH] x86-64: Share identical video.S between i386 and x86-64\n  [PATCH] x86-64: Remove CONFIG_REORDER\n  [PATCH] x86-64: Print type and size correctly for unknown compat ioctls\n  [PATCH] i386: Remove copy_*_user BUG_ONs for (size \u003c 0)\n  [PATCH] i386: Little cleanups in smpboot.c\n  [PATCH] x86-64: Don\u0027t enable NUMA for a single node in K8 NUMA scanning\n  [PATCH] x86: Use RDTSCP for synchronous get_cycles if possible\n  [PATCH] i386: Add X86_FEATURE_RDTSCP\n  [PATCH] i386: Implement X86_FEATURE_SYNC_RDTSC on i386\n  [PATCH] i386: Implement alternative_io for i386\n  ...\n\nFix up trivial conflict in include/linux/highmem.h manually.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "989485c190cc6a64e5a21d98ef2d752df1db8c27",
      "tree": "da2f2cb977df552d20784f71bfbfa342908ab9da",
      "parents": [
        "68762f3d8e7ea644fae1f490f9850ebf462548bd"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Sat May 05 22:05:11 2007 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat May 05 14:15:32 2007 -0700"
      },
      "message": "Fix nfsroot build\n\n  CC      fs/nfs/nfsroot.o\nfs/nfs/nfsroot.c:131: error: tokens causes a section type conflict\nmake[2]: *** [fs/nfs/nfsroot.o] Error 1\n\nThis is due to mixing const and non-const content in the same section\nwhich halfway recent gccs absolutely hate.  Fixed by dropping the const.\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "68762f3d8e7ea644fae1f490f9850ebf462548bd",
      "tree": "81be52e9ba33fc4d8aa5f569aaab77b5a34e09ab",
      "parents": [
        "4f7a307dc6e4d8bfeb56f7cf7231b08cb845687c",
        "7544b0972c1fc1a0e6c54baa1f44c81019743daa"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat May 05 14:13:36 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat May 05 14:13:36 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:\n  [TG3]: Add TG3_FLAG_SUPPORT_MSI flag.\n  [TG3]: Eliminate the TG3_FLAG_5701_REG_WRITE_BUG flag.\n  [TG3]: Eliminate the TG3_FLAG_GOT_SERDES_FLOWCTL flag.\n  [TG3]: Remove reset during MAC address changes.\n  [TG3]: WoL fixes.\n  [TG3]: Clear GPIO mask before storing.\n  [TG3]: Improve NVRAM sizing.\n  [TG3]: Fix TSO bugs.\n  [MAC80211]: Add maintainers entry for mac80211.\n  [MAC80211]: Add debugfs attributes.\n  [MAC80211]: Add mac80211 wireless stack.\n  [MAC80211]: Add generic include/linux/ieee80211.h\n  [NETLINK]: Remove references to process ID\n  [AF_IUCV]: Compile fix - adopt to skbuff changes.\n"
    },
    {
      "commit": "e93df705af1992dbf5956a8c80fcb9987bc595c0",
      "tree": "62ceef1f46ecde9782d7ee3f26f0a0e108418b69",
      "parents": [
        "62ea6d80211ecc88ef516927ecebf64cb505be3f"
      ],
      "author": {
        "name": "Sergei Shtylyov",
        "email": "sshtylyov@ru.mvista.com",
        "time": "Sat May 05 22:03:49 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat May 05 22:03:49 2007 +0200"
      },
      "message": "sl82c105: rework PIO support (take 2)\n\nGet rid of the \u0027pio_speed\u0027 member of \u0027ide_drive_t\u0027 that was only used by this\ndriver by storing the PIO mode timings in the \u0027drive_data\u0027 instead -- this\nallows us to greatly  simplify the process of \"reloading\" of the chip\u0027s timing\nregister and do it right in sl82c150_dma_off_quietly() and to get rid of two\nextra arguments to config_for_pio() -- which got renamed to sl82c105_tune_pio()\nand now returns a PIO mode selected, with ide_config_drive_speed() call moved\ninto the tuneproc() method, now called sl82c105_tune_drive() with the code to\nset drive\u0027s \u0027io_32bit\u0027 and \u0027unmask\u0027 flags in its turn moved to its proper place\nin the init_hwif() method.\nAlso, while at it, rename get_timing_sl82c105() into get_pio_timings() and get\nrid of the code in it clamping cycle counts to 32 which was both incorrect and\nnever executed anyway...\n\nSigned-off-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "a9de8ce0943e03b425be18561f51159fcceb873d",
      "tree": "3b4b2ad1d8dc049fff6aebe2815680f12af44c5b",
      "parents": [
        "cf130cb102487723bdfc53e4abde1227a7563797"
      ],
      "author": {
        "name": "Jiri Benc",
        "email": "jbenc@suse.cz",
        "time": "Sat May 05 11:43:04 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 05 11:43:04 2007 -0700"
      },
      "message": "[MAC80211]: Add generic include/linux/ieee80211.h\n\nAdd generic IEEE 802.11 definitions.\n\nSigned-off-by: Jiri Benc \u003cjbenc@suse.cz\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cf130cb102487723bdfc53e4abde1227a7563797",
      "tree": "8a62c0bf9d31c6b33184cd71a278aa2a5b2598d8",
      "parents": [
        "af7cd373b01ccb8191dc16c77fff4cf2b11def50"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sat May 05 11:42:03 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 05 11:42:03 2007 -0700"
      },
      "message": "[NETLINK]: Remove references to process ID\n\nPeople treating the *_pid fields in netlink as a process ID has caused\nendless confusion over the years.  The fact that our own netlink.h\ndoes this only adds to the confusion.\n\nSo here is a patch to change the comments to refer to it as the port\nID which hopefully will make it clear what the purpose of the fields\nreally is.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "62ea6d80211ecc88ef516927ecebf64cb505be3f",
      "tree": "1920de8cd3671aedcc912afb8e5ddb2a7c674b05",
      "parents": [
        "fa24aa561a3cf91cf25b5d4066470b08a2d24206",
        "d3af5abe9a809becbe4b413144b607844560d445"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 04 21:44:34 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 04 21:44:34 2007 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc: (46 commits)\n  mmc-omap: Clean up omap set_ios and make MMC_POWER_ON work\n  mmc-omap: Fix omap to use MMC_POWER_ON\n  mmc-omap: add missing \u0027\\n\u0027\n  mmc: make tifm_sd_set_dma_data() static\n  mmc: remove old card states\n  mmc: support unsafe resume of cards\n  mmc: separate out reading EXT_CSD\n  mmc: break apart switch function\n  MMC: Fix handling of low-voltage cards\n  MMC: Consolidate voltage definitions\n  mmc: add bus handler\n  wbsd: check for data opcode earlier\n  mmc: Separate out protocol ops\n  mmc: Move core functions to subdir\n  mmc: deprecate mmc bus topology\n  mmc: remove card upon suspend\n  mmc: allow suspended block driver to be removed\n  mmc: Flush pending detects on host removal\n  mmc: Move host and card drivers to subdirs\n  mmc: Move queue functions to mmc_block\n  ...\n"
    },
    {
      "commit": "4d4700707c0d4be0efc968989fb1cd01c60c0a35",
      "tree": "478453a4ae9453bd8d26ffc3df6eedcc30799a43",
      "parents": [
        "7e20ef030dde0e52dd5a57220ee82fa9facbea4e",
        "84dde76c4a2d99ed2d7de6ec82c53b56620900a3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 04 19:55:11 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 04 19:55:11 2007 -0700"
      },
      "message": "Merge git://git.linux-nfs.org/pub/linux/nfs-2.6\n\n* git://git.linux-nfs.org/pub/linux/nfs-2.6: (28 commits)\n  NFS: Fix a compile glitch on 64-bit systems\n  NFS: Clean up nfs_create_request comments\n  spkm3: initialize hash\n  spkm3: remove bad kfree, unnecessary export\n  spkm3: fix spkm3\u0027s use of hmac\n  NFS4: invalidate cached acl on setacl\n  NFS: Fix directory caching problem - with test case and patch.\n  NFS: Set meaningful value for fattr-\u003etime_start in readdirplus results.\n  NFS: Added support to turn off the NFSv3 READDIRPLUS RPC.\n  SUNRPC: RPC client should retry with different versions of rpcbind\n  SUNRPC: remove old portmapper\n  NFS: switch NFSROOT to use new rpcbind client\n  SUNRPC: switch the RPC server to use the new rpcbind registration API\n  SUNRPC: switch socket-based RPC transports to use rpcbind\n  SUNRPC: introduce rpcbind: replacement for in-kernel portmapper\n  SUNRPC: Eliminate side effects from rpc_malloc\n  SUNRPC: RPC buffer size estimates are too large\n  NLM: Shrink the maximum request size of NLM4 requests\n  NFS: Use pgoff_t in structures and functions that pass page cache offsets\n  NFS: Clean up nfs_sync_mapping_wait()\n  ...\n"
    },
    {
      "commit": "7e20ef030dde0e52dd5a57220ee82fa9facbea4e",
      "tree": "5006db4f85a2d7be2777748aaff2966e79dddc6f",
      "parents": [
        "a3d52136ee8f7399859f9a0824470fd49b1d1a00",
        "07d939677166cc4f000c767196872a9becc2697b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 04 19:36:58 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 04 19:36:58 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (49 commits)\n  [SCTP]: Set assoc_id correctly during INIT collision.\n  [SCTP]: Re-order SCTP initializations to avoid race with sctp_rcv()\n  [SCTP]: Fix the SO_REUSEADDR handling to be similar to TCP.\n  [SCTP]: Verify all destination ports in sctp_connectx.\n  [XFRM] SPD info TLV aggregation\n  [XFRM] SAD info TLV aggregationx\n  [AF_RXRPC]: Sort out MTU handling.\n  [AF_IUCV/IUCV] : Add missing section annotations\n  [AF_IUCV]: Implementation of a skb backlog queue\n  [NETLINK]: Remove bogus BUG_ON\n  [IPV6]: Some cleanups in include/net/ipv6.h\n  [TCP]: zero out rx_opt in tcp_disconnect()\n  [BNX2]: Fix TSO problem with small MSS.\n  [NET]: Rework dev_base via list_head (v3)\n  [TCP] Highspeed: Limited slow-start is nowadays in tcp_slow_start\n  [BNX2]: Update version and reldate.\n  [BNX2]: Print bus information for PCIE devices.\n  [BNX2]: Add 1-shot MSI handler for 5709.\n  [BNX2]: Restructure PHY event handling.\n  [BNX2]: Add indirect spinlock.\n  ...\n"
    },
    {
      "commit": "a3d52136ee8f7399859f9a0824470fd49b1d1a00",
      "tree": "ac0fd3d1efc356029cbbc5e413f778f7231cd909",
      "parents": [
        "5b339915762d30b21995aa7263e74081f2f1110a",
        "84767d00a8fd54dd97866561f6e2ee246c8e1cdc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 04 18:13:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 04 18:16:12 2007 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/dtor/input\n\n* \u0027for-linus\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/dtor/input: (65 commits)\n  Input: gpio_keys - add support for switches (EV_SW)\n  Input: cobalt_btns - convert to use polldev library\n  Input: add skeleton for simple polled devices\n  Input: update some documentation\n  Input: wistron - fix typo in keymap for Acer TM610\n  Input: add input_set_capability() helper\n  Input: i8042 - add Fujitsu touchscreen/touchpad PNP IDs\n  Input: i8042 - add Panasonic CF-29 to nomux list\n  Input: lifebook - split into 2 devices\n  Input: lifebook - add signature of Panasonic CF-29\n  Input: lifebook - activate 6-byte protocol on select models\n  Input: lifebook - work properly on Panasonic CF-18\n  Input: cobalt buttons - separate device and driver registration\n  Input: ati_remote - make button repeat sensitivity configurable\n  Input: pxa27x - do not use deprecated SA_INTERRUPT flag\n  Input: ucb1400 - make delays configurable\n  Input: misc devices - switch to using input_dev-\u003edev.parent\n  Input: joysticks - switch to using input_dev-\u003edev.parent\n  Input: touchscreens - switch to using input_dev-\u003edev.parent\n  Input: mice - switch to using input_dev-\u003edev.parent\n  ...\n\nFixed up conflicts with core device model removal of \"struct subsystem\" manually.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5b339915762d30b21995aa7263e74081f2f1110a",
      "tree": "4e076dbd27025054b21dddd78a1cb3fef3de34d7",
      "parents": [
        "89661adaaee2f85116b399e642129ccd4dafd195",
        "823bccfc4002296ba88c3ad0f049e1abd8108d30"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 04 18:04:48 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 04 18:04:48 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6:\n  remove \"struct subsystem\" as it is no longer needed\n  sysfs: printk format warning\n  DOC: Fix wrong identifier name in Documentation/driver-model/devres.txt\n  platform: reorder platform_device_del\n  Driver core: fix show_uevent from taking up way too much stack\n"
    },
    {
      "commit": "89661adaaee2f85116b399e642129ccd4dafd195",
      "tree": "86a0bea62ef1ebbd454d5daa4deef1534ab5a222",
      "parents": [
        "6adae5d9e69743aede91b274224751811f7174f1",
        "9890b12a4a65a7b3181dd963421740edf0e14d69"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 04 18:04:29 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 04 18:04:29 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6: (59 commits)\n  PCI: Free resource files in error path of pci_create_sysfs_dev_files()\n  pci-quirks: disable MSI on RS400-200 and RS480\n  PCI hotplug: Use menuconfig objects\n  PCI: ZT5550 CPCI Hotplug driver fix\n  PCI: rpaphp: Remove semaphores\n  PCI: rpaphp: Ensure more pcibios_add/pcibios_remove symmetry\n  PCI: rpaphp: Use pcibios_remove_pci_devices() symmetrically\n  PCI: rpaphp: Document is_php_dn()\n  PCI: rpaphp: Document find_php_slot()\n  PCI: rpaphp: Rename rpaphp_register_pci_slot() to rpaphp_enable_slot()\n  PCI: rpaphp: refactor tail call to rpaphp_register_slot()\n  PCI: rpaphp: remove rpaphp_set_attention_status()\n  PCI: rpaphp: remove print_slot_pci_funcs()\n  PCI: rpaphp: Remove setup_pci_slot()\n  PCI: rpaphp: remove a call that does nothing but a pointer lookup\n  PCI: rpaphp: Remove another wrappered function\n  PCI: rpaphp: Remve another call that is a wrapper\n  PCI: rpaphp: remove a function that does nothing but wrap debug printks\n  PCI: rpaphp: Remove un-needed goto\n  PCI: rpaphp: Fix a memleak; slot-\u003elocation string was never freed\n  ...\n"
    },
    {
      "commit": "6adae5d9e69743aede91b274224751811f7174f1",
      "tree": "5ad15959313fbf4b7a37a36e40b04ca718b1e423",
      "parents": [
        "253f04e78ded827c30f9582489773ebe2adc8924",
        "f6259deacfd55607ae57cff422d3bc7694ea14e7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 04 18:01:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 04 18:01:17 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/herbert/crypto-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/herbert/crypto-2.6:\n  [CRYPTO] padlock: Remove pointless padlock module\n  [CRYPTO] api: Add ablkcipher_request_set_tfm\n  [CRYPTO] cryptd: Add software async crypto daemon\n  [CRYPTO] api: Do not remove users unless new algorithm matches\n  [CRYPTO] cryptomgr: Fix parsing of nested templates \n  [CRYPTO] api: Add async blkcipher type\n  [CRYPTO] templates: Pass type/mask when creating instances\n  [CRYPTO] tcrypt: Use async blkcipher interface\n  [CRYPTO] api: Add async block cipher interface\n  [CRYPTO] api: Proc functions should be marked as unused\n"
    },
    {
      "commit": "254f9c5cd2d3b41e64f59df816630f7ca5548a8a",
      "tree": "f6e212c09a80e41ba228525869a269c75cbfc75a",
      "parents": [
        "f5456e040eaac7eb9545d49c38984af2047699be"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Tue May 01 22:33:07 2007 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 04 17:59:08 2007 -0700"
      },
      "message": "Convert non-highmem kmap_atomic() to static inline function\n\nConvert kmap_atomic() in the non-highmem case from a macro to a static\ninline function, for better type-checking and the ability to pass void\npointers instead of struct page pointers.\n\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f877958879d413c37bfbeb7517614f3625cdea38",
      "tree": "9a7956804b2a2299279c5896c9a70fed77254815",
      "parents": [
        "e10e5c4325b37e1a7dce9cd3d2cbcd8dd9536a7a"
      ],
      "author": {
        "name": "Finn Thain",
        "email": "fthain@telegraphics.com.au",
        "time": "Tue May 01 22:32:53 2007 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 04 17:59:07 2007 -0700"
      },
      "message": "NuBus header update\n\nSync the nubus defines with the latest code in the mac68k repo. Some of these\nare needed for DP8390 driver update in the next patch.\n\nSigned-off-by: Finn Thain \u003cfthain@telegraphics.com.au\u003e\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b3e2fd9cebcf4e82d0306fe7e796eeca5aac0614",
      "tree": "c25ace93e097c7fc71a8a34e25d3c23f93c53de1",
      "parents": [
        "39ad2cb352729a8b57803737905caae1e1d1942a"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Tue May 01 22:32:42 2007 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 04 17:59:06 2007 -0700"
      },
      "message": "lockdep: Add missing disable/enable irq variant\n\nAdd missing disable/enable irq variant\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c04cb856e20a8bf68762d60737b84328c1ab5900",
      "tree": "c8046787b2fa708b0a5a0972444bac9df67fadff",
      "parents": [
        "3130d905ba86d5f2636b2f45d5beefe82cb03df6"
      ],
      "author": {
        "name": "Michael Schmitz",
        "email": "schmitz@opal.biophys.uni-duesseldorf.de",
        "time": "Tue May 01 22:32:38 2007 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 04 17:59:05 2007 -0700"
      },
      "message": "m68k: Atari keyboard and mouse support.\n\nAtari keyboard and mouse support.\n(reformating and Kconfig fixes by Roman Zippel)\n\nSigned-off-by: Michael Schmitz \u003cschmitz@debian.org\u003e\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8d41f0e8d51742aba5bbcab9acb5238a8578c917",
      "tree": "c69e7ffaf2a8598283422d20643154a298d08293",
      "parents": [
        "8bc8493063f938c932819958a7b5a0d56046bc96",
        "5b68790cd5e2879067bcbc45b01eeb6081e7d731"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 04 17:46:27 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 04 17:46:27 2007 -0700"
      },
      "message": "Merge branch \u0027i2c-for-linus\u0027 of git://jdelvare.pck.nerim.net/jdelvare-2.6\n\n* \u0027i2c-for-linus\u0027 of git://jdelvare.pck.nerim.net/jdelvare-2.6: (44 commits)\n  i2c-s3c2410: Fix bug in releasing driver\n  i2c-s3c2410: Fix I2C SDA to SCL setup time\n  i2c: New i2c-tiny-usb bus driver\n  i2c: Documentation update\n  i2c: SPIN_LOCK_UNLOCKED cleanup\n  i2c: Obsolete i2c-ixp2000, i2c-ixp4xx and scx200_i2c\n  i2c: New Simtec I2C bus driver\n  i2c: Bitbanging I2C bus driver using the GPIO API\n  Use menuconfig objects - I2C\n  i2c: Restore i2c_smbus_read_block_data\n  i2c-pxa: Clean transaction stop\n  i2c-algo-bit: Improve debugging\n  i2c-algo-bit: Implement a 50/50 SCL duty cycle\n  i2c-omap: Switch to static adapter numbering\n  i2c: Blackfin Two Wire Interface driver\n  i2c-algo-sgi: Comment and whitespace cleanups\n  i2c: Make i2c_del_driver a void function\n  i2c: Move i2c-isa-only exported symbol declarations\n  i2c: Document i2c_new_device()\n  i2c: Add i2c_new_probed_device()\n  ...\n\nFixed trivial conflict in Documentation/feature-removal-schedule.txt manually.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ded1504dfa0083661fdd1a0a5f021cb7313ffe04",
      "tree": "5af71c440627225138518669653c427e901d8e33",
      "parents": [
        "98b96173c777c67daaa7d163a35e591e1928a164",
        "2e4976206396274cf66590328c6913811c271495"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 04 17:38:48 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 04 17:38:48 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq\n\n* master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq:\n  [CPUFREQ] Report the number of processors in PowerNow-k8 correctly\n  [CPUFREQ] do not declare undefined functions\n  [CPUFREQ] cleanup kconfig options\n  [CPUFREQ] Longhaul - Revert Longhaul ver. 2\n  [CPUFREQ] Remove deprecated /proc/acpi/processor/performance write support\n  [CPUFREQ] Fix limited cpufreq when booted on battery\n  Fix preemption warnings in speedstep-centrino.c\n  [CPUFREQ] Longhaul - Correct PCI code\n  [CPUFREQ] p4-clockmod: switch to rdmsr_on_cpu/wrmsr_on_cpu\n"
    },
    {
      "commit": "5a6d34162f5c6f522f857df274f1c8240f161e11",
      "tree": "537d305eef465617944821a1df59da3523a640df",
      "parents": [
        "af11e31609d93765c1b22611592543e028f7aa54"
      ],
      "author": {
        "name": "Jamal Hadi Salim",
        "email": "hadi@cyberus.ca",
        "time": "Fri May 04 12:55:39 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 04 12:55:39 2007 -0700"
      },
      "message": "[XFRM] SPD info TLV aggregation\n\nAggregate the SPD info TLVs.\n\nSigned-off-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "af11e31609d93765c1b22611592543e028f7aa54",
      "tree": "f8a915dc7d98844667308f7c234d00f59113ff3f",
      "parents": [
        "224711df5c00f7540b89f32a8225866031977f17"
      ],
      "author": {
        "name": "Jamal Hadi Salim",
        "email": "hadi@cyberus.ca",
        "time": "Fri May 04 12:55:13 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 04 12:55:13 2007 -0700"
      },
      "message": "[XFRM] SAD info TLV aggregationx\n\nAggregate the SAD info TLVs.\n\nSigned-off-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7562f876cd93800f2f8c89445f2a563590b24e09",
      "tree": "78a34c011af275efa0d55ba59c3bd49b771dd533",
      "parents": [
        "03fba0479600114f32d29eee74ca3eaa364606bf"
      ],
      "author": {
        "name": "Pavel Emelianov",
        "email": "xemul@openvz.org",
        "time": "Thu May 03 15:13:45 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 03 15:13:45 2007 -0700"
      },
      "message": "[NET]: Rework dev_base via list_head (v3)\n\nCleanup of dev_base list use, with the aim to simplify making device\nlist per-namespace. In almost every occasion, use of dev_base variable\nand dev-\u003enext pointer could be easily replaced by for_each_netdev\nloop. A few most complicated places were converted to using\nfirst_netdev()/next_netdev().\n\nSigned-off-by: Pavel Emelianov \u003cxemul@openvz.org\u003e\nAcked-by: Kirill Korotaev \u003cdev@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "27a005b883984ef3a3cf24e7ddd78eb78902f494",
      "tree": "c2fbdb130239e7f7ad718cea0cd8cb1a78528da4",
      "parents": [
        "605a9e20aaea23f31a5403e969bd4ab4d0405dab"
      ],
      "author": {
        "name": "Michael Chan",
        "email": "mchan@broadcom.com",
        "time": "Thu May 03 13:23:41 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 03 13:23:41 2007 -0700"
      },
      "message": "[BNX2]: Add support for 5709 Serdes.\n\nAdd PCI ID and code to support the 5709 Serdes PHY.\n\nSigned-off-by: Michael Chan \u003cmchan@broadcom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "427c2196b92697a4a8ee87959ebc16bfac024f6b",
      "tree": "547a75ab3227ce392776a30e0a11ad72a063ede2",
      "parents": [
        "fc38582db98533066f4ba64f948720483fbfe7b2"
      ],
      "author": {
        "name": "Michael Chan",
        "email": "mchan@broadcom.com",
        "time": "Thu May 03 13:17:25 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 03 13:17:25 2007 -0700"
      },
      "message": "[ETHTOOL]: Add 2.5G bit definitions.\n\nAdd 2.5G supported and advertising bit definitions.  2.5G is supported\nby the bnx2 driver.\n\nSigned-off-by: Michael Chan \u003cmchan@broadcom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fc38582db98533066f4ba64f948720483fbfe7b2",
      "tree": "350d7e725e4dedfbf41b3ee54d585ed2d609b607",
      "parents": [
        "cfd6c38096d75c8b86782683c5f45c415a505b78"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu May 03 03:36:16 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 03 03:36:16 2007 -0700"
      },
      "message": "[NETFILTER]: bridge netfilter: consolidate header pushing/pulling code\n\nConsolidate the common push/pull sequences into a few helper functions.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c2a1910b06fed96db77bb358c18c52a1fcf2b7fe",
      "tree": "a3e8fc944ea2a0bed4a6e02b6b0fb42e21444354",
      "parents": [
        "327850070b019a96853c533c152688546201c286"
      ],
      "author": {
        "name": "Jorge Boncompte",
        "email": "jorge@dti2.net",
        "time": "Thu May 03 03:34:42 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 03 03:34:42 2007 -0700"
      },
      "message": "[NETFILTER]: nf_nat_proto_gre: do not modify/corrupt GREv0 packets through NAT\n\nWhile porting some changes of the 2.6.21-rc7 pptp/proto_gre conntrack\nand nat modules to a 2.4.32 kernel I noticed that the gre_key function\nreturns a wrong pointer to the GRE key of a version 0 packet thus\ncorrupting the packet payload.\n\nThe intended behaviour for GREv0 packets is to act like\nnf_conntrack_proto_generic/nf_nat_proto_unknown so I have ripped the\noffending functions (not used anymore) and modified the\nnf_nat_proto_gre modules to not touch version 0 (non PPTP) packets.\n\nSigned-off-by: Jorge Boncompte \u003cjorge@dti2.net\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4e9cac2ba437fcb093c7417b1cd91a77ebd1756a",
      "tree": "bbcf898f720eb19d9d6fbc196902ec93d0748f84",
      "parents": [
        "5b35fad9d4fc2fcaf5c23887c1de1bc3eb28ab8c"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu May 03 03:28:13 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 03 03:28:13 2007 -0700"
      },
      "message": "[NET]: Add __dev_getfirstbyhwtype\n\nAdd __dev_getfirstbyhwtype for callers that don\u0027t want a reference but\nsome data from the device and thus need to take the rtnl anyway.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "be52178b9f73969b583c6a781ca613f4e601221a",
      "tree": "a215f23a952bae9a25bc57a8e5595a8d07888a4a",
      "parents": [
        "825e7d45cfa41bc96dd8ac4978b4d458a9ad5770"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Thu May 03 03:16:20 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 03 03:16:20 2007 -0700"
      },
      "message": "[NET] skbuff: fix kernel-doc\n\nFix skbuff.h kernel-doc:\nlinux-2.6.21-git4//include/linux/skbuff.h:316): No description found for parameter \u0027transport_header\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ef4533f8af7a8798cb8f52b06f47acf0c0d2d767",
      "tree": "446b3db739812391f0e476550b2e04161d126bff",
      "parents": [
        "709525fad8a925de16938caf7fce3bf601ef869c"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu May 03 03:10:39 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 03 03:10:39 2007 -0700"
      },
      "message": "[AFS]: Make the match_*() functions take const options.\n\nMake the match_*() functions take a const pointer to the options table\nand make strings pointers in the options table const too.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2ff81f70b56dc1cdd3bf2f08414608069db6ef1a",
      "tree": "e0db2209f7a3a0284240e8245b12c7e72a5760b8",
      "parents": [
        "02c83209726270ddf9597deabc45e08f6fc3942c"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 29 16:25:49 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Thu May 03 10:52:32 2007 +0300"
      },
      "message": "KVM: Remove unused \u0027instruction_length\u0027\n\nAs we no longer emulate in userspace, this is meaningless.  We don\u0027t\ncompute it on SVM anyway.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "02c83209726270ddf9597deabc45e08f6fc3942c",
      "tree": "570c2d96c1daba96ae2891e63b1e55b3959e9aba",
      "parents": [
        "e7df56e4a00358b6975fae3b70dc9df1282d427a"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 29 15:02:17 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Thu May 03 10:52:32 2007 +0300"
      },
      "message": "KVM: Don\u0027t require explicit indication of completion of mmio or pio\n\nIt is illegal not to return from a pio or mmio request without completing\nit, as mmio or pio is an atomic operation.  Therefore, we can simplify\nthe userspace interface by avoiding the completion indication.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "b8836737d92c139be770eae3d6574e33d1224caf",
      "tree": "9c03b429fda12e6fbdc97469eb039076aa397744",
      "parents": [
        "e8207547d2f7b2f557bdb73015c1f74c32474438"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 01 16:34:31 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Thu May 03 10:52:28 2007 +0300"
      },
      "message": "KVM: Add fpu get/set operations\n\nThese are really helpful when migrating an floating point app to another\nmachine.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "e8207547d2f7b2f557bdb73015c1f74c32474438",
      "tree": "7e5c15bec5cf9ef45a81227b009e6449f5c6d47c",
      "parents": [
        "954bbbc236afe23b368abdf4942f313a5f6e1d50"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Fri Mar 30 16:54:30 2007 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Thu May 03 10:52:28 2007 +0300"
      },
      "message": "KVM: Add physical memory aliasing feature\n\nWith this, we can specify that accesses to one physical memory range will\nbe remapped to another.  This is useful for the vga window at 0xa0000 which\nis used as a movable window into the (much larger) framebuffer.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "039576c03c35e2f990ad9bb9c39e1bad3cd60d34",
      "tree": "fa6c81a40a36d2c0da1cf20c5deb45cb9bd7ba95",
      "parents": [
        "f0fe510864a4520a85dfa35ae14f5f376c56efc7"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Tue Mar 20 12:46:50 2007 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Thu May 03 10:52:25 2007 +0300"
      },
      "message": "KVM: Avoid guest virtual addresses in string pio userspace interface\n\nThe current string pio interface communicates using guest virtual addresses,\nrelying on userspace to translate addresses and to check permissions.  This\ninterface cannot fully support guest smp, as the check needs to take into\naccount two pages at one in case an unaligned string transfer straddles a\npage boundary.\n\nChange the interface not to communicate guest addresses at all; instead use\na buffer page (mmaped by userspace) and do transfers there.  The kernel\nmanages the virtual to physical translation and can perform the checks\natomically by taking the appropriate locks.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "07c45a366d89f8eaec5d9890e810171b408f9a52",
      "tree": "2f54f8c4ba795a1432ee6ac2e8042a472b87550a",
      "parents": [
        "1961d276c877b99f5f16aaf36377c75e0e191c3a"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Mar 07 13:05:38 2007 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Thu May 03 10:52:24 2007 +0300"
      },
      "message": "KVM: Allow kernel to select size of mmap() buffer\n\nThis allows us to store offsets in the kernel/user kvm_run area, and be\nsure that userspace has them mapped.  As offsets can be outside the\nkvm_run struct, userspace has no way of knowing how much to mmap.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "1961d276c877b99f5f16aaf36377c75e0e191c3a",
      "tree": "4ea92fc2821bd0f9013ee567ee2f11c6cc532d79",
      "parents": [
        "6722c51c51518af9581ab6cd9b6aec93774334a6"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Mon Mar 05 19:46:05 2007 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Thu May 03 10:52:24 2007 +0300"
      },
      "message": "KVM: Add guest mode signal mask\n\nAllow a special signal mask to be used while executing in guest mode.  This\nallows signals to be used to interrupt a vcpu without requiring signal\ndelivery to a userspace handler, which is quite expensive.  Userspace still\nreceives -EINTR and can get the signal via sigwait().\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "1b19f3e61d7e1edb395dd64bf7d63621a37af8ca",
      "tree": "52d90cc6e505f84ec741770950f4f07be45b7fba",
      "parents": [
        "8eb7d334bd8e693340ee198280f7d45035cdab8c"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Mar 04 14:24:03 2007 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Thu May 03 10:52:24 2007 +0300"
      },
      "message": "KVM: Add a special exit reason when exiting due to an interrupt\n\nThis is redundant, as we also return -EINTR from the ioctl, but it\nallows us to examine the exit_reason field on resume without seeing\nold data.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "8eb7d334bd8e693340ee198280f7d45035cdab8c",
      "tree": "438ec0b6b6c7714e436884576a3fdce84507813f",
      "parents": [
        "b4e63f560beb187cffdaf706e534a1e2f9effb66"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Mar 04 14:17:08 2007 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Thu May 03 10:52:24 2007 +0300"
      },
      "message": "KVM: Fold kvm_run::exit_type into kvm_run::exit_reason\n\nCurrently, userspace is told about the nature of the last exit from the\nguest using two fields, exit_type and exit_reason, where exit_type has\njust two enumerations (and no need for more).  So fold exit_type into\nexit_reason, reducing the complexity of determining what really happened.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "b4e63f560beb187cffdaf706e534a1e2f9effb66",
      "tree": "1fe1a640530af04d1d722e0c99c8086b0e13f1e7",
      "parents": [
        "5d308f4550d9dc4c236e08b0377b610b9578577b"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Mar 04 13:59:30 2007 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Thu May 03 10:52:24 2007 +0300"
      },
      "message": "KVM: Allow userspace to process hypercalls which have no kernel handler\n\nThis is useful for paravirtualized graphics devices, for example.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "5d308f4550d9dc4c236e08b0377b610b9578577b",
      "tree": "c19005059de37403db7962bcfa7bac657331b052",
      "parents": [
        "739872c56f3322c38320c7a5a543ef6f56f174bc"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Thu Mar 01 17:56:20 2007 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Thu May 03 10:52:24 2007 +0300"
      },
      "message": "KVM: Add method to check for backwards-compatible API extensions\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "739872c56f3322c38320c7a5a543ef6f56f174bc",
      "tree": "1dbd6e3c541f14e9553fc32a1b1c1d4096a77858",
      "parents": [
        "2a4dac3952468157297b81ae0a29815c02ead179"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Thu Mar 01 17:20:13 2007 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Thu May 03 10:52:23 2007 +0300"
      },
      "message": "KVM: Renumber ioctls\n\nThe recent changes have left the ioctl numbers in complete disarray.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "2a4dac3952468157297b81ae0a29815c02ead179",
      "tree": "d3ee5dcf749061cc588be792b0eeaa06f02e69a1",
      "parents": [
        "106b552b43beac2694df5fbafc8f125a72df5f65"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Thu Mar 01 16:47:06 2007 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Thu May 03 10:52:23 2007 +0300"
      },
      "message": "KVM: Remove minor wart from KVM_CREATE_VCPU ioctl\n\nThat ioctl does not transfer any data, so it should be an _IO rather than an\n_IOW.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "106b552b43beac2694df5fbafc8f125a72df5f65",
      "tree": "3d26f1f7148eaa4cb6e6d882418db283d9f2d29f",
      "parents": [
        "06465c5a3aa9948a7b00af49cd22ed8f235cdb0f"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Thu Mar 01 16:20:40 2007 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Thu May 03 10:52:23 2007 +0300"
      },
      "message": "KVM: Remove the \u0027emulated\u0027 field from the userspace interface\n\nWe no longer emulate single instructions in userspace.  Instead, we service\nmmio or pio requests.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "06465c5a3aa9948a7b00af49cd22ed8f235cdb0f",
      "tree": "2a21941ae6f28445abbb3cc80dd3416cf2241b8d",
      "parents": [
        "46fc1477887c41c8e900f2c95485e222b9a54822"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Feb 28 20:46:53 2007 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Thu May 03 10:52:23 2007 +0300"
      },
      "message": "KVM: Handle cpuid in the kernel instead of punting to userspace\n\nKVM used to handle cpuid by letting userspace decide what values to\nreturn to the guest.  We now handle cpuid completely in the kernel.  We\nstill let userspace decide which values the guest will see by having\nuserspace set up the value table beforehand (this is necessary to allow\nmanagement software to set the cpu features to the least common denominator,\nso that live migration can work).\n\nThe motivation for the change is that kvm kernel code can be impacted by\ncpuid features, for example the x86 emulator.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "46fc1477887c41c8e900f2c95485e222b9a54822",
      "tree": "ef9d4d4b6fc32f3d6b4e77a87d1b47b6da455574",
      "parents": [
        "9a2bb7f486dc639a1cf2ad803bf2227f0dc0809d"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Thu Feb 22 19:39:30 2007 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Thu May 03 10:52:23 2007 +0300"
      },
      "message": "KVM: Do not communicate to userspace through cpu registers during PIO\n\nCurrently when passing the a PIO emulation request to userspace, we\nrely on userspace updating %rax (on \u0027in\u0027 instructions) and %rsi/%rdi/%rcx\n(on string instructions).  This (a) requires two extra ioctls for getting\nand setting the registers and (b) is unfriendly to non-x86 archs, when\nthey get kvm ports.\n\nSo fix by doing the register fixups in the kernel and passing to userspace\nonly an abstract description of the PIO to be done.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "9a2bb7f486dc639a1cf2ad803bf2227f0dc0809d",
      "tree": "db323e11ae5a5286a1e344b444162be53bc4d9fc",
      "parents": [
        "1ea252afcd4b264b71d9c3f55358ff5ba4c04f1b"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Thu Feb 22 12:58:31 2007 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Thu May 03 10:52:23 2007 +0300"
      },
      "message": "KVM: Use a shared page for kernel/user communication when runing a vcpu\n\nInstead of passing a \u0027struct kvm_run\u0027 back and forth between the kernel and\nuserspace, allocate a page and allow the user to mmap() it.  This reduces\nneedless copying and makes the interface expandable by providing lots of\nfree space.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "ff42697436ddf5bd026e2cb4f117656b967f0709",
      "tree": "8f2bb95a3e55f8900b680f196a8f73dc211cf716",
      "parents": [
        "bbe4432e669ab94fc8059e7ab878cafad7b8d123"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Mar 07 09:29:48 2007 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Thu May 03 10:52:22 2007 +0300"
      },
      "message": "KVM: Export \u003clinux/kvm.h\u003e\n\nThis allows users to actually build prgrams that use kvm without\nthe entire source tree.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "bbe4432e669ab94fc8059e7ab878cafad7b8d123",
      "tree": "86a0c878e232a5bcf6978165d0d5a482a22f3a62",
      "parents": [
        "510043da8582ad49d22a1e9a6b211e6ede10cd2e"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Mar 04 13:27:36 2007 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Thu May 03 10:52:22 2007 +0300"
      },
      "message": "KVM: Use own minor number\n\nUse the minor number (232) allocated to kvm by lanana.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "ecf36501bc4ad399e6df2e0bdaa513a2d510b7ec",
      "tree": "05319ef120f55c81e798e5eee37b074c3a9890a2",
      "parents": [
        "5adc55da4a7758021bcc374904b0f8b076508a11"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Apr 06 12:19:48 2007 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed May 02 19:02:38 2007 -0700"
      },
      "message": "PCI: the overdue removal of pci_module_init()\n\nUnless we finally completely remove it, people will always add new users.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "5adc55da4a7758021bcc374904b0f8b076508a11",
      "tree": "41f113f25532c3ffc1e3194114fbc68d67ce2001",
      "parents": [
        "032de8e2fe3c0eec5fb0ffe4d38aa602dad397dc"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Mar 27 03:02:51 2007 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed May 02 19:02:38 2007 -0700"
      },
      "message": "PCI: remove the broken PCI_MULTITHREAD_PROBE option\n\nThis patch removes the PCI_MULTITHREAD_PROBE option that had already \nbeen marked as broken.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "032de8e2fe3c0eec5fb0ffe4d38aa602dad397dc",
      "tree": "b9ad28ab3642c2dfba8e059fc72bd8e86c667449",
      "parents": [
        "9c8313343c83c0ca731ceb8d2a4ab1e022ed9c94"
      ],
      "author": {
        "name": "Michael Ellerman",
        "email": "michael@ellerman.id.au",
        "time": "Wed Apr 18 19:39:22 2007 +1000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed May 02 19:02:38 2007 -0700"
      },
      "message": "MSI: Give archs the option to free all MSI/Xs at once.\n\nThis patch introduces an optional function, arch_teardown_msi_irqs(),\nwhich gives an arch the opportunity to do per-device teardown for\nMSI/X. If that\u0027s not required, the default version simply calls\narch_teardown_msi_irq() for each msi irq required.\n\narch_teardown_msi_irqs() is simply passed a pdev, attached to the pdev\nis a list of msi_descs, it is up to the arch to free the irq associated\nwith each of these as appropriate.\n\nFor archs that _don\u0027t_ implement arch_teardown_msi_irqs(), all msi_descs\nwith irq \u003d\u003d 0 are considered unallocated, and the arch teardown routine\nis not called on them.\n\nSigned-off-by: Michael Ellerman \u003cmichael@ellerman.id.au\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "9c8313343c83c0ca731ceb8d2a4ab1e022ed9c94",
      "tree": "1e37ef3ebcdcb344adb74c1667ad04cf87010f5e",
      "parents": [
        "7fe3730de729b758e9f69b862b9255d998671b5f"
      ],
      "author": {
        "name": "Michael Ellerman",
        "email": "michael@ellerman.id.au",
        "time": "Wed Apr 18 19:39:21 2007 +1000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed May 02 19:02:38 2007 -0700"
      },
      "message": "MSI: Give archs the option to allocate all MSI/Xs at once.\n\nThis patch introduces an optional function, arch_setup_msi_irqs(),\n(note the plural) which gives an arch the opportunity to do per-device\nsetup for MSI/X and then allocate all the requested MSI/Xs at once.\n\nIf that\u0027s not required by the arch, the default version simply calls\narch_setup_msi_irq() for each MSI irq required.\n\narch_setup_msi_irqs() is passed a pdev, attached to the pdev is a list\nof msi_descs with irq \u003d\u003d 0, it is up to the arch to connect these up to\nan irq (via set_irq_msi()) or return an error. For convenience the number\nof vectors and the type are passed also.\n\nAll msi_descs with irq !\u003d 0 are considered allocated, and the arch\nteardown routine will be called on them when necessary.\n\nThe existing semantics of pci_enable_msix() are that if the requested\nnumber of irqs can not be allocated, the maximum number that _could_ be\nallocated is returned. To support that, we define that in case of an\nerror from arch_setup_msi_irqs(), the number of msi_descs with irq !\u003d 0\nare considered allocated, and are counted toward the \"max that could be\nallocated\".\n\n\nSigned-off-by: Michael Ellerman \u003cmichael@ellerman.id.au\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "314e77b3eec57001eaff82b82920150175b74e09",
      "tree": "7446d5c9faaf4bf5dcde576961c68fbe1813c998",
      "parents": [
        "4aa9bc955d61fdf03b5f9cee67db188fe1ffa8b7"
      ],
      "author": {
        "name": "Michael Ellerman",
        "email": "michael@ellerman.id.au",
        "time": "Thu Apr 05 17:19:12 2007 +1000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed May 02 19:02:37 2007 -0700"
      },
      "message": "MSI: Remove dev-\u003efirst_msi_irq\n\nNow that we keep a list of msi descriptors, we don\u0027t need first_msi_irq\nin the pci dev.\n\nIf we somehow have zero MSIs configured list_entry() will give us weird\noopes or nice memory corruption bugs. So be paranoid. Add BUG_ONs and also\na check in pci_msi_check_device() to make sure nvec \u003e 0.\n\nSigned-off-by: Michael Ellerman \u003cmichael@ellerman.id.au\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "4aa9bc955d61fdf03b5f9cee67db188fe1ffa8b7",
      "tree": "bd0604f5d7308d63cafbb1e3134580e284d86a50",
      "parents": [
        "bab41e9be75121c473b00df2ffa33af3c44066a7"
      ],
      "author": {
        "name": "Michael Ellerman",
        "email": "michael@ellerman.id.au",
        "time": "Thu Apr 05 17:19:10 2007 +1000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed May 02 19:02:37 2007 -0700"
      },
      "message": "MSI: Use a list instead of the custom link structure\n\nThe msi descriptors are linked together with what looks a lot like\na linked list, but isn\u0027t a struct list_head list. Make it one.\n\nThe only complication is that previously we walked a list of irqs, and\ngot the descriptor for each with get_irq_msi(). Now we have a list of\ndescriptors and need to get the irq out of it, so it needs to be in the\nactual struct msi_desc. We use 0 to indicate no irq is setup.\n\nSigned-off-by: Michael Ellerman \u003cmichael@ellerman.id.au\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "65891215e6b822c368fb3f36abf129ed48af8be0",
      "tree": "6cc1de94ca66a8f627775d1ddff3600ee8236ed3",
      "parents": [
        "c9953a73e92df11edd812d863ff741877ea9e58c"
      ],
      "author": {
        "name": "Michael Ellerman",
        "email": "michael@ellerman.id.au",
        "time": "Thu Apr 05 17:19:08 2007 +1000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed May 02 19:02:37 2007 -0700"
      },
      "message": "PCI: Create alloc_pci_dev(), the one true way to create a struct pci_dev\n\nThere are currently several places in the kernel where we kmalloc()\na struct pci_dev and start initialising it. It\u0027d be preferable to\nhave an allocator so we can ensure the pci_dev is correctly initialised\nin one place.\n\nSigned-off-by: Michael Ellerman \u003cmichael@ellerman.id.au\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "c9953a73e92df11edd812d863ff741877ea9e58c",
      "tree": "27262efa28f6c05e26bfd87ef03af4a81fda3d22",
      "parents": [
        "17bbc12acdb23ffb9613e12ca974fafd31bfcb56"
      ],
      "author": {
        "name": "Michael Ellerman",
        "email": "michael@ellerman.id.au",
        "time": "Thu Apr 05 17:19:08 2007 +1000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed May 02 19:02:37 2007 -0700"
      },
      "message": "MSI: Add an arch_msi_check_device()\n\nAdd an arch_check_device(), which gives archs a chance to check the input\nto pci_enable_msi/x. The arch might be interested in the value of nvec so\npass it in. Propagate the error value returned from the arch routine out\nto the caller.\n\nSigned-off-by: Michael Ellerman \u003cmichael@ellerman.id.au\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "0da0ead90122578ef6e4afba9ba4bcd3455fd8e8",
      "tree": "1c1b6a691bb5c08c998e716523a1a33e70fda5b8",
      "parents": [
        "96bde06a2df1b363206d3cdef53134b84ff37813"
      ],
      "author": {
        "name": "Sergei Shtylyov",
        "email": "sshtylyov@ru.mvista.com",
        "time": "Sun Apr 01 21:13:58 2007 +0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed May 02 19:02:35 2007 -0700"
      },
      "message": "PCI: define pci_request/release_regions() for CONFIG_PCI\u003dn\n\nBalance declarations of pci_request_regions() and pci_release_regions() with\nempty inline definitions for the CONFIG_PCI\u003dn case -- otherwise my patch to\ndrivers/net/3c59x.c in the -mm tree doesn\u0027t compile. :-)\n\nSigned-off-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f7bdd12d234d9064bd0aa1b5610508959120a9b4",
      "tree": "16f0e3f1762885c1e9b55249f79920be94b19ff6",
      "parents": [
        "988cbb15e00e6f924d052874b40c6a5447f9fdd7"
      ],
      "author": {
        "name": "Brian King",
        "email": "brking@linux.vnet.ibm.com",
        "time": "Fri Apr 06 16:39:36 2007 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed May 02 19:02:34 2007 -0700"
      },
      "message": "pci: New PCI-E reset API\n\nAdds a new API which can be used to issue various types\nof PCI-E reset, including PCI-E warm reset and PCI-E hot reset.\nThis is needed for an ipr PCI-E adapter which does not properly\nimplement BIST. Running BIST on this adapter results in PCI-E\nerrors. The only reliable reset mechanism that exists on this\nhardware is PCI Fundamental reset (warm reset). Since driving\nthis type of reset is architecture unique, this provides the\nnecessary hooks for architectures to add this support.\n\nSigned-off-by: Brian King \u003cbrking@linux.vnet.ibm.com\u003e\nAcked-by: Linas Vepstas \u003clinas@austin.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "823bccfc4002296ba88c3ad0f049e1abd8108d30",
      "tree": "5338ae0b32409446af4cd00c5107d9405d5bf0b6",
      "parents": [
        "2609e7b9bebfd433254c02538ba803dc516ff674"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 13 13:15:19 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed May 02 18:57:59 2007 -0700"
      },
      "message": "remove \"struct subsystem\" as it is no longer needed\n\nWe need to work on cleaning up the relationship between kobjects, ksets and\nktypes.  The removal of \u0027struct subsystem\u0027 is the first step of this,\nespecially as it is not really needed at all.\n\nThanks to Kay for fixing the bugs in this patch.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "dc24f0e708c8a6a27b5b967a2599c04973054398",
      "tree": "7c132c4f1cf17e7bda5705352dc9ad259ee74bf9",
      "parents": [
        "5a4910fbbeef14cc91daa41086449a1a4acebc96"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Fri Mar 09 19:59:06 2007 +0100"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Wed May 02 20:58:08 2007 +0200"
      },
      "message": "kbuild: remove dependency on input.h from file2alias\n\nAlmost all definitions used by file2alias was already\npresent in mod_devicetable.h.\nAdded the last definition and killed the input.h usage.\n\nThe errornous include was pointed out\nby: Jan Engelhardt \u003cjengelh@linux01.gwdg.de\u003e\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nCc: Jan Engelhardt \u003cjengelh@linux01.gwdg.de\u003e\nCc: Deepak Saxena \u003cdsaxena@plexity.net\u003e\n"
    },
    {
      "commit": "03df4f6ee997589a84d5f9492c6419183724c710",
      "tree": "94b79a8b18bab6032ce8e241c7a56fe007cd587c",
      "parents": [
        "21564fd2a3deb48200b595332f9ed4c9f311f2a7"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed May 02 19:27:17 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:17 2007 +0200"
      },
      "message": "[PATCH] i386: Clean up ELF note generation\n\nThree cleanups:\n\n1: ELF notes are never mapped, so there\u0027s no need to have any access\nflags in their phdr.\n\n2: When generating them from asm, tell the assembler to use a SHT_NOTE\nsection type.  There doesn\u0027t seem to be a way to do this from C.\n\n3: Use ANSI rather than traditional cpp behaviour to stringify the\nmacro argument.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "ce6234b5298902aaec831a67d5f8d9bd2ef5a488",
      "tree": "939c22684e11a4f5f17abb89c4898f016e878e21",
      "parents": [
        "a27fe809b82c5e18932fcceded28d0d1481ce7bb"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed May 02 19:27:15 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:15 2007 +0200"
      },
      "message": "[PATCH] i386: PARAVIRT: add kmap_atomic_pte for mapping highpte pages\n\nXen and VMI both have special requirements when mapping a highmem pte\npage into the kernel address space.  These can be dealt with by adding\na new kmap_atomic_pte() function for mapping highptes, and hooking it\ninto the paravirt_ops infrastructure.\n\nXen specifically wants to map the pte page RO, so this patch exposes a\nhelper function, kmap_atomic_prot, which maps the page with the\nspecified page protections.\n\nThis also adds a kmap_flush_unused() function to clear out the cached\nkmap mappings.  Xen needs this to clear out any potential stray RW\nmappings of pages which will become part of a pagetable.\n\n[ Zach - vmi.c will need some attention after this patch.  It wasn\u0027t\n  immediately obvious to me what needs to be done. ]\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Zachary Amsden \u003czach@vmware.com\u003e\n"
    },
    {
      "commit": "d4f7a2c18e59e0304a1c733589ce14fc02fec1bd",
      "tree": "99c64275f7eb50925aad71a74ae083ececdbb795",
      "parents": [
        "a6c4e076ee4c1ea670e4faa55814e63dd08e3f29"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed May 02 19:27:12 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:12 2007 +0200"
      },
      "message": "[PATCH] i386: Relocate VDSO ELF headers to match mapped location with COMPAT_VDSO\n\nSome versions of libc can\u0027t deal with a VDSO which doesn\u0027t have its\nELF headers matching its mapped address.  COMPAT_VDSO maps the VDSO at\na specific system-wide fixed address.  Previously this was all done at\nbuild time, on the grounds that the fixed VDSO address is always at\nthe top of the address space.  However, a hypervisor may reserve some\nof that address space, pushing the fixmap address down.\n\nThis patch does the adjustment dynamically at runtime, depending on\nthe runtime location of the VDSO fixmap.\n\n[ Patch has been through several hands: Jan Beulich wrote the orignal\n  version; Zach reworked it, and Jeremy converted it to relocate phdrs\n  as well as sections. ]\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Zachary Amsden \u003czach@vmware.com\u003e\nCc: \"Jan Beulich\" \u003cJBeulich@novell.com\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\n"
    },
    {
      "commit": "b00742d399513a4100c24cc2accefdc1bb1e0b15",
      "tree": "57551a08eb218ed4aadb0a90806f33826df27f8a",
      "parents": [
        "bbba11c35baaad3f70f32e185a2c1d40d7901fe9"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed May 02 19:27:11 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:11 2007 +0200"
      },
      "message": "[PATCH] x86-64: Account for module percpu space separately from kernel percpu\n\nRather than using a single constant PERCPU_ENOUGH_ROOM, compute it as\nthe sum of kernel_percpu + PERCPU_MODULE_RESERVE.  This is now common\nto all architectures; if an architecture wants to set\nPERCPU_ENOUGH_ROOM to something special, then it may do so (ia64 is\nthe only one which does).\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "6fb14755a676282a4e6caa05a08c92db8e45cfff",
      "tree": "71a862edf87cafe61986c0aff90db72045cf14c3",
      "parents": [
        "d01ad8dd56527be72947b4b9997bb2c05783c3ed"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Wed May 02 19:27:10 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:10 2007 +0200"
      },
      "message": "[PATCH] x86: tighten kernel image page access rights\n\nOn x86-64, kernel memory freed after init can be entirely unmapped instead\nof just getting \u0027poisoned\u0027 by overwriting with a debug pattern.\n\nOn i386 and x86-64 (under CONFIG_DEBUG_RODATA), kernel text and bug table\ncan also be write-protected.\n\nCompared to the first version, this one prevents re-creating deleted\nmappings in the kernel image range on x86-64, if those got removed\npreviously. This, together with the original changes, prevents temporarily\nhaving inconsistent mappings when cacheability attributes are being\nchanged on such pages (e.g. from AGP code). While on i386 such duplicate\nmappings don\u0027t exist, the same change is done there, too, both for\nconsistency and because checking pte_present() before using various other\npte_XXX functions is a requirement anyway. At once, i386 code gets\nadjusted to use pte_huge() instead of open coding this.\n\nAK: split out cpa() changes\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "79e030114a8d97a1dcd593ab84fb986f8c91c536",
      "tree": "ae96f84611dd963c11ce2962a67197030ddd0f3e",
      "parents": [
        "eab0c72aecd7982b2c848f7d493ba379efcef15e"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "ian.campbell@xensource.com",
        "time": "Wed May 02 19:27:09 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:09 2007 +0200"
      },
      "message": "[PATCH] i386: Allow i386 crash kernels to handle x86_64 dumps\n\nThe specific case I am encountering is kdump under Xen with a 64 bit\nhypervisor and 32 bit kernel/userspace.  The dump created is 64 bit due to\nthe hypervisor but the dump kernel is 32 bit for maximum compatibility.\n\nIt\u0027s possibly less likely to be useful in a purely native scenario but I\nsee no reason to disallow it.\n\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Ian Campbell \u003cian.campbell@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nAcked-by: Vivek Goyal \u003cvgoyal@in.ibm.com\u003e\nCc: Horms \u003chorms@verge.net.au\u003e\nCc: Magnus Damm \u003cmagnus.damm@gmail.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e073ae1b34d5600ffc550407625dcb2d4cf46c6e",
      "tree": "9f6a7762ab77d4cf0cae0399d5449c72b8fcc0fa",
      "parents": [
        "d039c688c6b3e7217381d2804bc0ca3171913fec"
      ],
      "author": {
        "name": "Ravikiran G Thirumalai",
        "email": "kiran@scalex86.org",
        "time": "Wed May 02 19:27:08 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:08 2007 +0200"
      },
      "message": "[PATCH] x86-64: Set HASHDIST_DEFAULT to 1 for x86_64 NUMA\n\nEnable system hashtable memory to be distributed among nodes on x86_64 NUMA\n\nForcing the kernel to use node interleaved vmalloc instead of bootmem for\nthe system hashtable memory (alloc_large_system_hash) reduces the memory\nimbalance on node 0 by around 40MB on a 8 node x86_64 NUMA box:\n\nBefore the following patch, on bootup of a 8 node box:\n\nNode 0 MemTotal:      3407488 kB\nNode 0 MemFree:       3206296 kB\nNode 0 MemUsed:        201192 kB\nNode 0 Active:           7012 kB\nNode 0 Inactive:          512 kB\nNode 0 Dirty:               0 kB\nNode 0 Writeback:           0 kB\nNode 0 FilePages:        1912 kB\nNode 0 Mapped:            420 kB\nNode 0 AnonPages:        5612 kB\nNode 0 PageTables:        468 kB\nNode 0 NFS_Unstable:        0 kB\nNode 0 Bounce:              0 kB\nNode 0 Slab:             5408 kB\nNode 0 SReclaimable:      644 kB\nNode 0 SUnreclaim:       4764 kB\n\nAfter the patch (or using hashdist\u003d1 on the kernel command line):\n\nNode 0 MemTotal:      3407488 kB\nNode 0 MemFree:       3247608 kB\nNode 0 MemUsed:        159880 kB\nNode 0 Active:           3012 kB\nNode 0 Inactive:          616 kB\nNode 0 Dirty:               0 kB\nNode 0 Writeback:           0 kB\nNode 0 FilePages:        2424 kB\nNode 0 Mapped:            380 kB\nNode 0 AnonPages:        1200 kB\nNode 0 PageTables:        396 kB\nNode 0 NFS_Unstable:        0 kB\nNode 0 Bounce:              0 kB\nNode 0 Slab:             6304 kB\nNode 0 SReclaimable:     1596 kB\nNode 0 SUnreclaim:       4708 kB\n\nI guess it is a good idea to keep HASHDIST_DEFAULT \"on\" for x86_64 NUMA\nsince x86_64 has no dearth of vmalloc space?  Or maybe enable hash\ndistribution for all 64bit NUMA arches?  The following patch does it only\nfor x86_64.\n\nI ran a HPC MPI benchmark -- \u0027Ansys wingsolid\u0027, which takes up quite a bit of\nmemory and uses up tlb entries.  This was on a 4 way, 2 socket\nTyan AMD box (non vsmp), with 8G total memory (4G pernode).\n\nThe results with and without hash distribution are:\n\n1. Vanilla - runtime of 1188.000s\n2. With hashdist\u003d1 runtime of 1154.000s\n\nOprofile output for the duration of run is:\n\n1. Vanilla:\nPU: AMD64 processors, speed 2411.16 MHz (estimated)\nCounted L1_AND_L2_DTLB_MISSES events (L1 and L2 DTLB misses) with a unit\nmask of 0x00 (No unit mask) count 500\nsamples  %        app name                 symbol name\n163054    6.5513  libansys1.so             MultiFront::decompose(int, int,\nElemset *, int *, int, int, int)\n162061    6.5114  libansys3.so             blockSaxpy6L_fd\n162042    6.5107  libansys3.so             blockInnerProduct6L_fd\n156286    6.2794  libansys3.so             maxb33_\n87879     3.5309  libansys1.so             elmatrixmultpcg_\n84857     3.4095  libansys4.so             saxpy_pcg\n58637     2.3560  libansys4.so             .st4560\n46612     1.8728  libansys4.so             .st4282\n43043     1.7294  vmlinux-t                copy_user_generic_string\n41326     1.6604  libansys3.so             blockSaxpyBackSolve6L_fd\n41288     1.6589  libansys3.so             blockInnerProductBackSolve6L_fd\n\n2. With hashdist\u003d1\nCPU: AMD64 processors, speed 2411.13 MHz (estimated)\nCounted L1_AND_L2_DTLB_MISSES events (L1 and L2 DTLB misses) with a unit\nmask of 0x00 (No unit mask) count 500\nsamples  %        app name                 symbol name\n162993    6.9814  libansys1.so             MultiFront::decompose(int, int,\nElemset *, int *, int, int, int)\n160799    6.8874  libansys3.so             blockInnerProduct6L_fd\n160459    6.8729  libansys3.so             blockSaxpy6L_fd\n156018    6.6826  libansys3.so             maxb33_\n84700     3.6279  libansys4.so             saxpy_pcg\n83434     3.5737  libansys1.so             elmatrixmultpcg_\n58074     2.4875  libansys4.so             .st4560\n46000     1.9703  libansys4.so             .st4282\n41166     1.7632  libansys3.so             blockSaxpyBackSolve6L_fd\n41033     1.7575  libansys3.so             blockInnerProductBackSolve6L_fd\n35762     1.5318  libansys1.so             inner_product_sub\n35591     1.5245  libansys1.so             inner_product_sub2\n28259     1.2104  libansys4.so             addVectors\n\nSigned-off-by: Pravin B. Shelar \u003cpravin.shelar@calsoftinc.com\u003e\nSigned-off-by: Ravikiran Thirumalai \u003ckiran@scalex86.org\u003e\nSigned-off-by: Shai Fultheim \u003cshai@scalex86.org\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nAcked-by: Christoph Lameter \u003cclameter@engr.sgi.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "184c44d2049c4db7ef6ec65794546954da2c6a0e",
      "tree": "73d15a15bea7c5edb75ec7eba53de7791da93317",
      "parents": [
        "a4831e08b7f3ed51623c9eb25e8c945b76b3eda3"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Wed May 02 19:27:08 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:08 2007 +0200"
      },
      "message": "[PATCH] x86-64: fix x86_64-mm-sched-clock-share\n\nFix for the following patch. Provide dummy cpufreq functions when\nCPUFREQ is not compiled in.\n\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Dave Jones \u003cdavej@codemonkey.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "973efae21beb2feda138f152ed06d4204774d93c",
      "tree": "72aea5fab6d059b35a79198bf09cc9163338b5c2",
      "parents": [
        "6d1c426158131b11d05d66e7dd6bf91e5b1b4fc7"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed May 02 19:27:06 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:06 2007 +0200"
      },
      "message": "[PATCH] i386: clean up mach_reboot_fixups\n\nThe reboot_fixups stuff seems to be a bit of a mess, specifically the\nheader is in linux/ when its a purely i386-specific piece of code.  I\u0027m\nnot sure why it has its config option; its only currently needed for\n\"geode-gx1/cs5530a\", so perhaps whatever config option controls that\nhardware should enable this?\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "86c0baf123e474b6eb404798926ecf62b426bf3a",
      "tree": "9977172dc65e9504448d24fda567097f420306a8",
      "parents": [
        "e319af1d8722bc3fb61ed6968c88bb66fbb3f58e"
      ],
      "author": {
        "name": "Prarit Bhargava",
        "email": "prarit@redhat.com",
        "time": "Wed May 02 19:27:05 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:05 2007 +0200"
      },
      "message": "[PATCH] i386: Change sysenter_setup to __cpuinit \u0026 improve __INIT, __INITDATA\n\nChange sysenter_setup to __cpuinit.\nChange __INIT \u0026 __INITDATA to be cpu hotplug aware.\n\nResolve MODPOST warnings similar to:\n\nWARNING: vmlinux - Section mismatch: reference to .init.text:sysenter_setup from\n .text between \u0027identify_cpu\u0027 (at offset 0xc040a380) and \u0027detect_ht\u0027\n\nand\n\nWARNING: vmlinux - Section mismatch: reference to .init.data:vsyscall_int80_end\nfrom .text between \u0027sysenter_setup\u0027 (at offset 0xc041a269) and \u0027enable_sep_cpu\u0027\nWARNING: vmlinux - Section mismatch: reference to\n.init.data:vsyscall_int80_start from .text between \u0027sysenter_setup\u0027 (at offset\n0xc041a26e) and \u0027enable_sep_cpu\u0027\nWARNING: vmlinux - Section mismatch: reference to\n.init.data:vsyscall_sysenter_end from .text between \u0027sysenter_setup\u0027 (at offset\n0xc041a275) and \u0027enable_sep_cpu\u0027\nWARNING: vmlinux - Section mismatch: reference to\n.init.data:vsyscall_sysenter_start from .text between \u0027sysenter_setup\u0027 (at\noffset 0xc041a27a) and \u0027enable_sep_cpu\u0027\n\nSigned-off-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "e196d6259141eda47aeafd88514aae652bfbfc7f",
      "tree": "4f5d727242ee5ff80b05e3af6bf130c46e50cb5d",
      "parents": [
        "124b53d020622ffa24e27406f2373d5a3debd0d3"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sat Apr 14 16:09:14 2007 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed May 02 14:38:33 2007 +1000"
      },
      "message": "[CRYPTO] api: Add ablkcipher_request_set_tfm\n\nThis patch adds ablkcipher_request_set_tfm for those users that need\nto manage the memory for ablkcipher requests directly.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "b5b7f08869340aa8cfa23303f7d195f161479592",
      "tree": "dd1f3f00165e7ca31e29a52d64909439cdfab8fd",
      "parents": [
        "ebc610e5bc76df073221e64e86c3f7533a09ea40"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Apr 16 20:48:54 2007 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed May 02 14:38:31 2007 +1000"
      },
      "message": "[CRYPTO] api: Add async blkcipher type\n\nThis patch adds the mid-level interface for asynchronous block ciphers.\nIt also includes a generic queueing mechanism that can be used by other\nasynchronous crypto operations in future.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "ebc610e5bc76df073221e64e86c3f7533a09ea40",
      "tree": "d53f4fa3da412f6df4b5891e23ca7c7607a3a5ce",
      "parents": [
        "6158efc09016d3186263f6fd3a50667446ec4008"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Jan 01 18:37:02 2007 +1100"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed May 02 14:38:31 2007 +1000"
      },
      "message": "[CRYPTO] templates: Pass type/mask when creating instances\n\nThis patch passes the type/mask along when constructing instances of\ntemplates.  This is in preparation for templates that may support\nmultiple types of instances depending on what is requested.  For example,\nthe planned software async crypto driver will use this construct.\n\nFor the moment this allows us to check whether the instance constructed\nis of the correct type and avoid returning success if the type does not\nmatch.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "32e3983fe590ac4cd70c7728eb330d43cef031a7",
      "tree": "9e239c4d2f208578fd400c2abb31e8ae7788de4b",
      "parents": [
        "03f5d8cedb31deb558cd97095730cbc8bc54b12a"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sat Mar 24 14:35:34 2007 +1100"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed May 02 14:38:30 2007 +1000"
      },
      "message": "[CRYPTO] api: Add async block cipher interface\n\nThis patch adds the frontend interface for asynchronous block ciphers.\nIn addition to the usual block cipher parameters, there is a callback\nfunction pointer and a data pointer.  The callback will be invoked only\nif the encrypt/decrypt handlers return -EINPROGRESS.  In other words,\nif the return value of zero the completion handler (or the equivalent\ncode) needs to be invoked by the caller.\n\nThe request structure is allocated and freed by the caller.  Its size\nis determined by calling crypto_ablkcipher_reqsize().  The helpers\nablkcipher_request_alloc/ablkcipher_request_free can be used to manage\nthe memory for a request.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "1c23af90dc44d05bbb6a3b5246ab664b1f943943",
      "tree": "184dc150ca69a9dfbc00996e35659ef41beb202c",
      "parents": [
        "16538e6b32600f76ad212d42fc2b1f801e32ab4b"
      ],
      "author": {
        "name": "Haavard Skinnemoen",
        "email": "hskinnemoen@atmel.com",
        "time": "Tue May 01 23:26:34 2007 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@hyperion.delvare",
        "time": "Tue May 01 23:26:34 2007 +0200"
      },
      "message": "i2c: Bitbanging I2C bus driver using the GPIO API\n\nThis is a very simple bitbanging I2C bus driver utilizing the new\narch-neutral GPIO API. Useful for chips that don\u0027t have a built-in\nI2C controller, additional I2C busses, or testing purposes.\n\nTo use, include something similar to the following in the\nboard-specific setup code:\n\n  #include \u003clinux/i2c-gpio.h\u003e\n\n  static struct i2c_gpio_platform_data i2c_gpio_data \u003d {\n\t.sda_pin\t\u003d GPIO_PIN_FOO,\n\t.scl_pin\t\u003d GPIO_PIN_BAR,\n  };\n  static struct platform_device i2c_gpio_device \u003d {\n\t.name\t\t\u003d \"i2c-gpio\",\n\t.id\t\t\u003d 0,\n\t.dev\t\t\u003d {\n\t\t.platform_data\t\u003d \u0026i2c_gpio_data,\n\t},\n  };\n\nRegister this platform_device, set up the I2C pins as GPIO if\nrequired and you\u0027re ready to go. This will use default values for\nudelay and timeout, and will work with GPIO hardware that does not\nsupport open drain mode, but allows sensing of the SDA and SCL lines\neven when they are being driven.\n\nSigned-off-by: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "b86a1bc8e39641d0c4676943b77a3486ee296db8",
      "tree": "19041f82e3322c4779845152ff00732fff60e7ff",
      "parents": [
        "7d054817b780e664bed6701b2aa637718e1905b7"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Tue May 01 23:26:34 2007 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@hyperion.delvare",
        "time": "Tue May 01 23:26:34 2007 +0200"
      },
      "message": "i2c: Restore i2c_smbus_read_block_data\n\nAdd back the i2c_smbus_read_block_data helper function, it is needed\nby the upcoming lm93 hardware monitoring driver and possibly others.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "424ed67c7dae37e8115e1bebc3261e86a624dff2",
      "tree": "5873a171f3a54109ac680de55bf5dbf139b67a23",
      "parents": [
        "7c175499822ba34ba60f32e4995fcc16c007d308"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Tue May 01 23:26:33 2007 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@hyperion.delvare",
        "time": "Tue May 01 23:26:33 2007 +0200"
      },
      "message": "i2c-algo-bit: Implement a 50/50 SCL duty cycle\n\nThe original i2c-algo-bit implementation uses a 33/66 SCL duty cycle\nwhen bits are being written on the bus. While the I2C specification\ndoesn\u0027t forbid it, this prevents us from driving the I2C bus to its\nmax speed, limiting us to 66 kbps max on standard I2C busses.\n\nImplementing a 50/50 duty cycle instead lets us max out the bandwidth\nup to the theoretical max of 100 kbps on standard I2C busses. This is\nparticularly important when large amounts of data need to be transfered\nover the bus, as is the case with some TV adapters when the firmware is\nbeing uploaded.\n\nIn fact this change even allows, at least in theory, fast-mode I2C\nsupport at 125, 166 and 250 kbps. There\u0027s no way to reach the\ntheoretical max of 400 kbps with this implementation. But I don\u0027t\nthink we want to put efforts in that direction anyway: software-driven\nI2C is very CPU-intensive and bad for latency.\n\nOther timing changes:\n* Don\u0027t set SDA high explicitly on error, we\u0027re going to issue a stop\n  condition before we leave anyway.\n* If an error occurs when sending the slave address, yield the CPU\n  before retrying, and remove the additional delay after the new start\n  condition.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "d24ecfcc3953f9c3b833508cd839be614a3f3c64",
      "tree": "9f2d66e87fa295166fad628b694858f8e318a2a7",
      "parents": [
        "6edac5803fb66f514d454d8e45595a170f04ea0e"
      ],
      "author": {
        "name": "Bryan Wu",
        "email": "bryan.wu@analog.com",
        "time": "Tue May 01 23:26:32 2007 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@hyperion.delvare",
        "time": "Tue May 01 23:26:32 2007 +0200"
      },
      "message": "i2c: Blackfin Two Wire Interface driver\n\nThe i2c linux driver for blackfin architecture which supports blackfin\non-chip TWI controller i2c operation.\n\nSigned-off-by: Bryan Wu \u003cbryan.wu@analog.com\u003e\nReviewed-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    }
  ],
  "next": "b3e820968ad47219f7d559117a30e85cf96b4e4e"
}
