)]}'
{
  "log": [
    {
      "commit": "88a420e4e21c1ff6592a668cf4e8af42eff30bad",
      "tree": "4e946ac5b187d13382d5e790404f7864b324b28e",
      "parents": [
        "e95eed571e85d7ad4cde73576296c615f305f59f"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun May 06 14:49:45 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:54 2007 -0700"
      },
      "message": "slub: add ability to list alloc / free callers per slab\n\nThis patch enables listing the callers who allocated or freed objects in a\ncache.\n\nFor example to list the allocators for kmalloc-128 do\n\ncat /sys/slab/kmalloc-128/alloc_calls\n      7 sn_io_slot_fixup+0x40/0x700\n      7 sn_io_slot_fixup+0x80/0x700\n      9 sn_bus_fixup+0xe0/0x380\n      6 param_sysfs_setup+0xf0/0x280\n    276 percpu_populate+0xf0/0x1a0\n     19 __register_chrdev_region+0x30/0x360\n      8 expand_files+0x2e0/0x6e0\n      1 sys_epoll_create+0x60/0x200\n      1 __mounts_open+0x140/0x2c0\n     65 kmem_alloc+0x110/0x280\n      3 alloc_disk_node+0xe0/0x200\n     33 as_get_io_context+0x90/0x280\n     74 kobject_kset_add_dir+0x40/0x140\n     12 pci_create_bus+0x2a0/0x5c0\n      1 acpi_ev_create_gpe_block+0x120/0x9e0\n     41 con_insert_unipair+0x100/0x1c0\n      1 uart_open+0x1c0/0xba0\n      1 dma_pool_create+0xe0/0x340\n      2 neigh_table_init_no_netlink+0x260/0x4c0\n      6 neigh_parms_alloc+0x30/0x200\n      1 netlink_kernel_create+0x130/0x320\n      5 fz_hash_alloc+0x50/0xe0\n      2 sn_common_hubdev_init+0xd0/0x6e0\n     28 kernel_param_sysfs_setup+0x30/0x180\n     72 process_zones+0x70/0x2e0\n\ncat /sys/slab/kmalloc-128/free_calls\n    558 \u003cnot-available\u003e\n      3 sn_io_slot_fixup+0x600/0x700\n     84 free_fdtable_rcu+0x120/0x260\n      2 seq_release+0x40/0x60\n      6 kmem_free+0x70/0xc0\n     24 free_as_io_context+0x20/0x200\n      1 acpi_get_object_info+0x3a0/0x3e0\n      1 acpi_add_single_object+0xcf0/0x1e40\n      2 con_release_unimap+0x80/0x140\n      1 free+0x20/0x40\n\nSLAB_STORE_USER must be enabled for a slab cache by either booting with\n\"slab_debug\" or enabling user tracking specifically for the slab of interest.\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": "e95eed571e85d7ad4cde73576296c615f305f59f",
      "tree": "6ee56b3248ccd89db45f6bd8d532005fc61cc00b",
      "parents": [
        "53e15af03be4fdaaf20802d78f141487d7272985"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun May 06 14:49:44 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:54 2007 -0700"
      },
      "message": "SLUB: Add MIN_PARTIAL\n\nWe leave a mininum of partial slabs on nodes when we search for\npartial slabs on other node. Define a constant for that value.\n\nThen modify slub to keep MIN_PARTIAL slabs around.\n\nThis avoids bad situations where a function frees the last object\nin a slab (which results in the page being returned to the page\nallocator) only to then allocate one again (which requires getting\na page back from the page allocator if the partial list was empty).\nKeeping a couple of slabs on the partial list reduces overhead.\n\nEmpty slabs are added to the end of the partial list to insure that\npartially allocated slabs are consumed first (defragmentation).\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": "53e15af03be4fdaaf20802d78f141487d7272985",
      "tree": "d930a2240a9bb28187387377a699b2bf57ea579a",
      "parents": [
        "643b113849d8faa68c9f01c3c9d929bfbffd50bd"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun May 06 14:49:43 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:54 2007 -0700"
      },
      "message": "slub: validation of slabs (metadata and guard zones)\n\nThis enables validation of slab.  Validation means that all objects are\nchecked to see if there are redzone violations, if padding has been\noverwritten or any pointers have been corrupted.  Also checks the consistency\nof slab counters.\n\nValidation enables the detection of metadata corruption without the kernel\nhaving to execute code that actually uses (allocs/frees) and object.  It\nallows one to make sure that the slab metainformation and the guard values\naround an object have not been compromised.\n\nA single slabcache can be checked by writing a 1 to the \"validate\" file.\n\ni.e.\n\necho 1 \u003e/sys/slab/kmalloc-128/validate\n\nor use the slabinfo tool to check all slabs\n\nslabinfo -v\n\nError messages will show up in the syslog.\n\nNote that validation can only reach slabs that are on a list.  This means that\nwe are usually restricted to partial slabs and active slabs unless\nSLAB_STORE_USER is active which will build a full slab list and allows\nvalidation of slabs that are fully in use.  Booting with \"slub_debug\" set will\nenable SLAB_STORE_USER and then full diagnostic are available.\n\nNote that we attempt to push cpu slabs back to the lists when we start the\ncheck.  If the cpu slab is reactivated before we get to it (another processor\ngrabs it before we get to it) then it cannot be checked.\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": "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": "77c5e2d01af871f4bfbe08feefa3d5118cb1001b",
      "tree": "434fb61e1570f0d8bab479508181e034fc6b6c45",
      "parents": [
        "b49af68ff9fc5d6e0d96704a1843968b91cc73c6"
      ],
      "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: fix object tracking\n\nObject tracking did not work the right way for several call chains. Fix this up\nby adding a new parameter to slub_alloc and slub_free that specifies the\ncaller address explicitly.\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": "30520864839dc796fd314812e7036e754880b47d",
      "tree": "52d9bcff74f2cb03b9f491a406fa0c7bb3b83eea",
      "parents": [
        "614410d5892af5f86d0ec14e28f9f6d5f4ac9e9b"
      ],
      "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": "PowerPC: Disable SLUB for configurations in which slab page structs are modified\n\nPowerPC uses the slab allocator to manage the lowest level of the page\ntable.  In high cpu configurations we also use the page struct to split the\npage table lock.  Disallow the selection of SLUB for that case.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "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": "47bfdc0d5a18a4b760ffb6a332932aaa5c0859e0",
      "tree": "721dc3790b5300bad8ca2c011e02f210d5a20bfc",
      "parents": [
        "81819f0fc8285a2a5a921c019e3e3d7b6169d225"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun May 06 14:49:37 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:53 2007 -0700"
      },
      "message": "SLUB: change default alignments\n\nStructures may contain u64 items on 32 bit platforms that are only able to\naddress 64 bit items on 64 bit boundaries.  Change the mininum alignment of\nslabs to conform to those expectations.\n\nARCH_KMALLOC_MINALIGN must be changed for good since a variety of structure\nare mixed in the general slabs.\n\nARCH_SLAB_MINALIGN is changed because currently there is no consistent\nspecification of object alignment.  We may have that in the future when the\nKMEM_CACHE and related macros are used to generate slabs.  These pass the\nalignment of the structure generated by the compiler to the slab.\n\nWith KMEM_CACHE etc we could align structures that do not contain 64\nbit values to 32 bit boundaries potentially saving some memory.\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": "543691a6cd70b606dd9bed5e77b120c5d9c5c506",
      "tree": "91d1033d6699e28393c7a2cae63727ac22db92ac",
      "parents": [
        "b5637e65ee2cecd344b1f8ff750013f697d3ae16"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@shadowen.org",
        "time": "Sun May 06 14:49:33 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:53 2007 -0700"
      },
      "message": "tty_register_driver: only allocate tty instances when defined\n\nIf device-\u003enum is zero we attempt to kmalloc() zero bytes.  When SLUB is\nenabled this returns a null pointer and take that as an allocation failure\nand fail the device register.  Check for no devices and avoid the\nallocation.\n\n[akpm: opportunistic kzalloc() conversion]\nSigned-off-by: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b5637e65ee2cecd344b1f8ff750013f697d3ae16",
      "tree": "1916269a4f89ceef3a157bd70368d84071c94a3b",
      "parents": [
        "c596d9f320aaf30d28c1d793ff3a976dee1db8f5"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun May 06 14:49:33 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:53 2007 -0700"
      },
      "message": "i386: use page allocator to allocate thread_info structure\n\ni386 uses kmalloc to allocate the threadinfo structure assuming that the\nallocations result in a page sized aligned allocation.  That has worked so\nfar because SLAB exempts page sized slabs from debugging and aligns them in\nspecial ways that goes beyond the restrictions imposed by\nKMALLOC_ARCH_MINALIGN valid for other slabs in the kmalloc array.\n\nSLUB also works fine without debugging since page sized allocations neatly\nalign at page boundaries.  However, if debugging is switched on then SLUB\nwill extend the slab with debug information.  The resulting slab is not\nlonger of page size.  It will only be aligned following the requirements\nimposed by KMALLOC_ARCH_MINALIGN.  As a result the threadinfo structure may\nnot be page aligned which makes i386 fail to boot with SLUB debug on.\n\nReplace the calls to kmalloc with calls into the page allocator.\n\nAn alternate solution may be to create a custom slab cache where the\nalignment is set to PAGE_SIZE.  That would allow slub debugging to be\napplied to the threadinfo structure.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c596d9f320aaf30d28c1d793ff3a976dee1db8f5",
      "tree": "a07a482831077ef0220467fadf77218272638ddb",
      "parents": [
        "a3a02be79114b854acc555e8ed686eb84f44ae2e"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Sun May 06 14:49:32 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:53 2007 -0700"
      },
      "message": "cpusets: allow TIF_MEMDIE threads to allocate anywhere\n\nOOM killed tasks have access to memory reserves as specified by the\nTIF_MEMDIE flag in the hopes that it will quickly exit.  If such a task has\nmemory allocations constrained by cpusets, we may encounter a deadlock if a\nblocking task cannot exit because it cannot allocate the necessary memory.\n\nWe allow tasks that have the TIF_MEMDIE flag to allocate memory anywhere,\nincluding outside its cpuset restriction, so that it can quickly die\nregardless of whether it is __GFP_HARDWALL.\n\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Christoph Lameter \u003cclameter@engr.sgi.com\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a3a02be79114b854acc555e8ed686eb84f44ae2e",
      "tree": "5d75b3766467558909213bc9d14bc90cf9dc8d62",
      "parents": [
        "3b1d92c56514987010bb0201b5c71aeb633fc4f8"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Sun May 06 14:49:31 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:53 2007 -0700"
      },
      "message": "slab: mark set_up_list3s() __init\n\nIt is only ever used prior to free_initmem().\n\n(It will cause a warning when we run the section checking, but that\u0027s a\nfalse-positive and it simply changes the source of an existing warning, which\nis also a false-positive)\n\nCc: Christoph Lameter \u003cclameter@engr.sgi.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3b1d92c56514987010bb0201b5c71aeb633fc4f8",
      "tree": "f31a72692c35eb27fc94590964ba389776c0439f",
      "parents": [
        "8da3430d8a7f885c2bf65121181d76c9d290a86e"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Sun May 06 14:49:30 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:53 2007 -0700"
      },
      "message": "Do not disable interrupts when reading min_free_kbytes\n\nThe sysctl handler for min_free_kbytes calls setup_per_zone_pages_min() on\nread or write.  This function iterates through every zone and calls\nspin_lock_irqsave() on the zone LRU lock.  When reading min_free_kbytes,\nthis is a total waste of time that disables interrupts on the local\nprocessor.  It might even be noticable machines with large numbers of zones\nif a process started constantly reading min_free_kbytes.\n\nThis patch only calls setup_per_zone_pages_min() only on write. Tested on\nan x86 laptop and it did the right thing.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Christoph Lameter \u003cclameter@engr.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": "8da3430d8a7f885c2bf65121181d76c9d290a86e",
      "tree": "7c5b181f1aaafba569f8c8b7de9cded5dfa9164c",
      "parents": [
        "6310984694c8204ad16a2414cd58808fae68e02b"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sun May 06 14:49:29 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:53 2007 -0700"
      },
      "message": "slab: NUMA kmem_cache diet\n\nSome NUMA machines have a big MAX_NUMNODES (possibly 1024), but fewer\npossible nodes.  This patch dynamically sizes the \u0027struct kmem_cache\u0027 to\nallocate only needed space.\n\nI moved nodelists[] field at the end of struct kmem_cache, and use the\nfollowing computation in kmem_cache_init()\n\ncache_cache.buffer_size \u003d offsetof(struct kmem_cache, nodelists) +\n                                 nr_node_ids * sizeof(struct kmem_list3 *);\n\nOn my two nodes x86_64 machine, kmem_cache.obj_size is now 192 instead of 704\n(This is because on x86_64, MAX_NUMNODES is 64)\n\nOn bigger NUMA setups, this might reduce the gfporder of \"cache_cache\"\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: Christoph Lameter \u003cclameter@engr.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": "6310984694c8204ad16a2414cd58808fae68e02b",
      "tree": "9579700c6b8b99e873462018cf536c00ab76dfb6",
      "parents": [
        "364fbb29a0105863d76a1f7bbc01783a4af30a75"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sun May 06 14:49:28 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:53 2007 -0700"
      },
      "message": "SLAB: don\u0027t allocate empty shared caches\n\nWe can avoid allocating empty shared caches and avoid unecessary check of\ncache-\u003elimit.  We save some memory.  We avoid bringing into CPU cache\nunecessary cache lines.\n\nAll accesses to l3-\u003eshared are already checking NULL pointers so this patch is\nsafe.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Christoph Lameter \u003cclameter@engr.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": "364fbb29a0105863d76a1f7bbc01783a4af30a75",
      "tree": "065828ff023a95daa3b60abbb166e71f10336a64",
      "parents": [
        "6ce745ed39d35f9d547d00d406db2be7c6c175b3"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sun May 06 14:49:27 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:52 2007 -0700"
      },
      "message": "SLAB: use num_possible_cpus() in enable_cpucache()\n\nThe existing comment in mm/slab.c is *perfect*, so I reproduce it :\n\n         /*\n          * CPU bound tasks (e.g. network routing) can exhibit cpu bound\n          * allocation behaviour: Most allocs on one cpu, most free operations\n          * on another cpu. For these cases, an efficient object passing between\n          * cpus is necessary. This is provided by a shared array. The array\n          * replaces Bonwick\u0027s magazine layer.\n          * On uniprocessor, it\u0027s functionally equivalent (but less efficient)\n          * to a larger limit. Thus disabled by default.\n          */\n\nAs most shiped linux kernels are now compiled with CONFIG_SMP, there is no way\na preprocessor #if can detect if the machine is UP or SMP. Better to use\nnum_possible_cpus().\n\nThis means on UP we allocate a \u0027size\u003d0 shared array\u0027, to be more efficient.\n\nAnother patch can later avoid the allocations of \u0027empty shared arrays\u0027, to\nsave some memory.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-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": "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": "f79f177c25016647cc92ffac8afa7cb96ce47011",
      "tree": "b613be041a467fd3ffaed7ad89d8694ede780dfa",
      "parents": [
        "826fad1b93fdb4ffacfd9cd860f06140e852e377"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Sun May 06 14:49:22 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:52 2007 -0700"
      },
      "message": "smaps: add pages referenced count to smaps\n\nAdds an additional unsigned long field to struct mem_size_stats called\n\u0027referenced\u0027.  For each pte walked in the smaps code, this field is\nincremented by PAGE_SIZE if it has pte-reference bits.\n\nAn additional line was added to the /proc/pid/smaps output for each VMA to\nindicate how many pages within it are currently marked as referenced or\naccessed.\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\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "826fad1b93fdb4ffacfd9cd860f06140e852e377",
      "tree": "8135bd60f839a83521d457904e4d2578203df339",
      "parents": [
        "0013572b2ae535bfd6314f22d9aef53725ea00d8"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Sun May 06 14:49:21 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:52 2007 -0700"
      },
      "message": "smaps: extract pmd walker from smaps code\n\nExtracts the pmd walker from smaps-specific code in fs/proc/task_mmu.c.\n\nThe new struct pmd_walker includes the struct vm_area_struct of the memory to\nwalk over.  Iteration begins at the vma-\u003evm_start and completes at\nvma-\u003evm_end.  A pointer to another data structure may be stored in the private\nfield such as struct mem_size_stats, which acts as the smaps accumulator.  For\neach pmd in the VMA, the action function is called with a pointer to its\nstruct vm_area_struct, a pointer to the pmd_t, its start and end addresses,\nand the private field.\n\nThe interface for walking pmd\u0027s in a VMA for fs/proc/task_mmu.c is now:\n\n\tvoid for_each_pmd(struct vm_area_struct *vma,\n\t\t\t  void (*action)(struct vm_area_struct *vma,\n\t\t\t\t\t pmd_t *pmd, unsigned long addr,\n\t\t\t\t\t unsigned long end,\n\t\t\t\t\t void *private),\n\t\t\t  void *private);\n\nSince the pmd walker is now extracted from the smaps code, smaps_one_pmd() is\ninvoked for each pmd in the VMA.  Its behavior and efficiency is identical to\nthe existing implementation.\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\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0013572b2ae535bfd6314f22d9aef53725ea00d8",
      "tree": "0c405dfe8a106099696ed9955b4405e6d7caed70",
      "parents": [
        "10a8d6ae4b3182d6588a5809a8366343bc295c20"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zach@vmware.com",
        "time": "Sun May 06 14:49:20 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:52 2007 -0700"
      },
      "message": "i386: use pte_update_defer in ptep_test_and_clear_{dirty,young}\n\nIf you actually clear the bit, you need to:\n\n+         pte_update_defer(vma-\u003evm_mm, addr, ptep);\n\nThe reason is, when updating PTEs, the hypervisor must be notified.  Using\natomic operations to do this is fine for all hypervisors I am aware of.\nHowever, for hypervisors which shadow page tables, if these PTE\nmodifications are not trapped, you need a post-modification call to fulfill\nthe update of the shadow page table.\n\nAcked-by: Zachary Amsden \u003czach@vmware.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "10a8d6ae4b3182d6588a5809a8366343bc295c20",
      "tree": "37a1d626c350df5f4a4234a0fcaf524f5755fe4a",
      "parents": [
        "9490991482a2091a828d997adbc088e24c310a4d"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Sun May 06 14:49:19 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:52 2007 -0700"
      },
      "message": "i386: add ptep_test_and_clear_{dirty,young}\n\nAdd ptep_test_and_clear_{dirty,young} to i386.  They advertise that they\nhave it and there is at least one place where it needs to be called without\nthe page table lock: to clear the accessed bit on write to\n/proc/pid/clear_refs.\n\nptep_clear_flush_{dirty,young} are updated to use the new functions.  The\noverall net effect to current users of ptep_clear_flush_{dirty,young} is\nthat we introduce an additional branch.\n\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "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": "a8127717cb24be7b8827a8d9e0ddbfde6b392146",
      "tree": "3b7d5556f127263b600bbcb44437c4c1739c000a",
      "parents": [
        "14e072984179d3d421bf9ab75cc67e0961742841"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Sun May 06 14:49:16 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:52 2007 -0700"
      },
      "message": "mm: simplify filemap_nopage\n\nIdentical block is duplicated twice: contrary to the comment, we have been\nre-reading the page *twice* in filemap_nopage rather than once.\n\nIf any retry logic or anything is needed, it belongs in lower levels anyway.\nOnly retry once.  Linus agrees.\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": "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": "411f0f3edc141a582190d3605cadd1d993abb6df",
      "tree": "d9d745beb57ffb0a987c1991635db940127421b6",
      "parents": [
        "9a82782f8f58219d0c6dc5f0211ce301adf6c6f4"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Sun May 06 14:49:09 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:51 2007 -0700"
      },
      "message": "Introduce CONFIG_HAS_DMA\n\nArchitectures that don\u0027t support DMA can say so by adding a config NO_DMA\nto their Kconfig file.  This will prevent compilation of some dma specific\ndriver code.  Also dma-mapping-broken.h isn\u0027t needed anymore on at least\ns390.  This avoids compilation and linking of otherwise dead/broken code.\n\nOther architectures that include dma-mapping-broken.h are arm26, h8300,\nm68k, m68knommu and v850.  If these could be converted as well we could get\nrid of the header file.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n\"John W. Linville\" \u003clinville@tuxdriver.com\u003e\nCc: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\nCc: \u003cJames.Bottomley@SteelEye.com\u003e\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: \u003cgeert@linux-m68k.org\u003e\nCc: \u003czippel@linux-m68k.org\u003e\nCc: \u003cspyro@f2s.com\u003e\nCc: \u003cuclinux-v850@lsi.nec.co.jp\u003e\nCc: \u003cysato@users.sourceforge.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9a82782f8f58219d0c6dc5f0211ce301adf6c6f4",
      "tree": "0caef745a8ef3f96b3e2444d00a5180669e5c469",
      "parents": [
        "3d67f2d7c0fb28b0eb6a6aa100b190526a971ad9"
      ],
      "author": {
        "name": "Joshua N Pritikin",
        "email": "jpritikin@pobox.com",
        "time": "Sun May 06 14:49:07 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:51 2007 -0700"
      },
      "message": "allow oom_adj of saintly processes\n\nIf the badness of a process is zero then oom_adj\u003e0 has no effect.  This\npatch makes sure that the oom_adj shift actually increases badness points\nappropriately.\n\nSigned-off-by: Joshua N. Pritikin \u003cjpritikin@pobox.com\u003e\nCc: Andrea Arcangeli \u003candrea@novell.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3d67f2d7c0fb28b0eb6a6aa100b190526a971ad9",
      "tree": "eea6afc9610ba15218c9f03aa6091ec687a39577",
      "parents": [
        "6fe6900e1e5b6fa9e5c59aa5061f244fe3f467e2"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Sun May 06 14:49:05 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:51 2007 -0700"
      },
      "message": "fs: buffer don\u0027t PageUptodate without page locked\n\n__block_write_full_page is calling SetPageUptodate without the page locked.\nThis is unusual, but not incorrect, as PG_writeback is still set.\n\nHowever the next patch will require that SetPageUptodate always be called with\nthe page locked.  Simply don\u0027t bother setting the page uptodate in this case\n(it is unusual that the write path does such a thing anyway).  Instead just\nleave it to the read side to bring the page uptodate when it notices that all\nbuffers are uptodate.\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": "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": "714b8171af9c930a59a0da8f6fe50518e70ab035",
      "tree": "b63f21c4efd165637c938267d7e542df18d93c99",
      "parents": [
        "5f22df00a009e3f86301366c0ecddb63ebd22af9"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sun May 06 14:49:03 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:51 2007 -0700"
      },
      "message": "slab: ensure cache_alloc_refill terminates\n\nIf slab-\u003einuse is corrupted, cache_alloc_refill can enter an infinite\nloop as detailed by Michael Richardson in the following post:\n\u003chttp://lkml.org/lkml/2007/2/16/292\u003e. This adds a BUG_ON to catch\nthose cases.\n\nCc: Michael Richardson \u003cmcr@sandelman.ca\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": "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": "1b4244647ceaad42ea6eb12899d58753d82b7727",
      "tree": "fabdd30f1484d7ccda1374fffb9231c39450efb0",
      "parents": [
        "476f35348eb8d2a827765992899fea78b7dcc46f"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun May 06 14:48:59 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:51 2007 -0700"
      },
      "message": "Use ZVC counters to establish exact size of dirtyable pages\n\nWe can use the global ZVC counters to establish the exact size of the LRU\nand the free pages.  This allows a more accurate determination of the dirty\nratio.\n\nThis patch will fix the broken ratio calculations if large amounts of\nmemory are allocated to huge pags or other consumers that do not put the\npages on to the LRU.\n\nNotes:\n- I did not add NR_SLAB_RECLAIMABLE to the calculation of the\n  dirtyable pages. Those may be reclaimable but they are at this\n  point not dirtyable. If NR_SLAB_RECLAIMABLE would be considered\n  then a huge number of reclaimable pages would stop writeback\n  from occurring.\n\n- This patch used to be in mm as the last one in a series of patches.\n  It was removed when Linus updated the treatment of highmem because\n  there was a conflict. I updated the patch to follow Linus\u0027 approach.\n  This patch is neede to fulfill the claims made in the beginning of the\n  patchset that is now in Linus\u0027 tree.\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": "476f35348eb8d2a827765992899fea78b7dcc46f",
      "tree": "81dbace9de3d4ffa3ecc67bffe265134962117bd",
      "parents": [
        "aee16b3cee2746880e40945a9b5bff4f309cfbc4"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@engr.sgi.com",
        "time": "Sun May 06 14:48:58 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:51 2007 -0700"
      },
      "message": "Safer nr_node_ids and nr_node_ids determination and initial values\n\nThe nr_cpu_ids value is currently only calculated in smp_init.  However, it\nmay be needed before (SLUB needs it on kmem_cache_init!) and other kernel\ncomponents may also want to allocate dynamically sized per cpu array before\nsmp_init.  So move the determination of possible cpus into sched_init()\nwhere we already loop over all possible cpus early in boot.\n\nAlso initialize both nr_node_ids and nr_cpu_ids with the highest value they\ncould take.  If we have accidental users before these values are determined\nthen the current valud of 0 may cause too small per cpu and per node arrays\nto be allocated.  If it is set to the maximum possible then we only waste\nsome memory for early boot users.\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": "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": "eb3a1e1145ca8f12372c7c96aa0702d86a9002a9",
      "tree": "dd643c6ff2e9c1e6b2e635c38d5abb9e1b847a36",
      "parents": [
        "1733310bb762cb926669f2c10f6f8719bb20ed91"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Sun May 06 14:48:52 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:51 2007 -0700"
      },
      "message": "Serial: serial_core, use pr_debug\n\nserial_core, use pr_debug\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.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": "1733310bb762cb926669f2c10f6f8719bb20ed91",
      "tree": "cd3568ef8b75edbe9a21cd3b1a12cbdf0c044d02",
      "parents": [
        "abb4a2390737867353ebafc012d45f2b03f3f944"
      ],
      "author": {
        "name": "Dave Jiang",
        "email": "djiang@mvista.com",
        "time": "Sun May 06 14:48:50 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:50 2007 -0700"
      },
      "message": "MPSC serial driver tx locking\n\nThe MPSC serial driver assumes that interrupt is always on to pick up the\nDMA transmit ops that aren\u0027t submitted while the DMA engine is active.\nHowever when irqs are off for a period of time such as operations under\nkernel crash dump console messages do not show up due to additional DMA ops\nare being dropped.  This makes console writes to process through all the tx\nDMAs queued up before submitting a new request.\n\nAlso, the current locking mechanism does not protect the hardware registers\nand ring buffer when a printk is done during the serial write operations.\nThe additional per port transmit lock provides a finer granular locking and\nprotects registers being clobbered while printks are nested within UART\nwrites.\n\nSigned-off-by: Dave Jiang \u003cdjiang@mvista.com\u003e\nSigned-off-by: Mark A. Greer \u003cmgreer@mvista.com\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": "6179b5562d5d17c7c09b54cb11dd925ca308d7a9",
      "tree": "2f740d0f653678557a5601c6dffed1287b9aa513",
      "parents": [
        "02c83595b86480ee4d61665beb13f76685d40239"
      ],
      "author": {
        "name": "Bernhard Walle",
        "email": "bwalle@suse.de",
        "time": "Sun May 06 14:48:44 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:50 2007 -0700"
      },
      "message": "add new_id to PCMCIA drivers\n\nPCI drivers have the new_id file in sysfs which allows new IDs to be added\nat runtime.  The advantage is to avoid re-compilation of a driver that\nworks for a new device, but it\u0027s ID table doesn\u0027t contain the new device.\nThis mechanism is only meant for testing, after the driver has been tested\nsuccessfully, the ID should be added in source code so that new revisions\nof the kernel automatically detect the device.\n\nThe implementation follows the PCI implementation. The interface is documented\nin Documentation/pcmcia/driver.txt. Computations should be done in userspace,\nso the sysfs string contains the raw structure members for matching.\n\nSigned-off-by: Bernhard Walle \u003cbwalle@suse.de\u003e\nCc: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "02c83595b86480ee4d61665beb13f76685d40239",
      "tree": "5bd0dd2352a5d9c0df260d0eaa5a84a4ea861d4c",
      "parents": [
        "fd76bab2fa6d8f3ef6b326a4c6ae442fa21d30a4"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Sun May 06 14:48:42 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:50 2007 -0700"
      },
      "message": "at91_cf, minor fix\n\nThis is a minor correctness fix: since the at91_cf driver probe() routine\nis in the init section, it should use platform_driver_probe() instead of\nleaving that pointer around in the driver struct after init section\nremoval.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: Dominik Brodowski \u003clinux@dominikbrodowski.net\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": "e3ebadd95cb621e2c7436f3d3646447ac9d5c16d",
      "tree": "510b41550cc3751cfb565e3e2ba195a68b784a03",
      "parents": [
        "15700770ef7c5d12e2f1659d2ddbeb3f658d9f37"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 08:44:24 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 08:44:24 2007 -0700"
      },
      "message": "Revert \"[PATCH] x86: __pa and __pa_symbol address space separation\"\n\nThis was broken.  It adds complexity, for no good reason.  Rather than\nseparate __pa() and __pa_symbol(), we should deprecate __pa_symbol(),\nand preferably __pa() too - and just use \"virt_to_phys()\" instead, which\nis more readable and has nicer semantics.\n\nHowever, right now, just undo the separation, and make __pa_symbol() be\nthe exact same as __pa().  That fixes the bugs this patch introduced,\nand we can do the fairly obvious cleanups later.\n\nDo the new __phys_addr() function (which is now the actual workhorse for\nthe unified __pa()/__pa_symbol()) as a real external function, that way\nall the potential issues with compile/link-time optimizations of\nconstant symbol addresses go away, and we can also, if we choose to, add\nmore sanity-checking of the argument.\n\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Vivek Goyal \u003cvgoyal@in.ibm.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: 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": "c6799ade4ae04b53a5f677e5289116155ff01574",
      "tree": "3601b5e2387e39d62c207e4268c6cc5c68f2a364",
      "parents": [
        "b7405e16435f710edfae6ba32bef4ca20d3de145",
        "5cd47155155a32e5b944ac9fc3f3dc578e429aa0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun May 06 13:20:10 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun May 06 13:20:10 2007 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of master.kernel.org:/home/rmk/linux-2.6-arm\n\n* \u0027for-linus\u0027 of master.kernel.org:/home/rmk/linux-2.6-arm: (82 commits)\n  [ARM] Add comments marking in-use ptrace numbers\n  [ARM] Move syscall saving out of the way of utrace\n  [ARM] 4360/1: S3C24XX: regs-udc.h remove unused macro\n  [ARM] 4358/1: S3C24XX: mach-qt2410.c: remove linux/mmc/protocol.h header\n  [ARM] mm 10: allow memory type to be specified with ioremap\n  [ARM] mm 9: add additional device memory types\n  [ARM] mm 8: define mem_types table L1 bit 4 to be for ARMv6\n  [ARM] iop: add missing parens in macro\n  [ARM] mm 7: remove duplicated __ioremap() prototypes\n  ARM: OMAP: fix OMAP1 mpuio suspend/resume oops\n  ARM: OMAP: MPUIO wake updates\n  ARM: OMAP: speed up gpio irq handling\n  ARM: OMAP: plat-omap changes for 2430 SDP\n  ARM: OMAP: gpio object shrinkage, cleanup\n  ARM: OMAP: /sys/kernel/debug/omap_gpio\n  ARM: OMAP: Implement workaround for GPIO wakeup bug in OMAP2420 silicon\n  ARM: OMAP: Enable 24xx GPIO autoidling\n  [ARM] 4318/2: DSM-G600 Board Support\n  [ARM] 4227/1: minor head.S fixups\n  [ARM] 4328/1: Move i.MX UART regs to driver\n  ...\n"
    },
    {
      "commit": "5cd47155155a32e5b944ac9fc3f3dc578e429aa0",
      "tree": "ea05bfdbae04eb5ffbafa2c58fc68897a3f541d6",
      "parents": [
        "6f95416ebe81b3ad63884538555efb81cb05749f",
        "28bd3a0dcce11bea6f99a351cc64053dff00196e"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@dyn-67.arm.linux.org.uk",
        "time": "Sun May 06 20:58:29 2007 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sun May 06 20:58:29 2007 +0100"
      },
      "message": "Merge branch \u0027ixp4xx\u0027 into devel\n\nConflicts:\n\n\tinclude/asm-arm/arch-ixp4xx/io.h\n"
    },
    {
      "commit": "6f95416ebe81b3ad63884538555efb81cb05749f",
      "tree": "6efca0c5050f2cc3ae4c13a931cf4e7a7afb5492",
      "parents": [
        "3603ab2b62ad8372fc93816b080b370dd55d7cec",
        "93afa75230f5969d559386e52819f54bb1182327",
        "075192ae807579448afcc0833bd349ccce057825",
        "ff4bfb2163e8914332267be3758eb28239460316",
        "ad902cb9e29a4d6ff155f682ae79d8d8b2b73a9b",
        "1b11652286a06988f721b506b094d026e8892e2c",
        "fe7fdb80e9e576e181b189d0fae62d35cb30fe4d",
        "13ea55b04eaafb60cd7df759c8d92566d1f19351",
        "fcf126d847c41461d4f034b11541296f3e15d0b2",
        "7053acbd78336abf5d4bc3d8a875a03624cfb83f",
        "5559bca8e66f968192a5416d953c88cc3389cb22",
        "d0fdb5a58e17cf788c76a52a53174dbc8fb58ee9",
        "d0a9d75b9cd9cc8097c746611cc57cc8438b94be"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@dyn-67.arm.linux.org.uk",
        "time": "Sun May 06 20:57:51 2007 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sun May 06 20:57:51 2007 +0100"
      },
      "message": "Merge branches \u0027arm-mm\u0027, \u0027at91\u0027, \u0027clkevts\u0027, \u0027imx\u0027, \u0027iop\u0027, \u0027misc\u0027, \u0027netx\u0027, \u0027ns9xxx\u0027, \u0027omap\u0027, \u0027pxa\u0027, \u0027rpc\u0027, \u0027s3c\u0027 and \u0027sa1100\u0027 into devel\n"
    },
    {
      "commit": "1b11652286a06988f721b506b094d026e8892e2c",
      "tree": "0b6e1dd48767ef8ba392d2f98bd70b52099efa8b",
      "parents": [
        "5ba6d3febd4978f31b2c523d64d381603923a709"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@dyn-67.arm.linux.org.uk",
        "time": "Sun May 06 14:49:56 2007 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sun May 06 14:49:56 2007 +0100"
      },
      "message": "[ARM] Add comments marking in-use ptrace numbers\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "5ba6d3febd4978f31b2c523d64d381603923a709",
      "tree": "74701df63fb8bcea5305681711c1a2338b7ddc69",
      "parents": [
        "40435792525c49cf126ba92d223e877acb5ce021"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@dyn-67.arm.linux.org.uk",
        "time": "Sun May 06 13:56:26 2007 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sun May 06 13:56:26 2007 +0100"
      },
      "message": "[ARM] Move syscall saving out of the way of utrace\n\nutrace removes the ptrace_message field in task_struct.  Move our use\nof this field into a new member in thread_info called \"syscall\"\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "11de39e2fbbc592018e0a231d0ee773653dcc8d6",
      "tree": "b924f942d4bb696669dbd572c4708a173953dec7",
      "parents": [
        "767e581d759fe6adfef5e676cd1cd8e11f603d1a"
      ],
      "author": {
        "name": "Marcin Garski",
        "email": "mgarski@post.pl",
        "time": "Sat May 05 22:49:00 2007 +0200"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Sun May 06 09:27:15 2007 +0200"
      },
      "message": "kconfig: fix mconf segmentation fault\n\nI have found small bug in mconf, when you run it without any argument it\nwill sigsegv.\n\nWithout patch:\n$ scripts/kconfig/mconf\nSegmentation fault\n\nWith patch:\n$ scripts/kconfig/mconf\ncan\u0027t find file (null)\n\nSigned-off-by: Marcin Garski \u003cmgarski@post.pl\u003e\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "767e581d759fe6adfef5e676cd1cd8e11f603d1a",
      "tree": "f208026e00ace8ba32cc4f9c1fc6168af329c167",
      "parents": [
        "5447d34b080a1e3e312b05a91e87eff4710a1152"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Sun May 06 09:23:45 2007 +0200"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Sun May 06 09:23:45 2007 +0200"
      },
      "message": "kbuild: enable use of code from a different dir\n\nTo introduce support for source in one directory but output files\nin another directory during a non O\u003d build prefix all paths\nwith $(src) repsectively $(obj).\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "5447d34b080a1e3e312b05a91e87eff4710a1152",
      "tree": "0e232d4f5fa7116fb48ca39ce1dc8dcbdeec0187",
      "parents": [
        "04c58f8196b386948abf68128605de3d2db3c6ba"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Sun May 06 09:20:10 2007 +0200"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Sun May 06 09:20:10 2007 +0200"
      },
      "message": "kconfig: error out if recursive dependencies are found\n\nSample:\nconfig FOO\n\tbool \"This is foo\"\n\tdepends on BAR\n\nconfig BAR\n\tbool \"This is bar\"\n\tdepends on FOO\n\nThis will result in following error message:\nerror: found recursive dependency: FOO -\u003e BAR -\u003e FOO\n\nAnd will then exit with exit code equal 1 so make will stop.\nInspired by patch from: Adrian Bunk \u003cbunk@stusta.de\u003e\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nCc: Adrian Bunk \u003cbunk@stusta.de\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\n"
    },
    {
      "commit": "b7405e16435f710edfae6ba32bef4ca20d3de145",
      "tree": "e79fd7560d8c093cb975ed61b24d009a080872c5",
      "parents": [
        "ea62ccd00fd0b6720b033adfc9984f31130ce195",
        "0ec54aa8af5e6faa346aa55a1ad15ee6c25bb42d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat May 05 15:30:53 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat May 05 15:30:53 2007 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:\n  [CIFS] Fix typo in cifs readme from previous commit\n  [CIFS] Make sec\u003dnone force an anonymous mount\n  [CIFS] Change semaphore to mutex for cifs lock_sem\n  [CIFS] Fix oops in reset_cifs_unix_caps on reconnect\n  [CIFS] UID/GID override on CIFS mounts to Samba\n  [CIFS] prefixpath mounts to servers supporting posix paths used wrong slash\n  [CIFS] Update cifs version to 1.49\n  [CIFS] Replace kmalloc/memset combination with kzalloc\n  [CIFS]  Add IPv6 support\n  [CIFS] New CIFS POSIX mkdir performance improvement (part 2)\n  [CIFS] New CIFS POSIX mkdir performance improvement\n  [CIFS] Add write perm for usr to file on windows should remove r/o dos attr\n  [CIFS] Remove unnecessary parm to cifs_reopen_file\n  [CIFS] Switch cifsd to kthread_run from kernel_thread\n  [CIFS] Remove unnecessary checks\n"
    },
    {
      "commit": "0ec54aa8af5e6faa346aa55a1ad15ee6c25bb42d",
      "tree": "5b7f295b98b2e8b15ed6968cc5a13e9e93c7576f",
      "parents": [
        "8426c39c1289765a11fc9b9523212ed368ceebd8"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sat May 05 22:08:06 2007 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sat May 05 22:08:06 2007 +0000"
      },
      "message": "[CIFS] Fix typo in cifs readme from previous commit\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\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": "886a0768affe9a32f18c45f8e1393bca9ece5392",
      "tree": "0e0b07e24e30b8ff7db668034c1d9596764bd7d1",
      "parents": [
        "989485c190cc6a64e5a21d98ef2d752df1db8c27"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat May 05 14:23:40 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat May 05 14:23:40 2007 -0700"
      },
      "message": "Fix compile of tmscsim SCSI driver\n\nIt still used the long-deprecated \"pci_module_init()\" interface, rather\nthan the proper \"pci_register_driver()\" one.\n\n[ I don\u0027t have the hardware, and I doubt many do, but the fix is\n  trivial and obvious, and can\u0027t be worse than not compiling ]\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": "4f7a307dc6e4d8bfeb56f7cf7231b08cb845687c",
      "tree": "3bf90522c87fcb32373cb2a5ff25b1ead33405f5",
      "parents": [
        "fabb5c4e4a474ff0f7d6c1d3466a1b79bbce5f49",
        "7297824581755593535fc97d2c8b6c47e2dc2db6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat May 05 13:30:44 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat May 05 13:30:44 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (87 commits)\n  [SCSI] fusion: fix domain validation loops\n  [SCSI] qla2xxx: fix regression on sparc64\n  [SCSI] modalias for scsi devices\n  [SCSI] sg: cap reserved_size values at max_sectors\n  [SCSI] BusLogic: stop using check_region\n  [SCSI] tgt: fix rdma transfer bugs\n  [SCSI] aacraid: fix aacraid not finding device\n  [SCSI] aacraid: Correct SMC products in aacraid.txt\n  [SCSI] scsi_error.c: Add EH Start Unit retry\n  [SCSI] aacraid: [Fastboot] Panics for AACRAID driver during \u0027insmod\u0027 for kexec test.\n  [SCSI] ipr: Driver version to 2.3.2\n  [SCSI] ipr: Faster sg list fetch\n  [SCSI] ipr: Return better qc_issue errors\n  [SCSI] ipr: Disrupt device error\n  [SCSI] ipr: Improve async error logging level control\n  [SCSI] ipr: PCI unblock config access fix\n  [SCSI] ipr: Fix for oops following SATA request sense\n  [SCSI] ipr: Log error for SAS dual path switch\n  [SCSI] ipr: Enable logging of debug error data for all devices\n  [SCSI] ipr: Add new PCI-E IDs to device table\n  ...\n"
    },
    {
      "commit": "fabb5c4e4a474ff0f7d6c1d3466a1b79bbce5f49",
      "tree": "c77845e116145fe4e5f172c39f4da2f87b8476ce",
      "parents": [
        "aa12b2842aba8cc367a2e1ddb5c6ae4fd8ddb1da",
        "d6444514b89098284099c17b9f168ef6236d3e8f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat May 05 13:30:23 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat May 05 13:30:23 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/voyager-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/jejb/voyager-2.6:\n  [VOYAGER] add smp alternatives\n  [VOYAGER] Use modern techniques to setup and teardown low identiy mappings.\n  [VOYAGER] Convert the monitor thread to use the kthread API\n  [VOYAGER] clockevents driver: bring voyager in to line\n  [VOYAGER] clockevents: correct boot cpu is zero assumption\n  [VOYAGER] add smp_call_function_single\n"
    },
    {
      "commit": "d0fdb5a58e17cf788c76a52a53174dbc8fb58ee9",
      "tree": "023f1d1413b345515ccb3edd2bdcfc45896fd67f",
      "parents": [
        "c4b5bd4b101a8da1fb24a072adde276547462b43"
      ],
      "author": {
        "name": "Arnaud Patard",
        "email": "arnaud.patard@rtp-net.org",
        "time": "Sat May 05 15:55:09 2007 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sat May 05 21:09:42 2007 +0100"
      },
      "message": "[ARM] 4360/1: S3C24XX: regs-udc.h remove unused macro\n\nThe S3C2410_UDC_SETIX() macro is not used and won\u0027t be used by the udc\ndriver, so delete it.\n\nSigned-off-by: Arnaud Patard \u003carnaud.patard@rtp-net.org\u003e\nSigned-off-by: Ben Dooks \u003cben-linux@fluff.org\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "c4b5bd4b101a8da1fb24a072adde276547462b43",
      "tree": "7b11c0598cb74da6cbf64d63b449ccd210a9ea06",
      "parents": [
        "56fca7cc337752e3d31e107db050f7fff2402e7d"
      ],
      "author": {
        "name": "Arnaud Patard",
        "email": "arnaud.patard@rtp-net.org",
        "time": "Sat May 05 15:12:17 2007 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sat May 05 21:09:41 2007 +0100"
      },
      "message": "[ARM] 4358/1: S3C24XX: mach-qt2410.c: remove linux/mmc/protocol.h header\n\nlinux/mmc/protocol.h header is gone, thus breaking the build of the\nmach-qt2410.c file. As this header is not used, I\u0027m removing it. The\nright headers may still be added later if needed.\n\nSigned-off-by: Arnaud Patard \u003carnaud.patard@rtp-net.org\u003e\nSigned-off-by: Ben Dooks \u003cben-linux@fluff.org\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "7544b0972c1fc1a0e6c54baa1f44c81019743daa",
      "tree": "90c8ca52ab4bb01b83c51f2c6ea91b1a6854a1a1",
      "parents": [
        "98efd8a6be79550767f5a9be6f3db8e7e9b747da"
      ],
      "author": {
        "name": "Michael Chan",
        "email": "mchan@broadcom.com",
        "time": "Sat May 05 13:08:32 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 05 13:08:32 2007 -0700"
      },
      "message": "[TG3]: Add TG3_FLAG_SUPPORT_MSI flag.\n\nAnd fix up the code to always allow MSI on 5714 A2.\n\nCall tg3_find_peer() earlier because we need that information before\nwe can determine whether we can set TG3_FLAG_SUPPORT_MSI or not.\n\nSigned-off-by: Michael Chan \u003cmchan@broadcom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aa12b2842aba8cc367a2e1ddb5c6ae4fd8ddb1da",
      "tree": "c5ed7fa2ce0ca4e9793f1b4ab79d343cf3eb3d89",
      "parents": [
        "fdb0d72be4decaade6cedb5012ddd679a4817b5f"
      ],
      "author": {
        "name": "Fabrice Aeschbacher",
        "email": "Fabrice.Aeschbacher@siemens.com",
        "time": "Sat May 05 22:03:51 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat May 05 22:03:51 2007 +0200"
      },
      "message": "ide-cs: recognize 2GB CompactFlash from Transcend\n\nWithout the following patch, the kernel does not automatically detect\n2GB CompactFlash cards from Transcend.\n\nSigned-off-by: Fabrice Aeschbacher \u003cfabrice.aeschbacher@siemens.com\u003e\nCc: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\nAcked-by: Peter Stuge \u003cpeter@stuge.se\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "fdb0d72be4decaade6cedb5012ddd679a4817b5f",
      "tree": "ab6ddc416918d584169b2e357f48d84b15e384eb",
      "parents": [
        "55e4dee32916a569112f33a511adab4bd72cc4a2"
      ],
      "author": {
        "name": "Sergei Shtylyov",
        "email": "sshtylyov@ru.mvista.com",
        "time": "Sat May 05 22:03:51 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat May 05 22:03:51 2007 +0200"
      },
      "message": "hpt366: don\u0027t check enablebits for HPT36x\n\nHPT36x chip don\u0027t seem to have the channel enable bits, so prevent the IDE core\nfrom checking them...\n\nSigned-off-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nCc: Michal Kepien \u003cmichal.kepien@poczta.onet.pl\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "55e4dee32916a569112f33a511adab4bd72cc4a2",
      "tree": "68fc27b015091656aad975fe2701efdc17480d31",
      "parents": [
        "8e60d3762f32c9573a449950717a3de12dfebbe3"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat May 05 22:03:51 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat May 05 22:03:51 2007 +0200"
      },
      "message": "ide-cris: fix -\u003espeedproc and wrong -\u003eswdma_mask\n\n* fix -\u003espeedproc to set the drive speed\n\n* this driver doesn\u0027t support SWDMA so use the correct -\u003eswdma_mask\n\n* BUG() if an unsupported mode is passed to -\u003espeedproc\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "8e60d3762f32c9573a449950717a3de12dfebbe3",
      "tree": "0b0dbaa29765a012986dcf0a5fad560d9f095188",
      "parents": [
        "0e9b4e535fec7e2a189952670937adfbe2826b63"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat May 05 22:03:51 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat May 05 22:03:51 2007 +0200"
      },
      "message": "siimage: fix wrong -\u003eswdma_mask\n\nThis driver doesn\u0027t support SWDMA so use the correct -\u003eswdma_mask.\n\nWhile at it:\n\n* no need to call config_chipset_for_pio() in config_chipset_for_dma(),\n  if DMA is not available config_chipset_for_pio() will be called\n  by siimage_config_drive_for_dma() and if DMA is available\n  config_siimage_chipset_for_pio() will be called by siimage_tune_chipset()\n\n* remove needless config_chipset_for_pio() wrapper\n\n* bump driver version\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "0e9b4e535fec7e2a189952670937adfbe2826b63",
      "tree": "2070bf76a4e1d1e5b492b7b061f57564f803b45d",
      "parents": [
        "247b03f8dc4c01659030889f7fb4574013974ac6"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat May 05 22:03:50 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat May 05 22:03:50 2007 +0200"
      },
      "message": "it821x: PIO mode setup fixes\n\n* limit max PIO mode to PIO4, this driver doesn\u0027t support PIO5 and attempt\n  to setup PIO5 by it821x_tuneproc() could result in incorrect PIO timings\n  + incorrect base clock being set for controller in the passthrough mode\n\n* move code limiting max PIO according to the pair device capabilities from\n  config_it821x_chipset_for_pio() to it821x_tuneproc() so the check is also\n  applied for mode change requests coming through -\u003etuneproc and -\u003espeedproc\n  interfaces\n\n* set device speed in it821x_tuneproc()\n\n* in it821x_tune_chipset() call it821x_tuneproc() also if the controller is\n  in the smart mode (so the check for pair device max PIO is done)\n\n* rename it821x_tuneproc() to it821x_tune_pio(), then add it821x_tuneproc()\n  wrapper which does the max PIO mode check;  it worked by the pure luck\n  previously, pio[4] and pio_want[4] arrays were used with index \u003d\u003d 255\n  so random PIO timings and base clock were set for the controller in the\n  passthrough mode, thankfully PIO timings and base clock were corrected\n  later by config_it821x_chipset_for_pio() call (but it was not called for\n  PIO-only devices during resume and for user requested PIO autotuning)\n\n* remove config_it821x_chipset_for_pio() call from config_chipset_for_dma()\n  as the driver sets -\u003eautotune to 1 and -\u003etuneproc does the proper job now\n\n* convert the last user of config_it821x_chipset_for_pio() to use\n  it821x_tuneproc(drive, 255) and remove no longer needed function\n\nWhile at it:\n\n* fix few comments\n\n* bump driver version\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "247b03f8dc4c01659030889f7fb4574013974ac6",
      "tree": "e04e6094242eb80d711a5e613b5629d50cd4fc6c",
      "parents": [
        "072cdcbb7af8a0e1894f9caa6d46d027bbe7f647"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat May 05 22:03:50 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat May 05 22:03:50 2007 +0200"
      },
      "message": "pdc202xx_new: enable DMA for all ATAPI devices\n\nThere is no reason to limit DMA to ide_cdrom type devices.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "072cdcbb7af8a0e1894f9caa6d46d027bbe7f647",
      "tree": "94b9f73bf58d7e9f454133731ae2b3f5cd03ab7b",
      "parents": [
        "826a1b6502d0d1d67fc41043fc831e90f2ef5835"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat May 05 22:03:50 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat May 05 22:03:50 2007 +0200"
      },
      "message": "alim15x3: PIO fallback fix\n\nIf DMA tuning fails always set the best PIO mode.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n\n"
    },
    {
      "commit": "826a1b6502d0d1d67fc41043fc831e90f2ef5835",
      "tree": "0b45902fcec08e2d22ed17208c079358939779ad",
      "parents": [
        "66602c83dcb6a5d82772d88ae7a32cd4a1213528"
      ],
      "author": {
        "name": "Sergei Shtylyov",
        "email": "sshtylyov@ru.mvista.com",
        "time": "Sat May 05 22:03:50 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat May 05 22:03:50 2007 +0200"
      },
      "message": "aec62xx: fix PIO/DMA setup issues\n\nTeach the driver\u0027s tuneproc() method to do PIO auto-runing properly since it\ntreated 5 instead of 255 as auto-tune request, and also passed the mode limit\nof PIO5 to ide_get_best_pio_mode() despite supporting up to PIO4 only.\n\nWhile at it, also:\n\n- remove the driver\u0027s wrong claim about supporting SWDMA modes;\n\n- stop hooking ide_dma_timeout() method as the handler clearly doesn\u0027t fit for\n  the task...\n\nSigned-off-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n\n"
    },
    {
      "commit": "66602c83dcb6a5d82772d88ae7a32cd4a1213528",
      "tree": "5a282168207c87a1ff23175df3f2e10a822fd550",
      "parents": [
        "5826b318aa02e81575c352ca26f00773c999795b"
      ],
      "author": {
        "name": "Sergei Shtylyov",
        "email": "sshtylyov@ru.mvista.com",
        "time": "Sat May 05 22:03:50 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat May 05 22:03:50 2007 +0200"
      },
      "message": "cmd64x: use interrupt status from MRDMODE register (take 2)\n\nFold the parts of the ide_dma_end() methods identical to __ide_dma_end() into a\nmere call to it.\nStart using faster versions of the ide_dma_end() and ide_dma_test_irq() methods\nfor the PCI0646U and newer chips that have the duplicate interrupt status bits\nin the I/O mapped MRDMODE register, determing what methods to use at the driver\nload time. Do some cleanup/renaming in the \"old\" ide_dma_test_irq() method too.\n\nSigned-off-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n\n"
    },
    {
      "commit": "5826b318aa02e81575c352ca26f00773c999795b",
      "tree": "013c54403474c4ee291a5668f316372cfd6646cc",
      "parents": [
        "7accbffdb8163a59c7bdd3e4eb9a391198979522"
      ],
      "author": {
        "name": "Sergei Shtylyov",
        "email": "sshtylyov@ru.mvista.com",
        "time": "Sat May 05 22:03:50 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat May 05 22:03:50 2007 +0200"
      },
      "message": "cmd64x: procfs code fixes/cleanups (take 2)\n\nFix several issues with the driver\u0027s procfs output:\n\n- when testing if channel is enabled, the code looks at the \"simplex\" bits, not\n  at the real enable bits -- add #define for the primary channel enable bit;\n\n- UltraDMA modes 0, 1, 3 for slave drive reported incorrectly due to using the\n  master drive\u0027s clock cycle resolution bit.\n\nWhile at it, also perform the following cleanups:\n\n- don\u0027t print extra newline before the first controller\u0027s dump;\n\n- correct the chipset names (from CMDxxx to PCI-xxx)\n\n- don\u0027t read from the registers which aren\u0027t used for dump;\n\n- better align the table column sizes;\n\n- rework UltraDMA mode dump code;\n\n- remove PIO mode dump code that has never been finished;\n\n- remove the duplicate interrupt status (the MRDMODE register bits mirror those\n  those in the CFR and ARTTIM23 registers) and fold the dump into single line;\n\n- correct the style of the ?: operators...\n\nSigned-off-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n\n"
    },
    {
      "commit": "7accbffdb8163a59c7bdd3e4eb9a391198979522",
      "tree": "f5752ca425f25a2be87bb84fec13488879a74cc6",
      "parents": [
        "e51e2528d589c13f0e51dfa671c310021d003e21"
      ],
      "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": "cmd64x: add/fix enablebits (take 2)\n\nThe IDE core looks at the wrong bit when checking if the secondary channel is\nenabled on PCI0646 -- CNTRL register bit 7 is read-ahead disable, bit 3 is the\ncorrect one.\nStarting with PCI0646U chip, the primary channel can also be enabled/disabled --\nso, add \u0027enablebits\u0027 initializers to each \u0027ide_pci_device_t\u0027 structure, handling\nthe original PCI0646 via adding the init_setup() method and clearing the \u0027reg\u0027\nfield there if necessary...\n\nSigned-off-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n\n"
    },
    {
      "commit": "e51e2528d589c13f0e51dfa671c310021d003e21",
      "tree": "14eccc665d5e810840a88213392f09a2faf4e42f",
      "parents": [
        "60e7a82f1acb76af05d81e93ca0f65fdd52c23c2"
      ],
      "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": "cmd64x: interrupt status fixes (take 2)\n\nThe driver\u0027s ide_dma_test_irq() method was reading the MRDMODE register even on\nPCI0643/6 where it was write-only -- fix this by always reading the \"backward-\ncompatible\" interrupt bits, renaming dma_alt_stat to irq_stat as the interrupt\nstatus bits are not coupled to DMA.\nIn addition, wrong interrupt bit was tested/cleared for the primary channel --\nit\u0027s bit 2 in all the chip specs and the driver used bit 1... :-/\n\nSigned-off-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n\n"
    },
    {
      "commit": "60e7a82f1acb76af05d81e93ca0f65fdd52c23c2",
      "tree": "be3868264f513cbb2979dc6059aa0cb525b62365",
      "parents": [
        "688a87d145e04f6761c63e7f2e19fd9b3e4ca060"
      ],
      "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": "cmd64x: fix multiword and remove single-word DMA support\n\nFix the multiword DMA and drop the single-word DMA support (which nobody will\nmiss, I think).  In order to do it, a number of changes was necessary:\n\n- rename program_drive_counts() to program_cycle_times(), pass to it cycle\u0027s\n  total/active times instead of the clock counts, and convert them into the\n  active/recovery clocks there instead of cmd64x_tune_pio() -- this causes\n  quantize_timing() to also move;\n\n- contrarywise, move all the code handling the address setup timing into\n  cmd64x_tune_pio(), so that setting MWDMA mode wouldn\u0027t change address setup;\n\n- remove from the speedproc() method the  bogus code pretending to set the DMA\n  timings by twiddling bits in the BMIDE status register, handle setting MWDMA\n  by just calling program_cycle_times(); while at it, improve the style of that\n  whole switch statement;\n\n- stop fiddling with the DMA capable bits in the speedproc() method -- they do\n  not enable DMA, and are properly dealt with by the dma_host_{on,off} methods;\n\n- don\u0027t set hwif-\u003eswdma_mask in the init_hwif() method anymore.\n\nIn addition to those changes, do the following:\n\n- in cmd64x_tune_pio(), when writing to ARTTIM23 register preserve the interrupt\n  status bit, eliminate local_irq_{save|restore}() around this code as there\u0027s\n  *no* actual race with the interrupt handler, and move cmdprintk() to a more\n  fitting place -- after ide_get_best_pio_mode() call;\n\n- make {arttim|drwtim}_regs arrays single-dimensional, indexed with drive-\u003edn;\n\n- rename {setup|recovery}_counts[] into more fitting {setup|recovery}_values[];\n\n- in  the speedproc() method, get rid of the duplicate reads/writes from/to the\n  UDIDETCRx registers and of the extra variable used to store the transfer mode\n  value after filtering,  use another method of determining master/slave drive,\n  and cleanup useless parens;\n\n- beautify cmdprintk() output here and there.\n\nWhile at it, remove meaningless comment about the driver being used only on\nUltraSPARC and long non-relevant RCS tag. :-)\n\nSigned-off-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n\n"
    },
    {
      "commit": "688a87d145e04f6761c63e7f2e19fd9b3e4ca060",
      "tree": "28aa795f2d63729fcba993d292a827a915de3138",
      "parents": [
        "e93df705af1992dbf5956a8c80fcb9987bc595c0"
      ],
      "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: DMA support code cleanup (take 4)\n\nFold the now equivalent code in the ide_dma_check() method into a mere call to\nide_use_dma().  Make config_for_dma() return non-zero if DMA mode has been set\nand call it from the ide_dma_check() method instead of ide_dma_on().\nDefer writing the DMA timings to the chip registers until DMA is really turned\non (and do not enable IORDY for DMA).\nRemove unneeded code from the init_hwif() method, improve its overall looks.\nRename the dma_start(), ide_dma_check(), and ide_dma_lostirq() methods, and\nalso use more proper hwif-\u003edma_command, fix printk() and comment in the latter\none as well.  While at it, cleanup style in several places.\n\nSigned-off-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\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": "3603ab2b62ad8372fc93816b080b370dd55d7cec",
      "tree": "e9012ae43fe5988c288074ee12fc4a0fc2f6b63a",
      "parents": [
        "0af92befeb4b330c46cce6b520b2cc775cd6931f"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@dyn-67.arm.linux.org.uk",
        "time": "Sat May 05 20:59:27 2007 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sat May 05 20:59:27 2007 +0100"
      },
      "message": "[ARM] mm 10: allow memory type to be specified with ioremap\n\n__ioremap() took a set of page table flags (specifically the cacheable\nand bufferable bits) to control the mapping type.  However, with\nthe advent of ARMv6, this is far too limited.\n\nReplace the page table flags with a memory type index, so that the\ndesired attributes can be selected from the mem_type table.\n\nFinally, to prevent silent miscompilation due to the differing\narguments, rename the __ioremap() and __ioremap_pfn() functions.\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "98efd8a6be79550767f5a9be6f3db8e7e9b747da",
      "tree": "c2117eb3b6099333594245d81a8d192912f18706",
      "parents": [
        "5cf64b8a7399999439f0d6748babb1ccb6bcad7c"
      ],
      "author": {
        "name": "Matt Carlson",
        "email": "mcarlson@broadcom.com",
        "time": "Sat May 05 12:47:25 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 05 12:47:25 2007 -0700"
      },
      "message": "[TG3]: Eliminate the TG3_FLAG_5701_REG_WRITE_BUG flag.\n\nThis patch removes the use of the TG3_FLAG_5701_REG_WRITE_BUG flag.\nIt\u0027s logic is only used to set a function pointer and thus the\nlogic can be collapsed and the flag removed.\n\n[ Comment tidy by Christoph Hellwig. -DaveM ]\n\nSigned-off-by: Matt Carlson \u003cmcarlson@broadcom.com\u003e\nSigned-off-by: Michael Chan \u003cmchan@broadcom.com\u003e\n"
    },
    {
      "commit": "0af92befeb4b330c46cce6b520b2cc775cd6931f",
      "tree": "d771f3f4812f9710c3d93caad3fbf31d5c83946f",
      "parents": [
        "9ef7963503abd3287943125681c2dc17879e8d4e"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@dyn-67.arm.linux.org.uk",
        "time": "Sat May 05 20:28:16 2007 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sat May 05 20:28:16 2007 +0100"
      },
      "message": "[ARM] mm 9: add additional device memory types\n\nAdd cached device type for ioremap_cached().  Group all device memory\ntypes together, and ensure that they all have a \"MT_DEVICE\" prefix.\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "5cf64b8a7399999439f0d6748babb1ccb6bcad7c",
      "tree": "6357ac40ddf95f171ed8c5f9bdae2ad8755981f1",
      "parents": [
        "986e0aeb9ae09127b401c3baa66f15b7a31f354c"
      ],
      "author": {
        "name": "Michael Chan",
        "email": "mchan@broadcom.com",
        "time": "Sat May 05 12:11:21 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 05 12:11:21 2007 -0700"
      },
      "message": "[TG3]: Eliminate the TG3_FLAG_GOT_SERDES_FLOWCTL flag.\n\nThis flag does not do anything useful.\n\nSigned-off-by: Michael Chan \u003cmchan@broadcom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "986e0aeb9ae09127b401c3baa66f15b7a31f354c",
      "tree": "b2be088a6831cdc65668cf6788e39b91ca36291b",
      "parents": [
        "a85feb8cfc53c08b6f0d770f930ca9cc6885f414"
      ],
      "author": {
        "name": "Michael Chan",
        "email": "mchan@broadcom.com",
        "time": "Sat May 05 12:10:20 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 05 12:10:20 2007 -0700"
      },
      "message": "[TG3]: Remove reset during MAC address changes.\n\nThe reset was added a while back so that ASF could re-init whatever\nMAC address it wanted to use after the MAC address was changed.\nInstead of resetting, we can just keep MAC address 1 unchanged during\nMAC address changes if MAC address 1 is different from MAC address 0.\n\nThis fixes 2 problems:\n\n1. Bonding calls set_mac_address in contexts that cannot sleep.\nIt no longer sleeps with the chip reset removed.\n\n2. When ASF shares the same MAC address as the NIC, it needs to\nalways do that even when the MAC address is changed. \n\nSigned-off-by: Michael Chan \u003cmchan@broadcom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9ef7963503abd3287943125681c2dc17879e8d4e",
      "tree": "21fc04bda77ea16d3f54c52d265f924ad954f8f9",
      "parents": [
        "0058ca32c3004547ede575668a2be31862b92000"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@dyn-67.arm.linux.org.uk",
        "time": "Sat May 05 20:03:35 2007 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sat May 05 20:03:35 2007 +0100"
      },
      "message": "[ARM] mm 8: define mem_types table L1 bit 4 to be for ARMv6\n\nChange the memory types table to define the L1 descriptor bit 4 to\nbe in terms of the ARMv6 definition - execute never.\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "a85feb8cfc53c08b6f0d770f930ca9cc6885f414",
      "tree": "f5806132fb6e60fd7c68a281680e5f05014d5933",
      "parents": [
        "aaf84465fc994e9a840a8c0c6fa842b54cdb3426"
      ],
      "author": {
        "name": "Gary Zambrano",
        "email": "zambrano@broadcom.com",
        "time": "Sat May 05 11:52:19 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 05 11:52:19 2007 -0700"
      },
      "message": "[TG3]: WoL fixes.\n\nChange TG3_FLAG_SERDES_WOL_CAP to TG3_FLAG_WOL_CAP to make it easier\nto manage WoL.  This flag is now used consistently during ethtool WoL\nsetup and power setting changes.\n\nSigned-off-by: Gary Zambrano \u003czambrano@broadcom.com\u003e\nSigned-off-by: Michael Chan \u003cmchan@broadcom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aaf84465fc994e9a840a8c0c6fa842b54cdb3426",
      "tree": "a764093806574e4e0416b5ee775d096bc9cf7f13",
      "parents": [
        "989a9d239c5b9ae6053aed6e3819304930baf27d"
      ],
      "author": {
        "name": "Gary Zambrano",
        "email": "zambrano@broadcom.com",
        "time": "Sat May 05 11:51:45 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 05 11:51:45 2007 -0700"
      },
      "message": "[TG3]: Clear GPIO mask before storing.\n\nThe GPIO settings may change during reset and so the stored values in\ntp-\u003egrc_local_ctrl should be cleared first.\n\nSigned-off-by: Gary Zambrano \u003czambrano@broadcom.com\u003e\nSigned-off-by: Michael Chan \u003cmchan@broadcom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "989a9d239c5b9ae6053aed6e3819304930baf27d",
      "tree": "d7f14420cea59d0f27ec93ea83191b4ce5ec8a48",
      "parents": [
        "c13e3713857d5ea572cd67f3d5749100b1963ad2"
      ],
      "author": {
        "name": "Matt Carlson",
        "email": "mcarlson@broadcom.com",
        "time": "Sat May 05 11:51:05 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 05 11:51:05 2007 -0700"
      },
      "message": "[TG3]: Improve NVRAM sizing.\n\nThis patch changes the NVRAM sizing procedure so that the driver can\ntake advantage of devices with 1:1 NVRAM strapping configurations.  This\nis useful in cases where the traditional NVRAM sizing method fails.  In\nthe event that the flash size cannot be determined, the largest known\nNVRAM size is used.  The patch also removes support for 5755 NVRAM\ndevices that are not supported by Broadcom and adds explicit sizing for\nthis device.\n\nSigned-off-by: Matt Carlson \u003cmcarlson@broadcom.com\u003e\nSigned-off-by: Michael Chan \u003cmchan@broadcom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c13e3713857d5ea572cd67f3d5749100b1963ad2",
      "tree": "99484a1ac84b083a58a60e9bcb3dcbeda44a6988",
      "parents": [
        "64a327a7029d3860ddf6a024816afa9e6673eb57"
      ],
      "author": {
        "name": "Matt Carlson",
        "email": "mcarlson@broadcom.com",
        "time": "Sat May 05 11:50:04 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 05 11:50:04 2007 -0700"
      },
      "message": "[TG3]: Fix TSO bugs.\n\n1. Remove the check for skb-\u003elen greater than MTU when doing TSO.\nWhen the destination has a smaller MSS than the source, a TSO packet\nmay be smaller than the MTU and we still need to process it as a TSO\npacket.\n\n2. On 5705A3 devices with TSO enabled, the DMA engine can hang due to a\nhardware bug.  This patch avoids the hanging condition by reducing the\nDMA burst size.\n\nSigned-off-by: Matt Carlson \u003cmcarlson@broadcom.com\u003e\nSigned-off-by: Michael Chan \u003cmchan@broadcom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "64a327a7029d3860ddf6a024816afa9e6673eb57",
      "tree": "62b117ef8b6030486a482c44f0d3f393357f2f5c",
      "parents": [
        "e9f207f0ff90bf60b825800d7450e6f2ff2eab88"
      ],
      "author": {
        "name": "Jiri Benc",
        "email": "jbenc@suse.cz",
        "time": "Sat May 05 11:47:08 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 05 11:47:08 2007 -0700"
      },
      "message": "[MAC80211]: Add maintainers entry for mac80211.\n\nAdd MAINTAINERS entry for mac80211.\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": "e9f207f0ff90bf60b825800d7450e6f2ff2eab88",
      "tree": "22bd39116f2cae8d4ce6169eb91e4b9a7204770f",
      "parents": [
        "f0706e828e96d0fa4e80c0d25aa98523f6d589a0"
      ],
      "author": {
        "name": "Jiri Benc",
        "email": "jbenc@suse.cz",
        "time": "Sat May 05 11:46:38 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 05 11:46:38 2007 -0700"
      },
      "message": "[MAC80211]: Add debugfs attributes.\n\nExport various mac80211 internal variables through debugfs.\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": "f0706e828e96d0fa4e80c0d25aa98523f6d589a0",
      "tree": "a03c7f94939d74c1e1b82fcd9a215871590d8b35",
      "parents": [
        "a9de8ce0943e03b425be18561f51159fcceb873d"
      ],
      "author": {
        "name": "Jiri Benc",
        "email": "jbenc@suse.cz",
        "time": "Sat May 05 11:45:53 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 05 11:45:53 2007 -0700"
      },
      "message": "[MAC80211]: Add mac80211 wireless stack.\n\nAdd mac80211, the IEEE 802.11 software MAC layer.\n\nSigned-off-by: Jiri Benc \u003cjbenc@suse.cz\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.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"
    }
  ],
  "next": "cf130cb102487723bdfc53e4abde1227a7563797"
}
