)]}'
{
  "log": [
    {
      "commit": "ec7748b59e214e2c6b7d21ca5f26a760fd6e142b",
      "tree": "155d6d9f418b4baac9bee0cc4f6a70ab080ba183",
      "parents": [
        "d75f4c683f817ef61c9ae634886e7ebc3133c002"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Sat Feb 09 10:46:40 2008 +0100"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Sat Feb 09 10:46:40 2008 +0100"
      },
      "message": "ide: introduce HAVE_IDE\n\nTo allow flexible configuration of IDE introduce HAVE_IDE.\nAll archs except arm, um and s390 unconditionally select it.\nFor arm the actual configuration determine if IDE is supported.\n\nThis is a step towards introducing drivers/Kconfig for arm.\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nAcked-by: Russell King - ARM Linux \u003clinux@arm.linux.org.uk\u003e\nAcked-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "bdc807871d58285737d50dc6163d0feb72cb0dc2",
      "tree": "1a6d35f3537ed1a7460811549efd045ae97a0e6e",
      "parents": [
        "7ef3d2fd17c377ef64a2aa19677d17576606c3b4"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Fri Feb 08 04:21:26 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:39 2008 -0800"
      },
      "message": "avoid overflows in kernel/time.c\n\nWhen the conversion factor between jiffies and milli- or microseconds is\nnot a single multiply or divide, as for the case of HZ \u003d\u003d 300, we currently\ndo a multiply followed by a divide.  The intervening result, however, is\nsubject to overflows, especially since the fraction is not simplified (for\nHZ \u003d\u003d 300, we multiply by 300 and divide by 1000).\n\nThis is exposed to the user when passing a large timeout to poll(), for\nexample.\n\nThis patch replaces the multiply-divide with a reciprocal multiplication on\n32-bit platforms.  When the input is an unsigned long, there is no portable\nway to do this on 64-bit platforms there is no portable way to do this\nsince it requires a 128-bit intermediate result (which gcc does support on\n64-bit platforms but may generate libgcc calls, e.g.  on 64-bit s390), but\nsince the output is a 32-bit integer in the cases affected, just simplify\nthe multiply-divide (*3/10 instead of *300/1000).\n\nThe reciprocal multiply used can have off-by-one errors in the upper half\nof the valid output range.  This could be avoided at the expense of having\nto deal with a potential 65-bit intermediate result.  Since the intent is\nto avoid overflow problems and most of the other time conversions are only\nsemiexact, the off-by-one errors were considered an acceptable tradeoff.\n\nAt Ralf Baechle\u0027s suggestion, this version uses a Perl script to compute\nthe necessary constants.  We already have dependencies on Perl for kernel\ncompiles.  This does, however, require the Perl module Math::BigInt, which\nis included in the standard Perl distribution starting with version 5.8.0.\nIn order to support older versions of Perl, include a table of canned\nconstants in the script itself, and structure the script so that\nMath::BigInt isn\u0027t required if pulling values from said table.\n\nRunning the script requires that the HZ value is available from the\nMakefile.  Thus, this patch also adds the Kconfig variable CONFIG_HZ to the\narchitectures which didn\u0027t already have it (alpha, cris, frv, h8300, m32r,\nm68k, m68knommu, sparc, v850, and xtensa.) It does *not* touch the sh or\nsh64 architectures, since Paul Mundt has dealt with those separately in the\nsh tree.\n\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e,\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e,\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e,\nCc: Richard Henderson \u003crth@twiddle.net\u003e,\nCc: Michael Starvik \u003cstarvik@axis.com\u003e,\nCc: David Howells \u003cdhowells@redhat.com\u003e,\nCc: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e,\nCc: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e,\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e,\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e,\nCc: William L. Irwin \u003csparclinux@vger.kernel.org\u003e,\nCc: Chris Zankel \u003cchris@zankel.net\u003e,\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e,\nCc: Jan Engelhardt \u003cjengelh@computergmbh.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7038220aa511131f348018b85df172a21476fef9",
      "tree": "5db462fef58448349701c1b9db4e4bf93dc848ad",
      "parents": [
        "e114e473771c848c3cfec05f0123e70f1cdbdc99"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Mon Feb 04 22:29:53 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:20 2008 -0800"
      },
      "message": "FRV: permit the memory to be located elsewhere in NOMMU mode\n\nPermit the memory to be located somewhere other than address 0xC0000000 in\nNOMMU mode.  The configuration options are already present, it just\nrequires wiring up in the linker script.\n\nNote that only a limited set of locations of runtime addresses are available\nbecause of the way the CPU protection registers work.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f5bb3a5e9dcdb8435471562b6cada89525cf4df1",
      "tree": "7b7cf9b90bacd0e2fe07cb3387516e9243f1ab66",
      "parents": [
        "9853832c49dc1685587abeb4e1decd4be690d256",
        "1560a79a2c2ea0c3826150da8029991d685de990"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 04 07:58:52 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 04 07:58:52 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial: (79 commits)\n  Jesper Juhl is the new trivial patches maintainer\n  Documentation: mention email-clients.txt in SubmittingPatches\n  fs/binfmt_elf.c: spello fix\n  do_invalidatepage() comment typo fix\n  Documentation/filesystems/porting fixes\n  typo fixes in net/core/net_namespace.c\n  typo fix in net/rfkill/rfkill.c\n  typo fixes in net/sctp/sm_statefuns.c\n  lib/: Spelling fixes\n  kernel/: Spelling fixes\n  include/scsi/: Spelling fixes\n  include/linux/: Spelling fixes\n  include/asm-m68knommu/: Spelling fixes\n  include/asm-frv/: Spelling fixes\n  fs/: Spelling fixes\n  drivers/watchdog/: Spelling fixes\n  drivers/video/: Spelling fixes\n  drivers/ssb/: Spelling fixes\n  drivers/serial/: Spelling fixes\n  drivers/scsi/: Spelling fixes\n  ...\n"
    },
    {
      "commit": "0868ff7a4215f9244037b63a2952761cbe196a07",
      "tree": "b98be929b6972a03c550166eea0ea17afc926058",
      "parents": [
        "03502faa259bce35317a32afe79b7c69f507e14a"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Sun Feb 03 15:54:28 2008 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Sun Feb 03 15:54:28 2008 +0200"
      },
      "message": "move frv docs one level up\n\nMy first guess for \"fujitsu\" was it might be related to the\nfujitsu-laptop.c driver...\n\nMove the frv directory one level up since frv is the name of the\narchitecture in the Linux kernel.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\n"
    },
    {
      "commit": "125e564582cbce6219397fc64556438420efae4c",
      "tree": "501bb3cdb3f17bfbe3b9a43bd89b48ac801a1e38",
      "parents": [
        "3f550096dede4430f83b16457da83bf429155ac2"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Sat Feb 02 15:10:36 2008 -0500"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Sun Feb 03 08:58:08 2008 +0100"
      },
      "message": "Move Kconfig.instrumentation to arch/Kconfig and init/Kconfig\n\nMove the instrumentation Kconfig to\n\narch/Kconfig for architecture dependent options\n  - oprofile\n  - kprobes\n\nand\n\ninit/Kconfig for architecture independent options\n  - profiling\n  - markers\n\nRemove the \"Instrumentation Support\" menu. Everything moves to \"General setup\".\nDelete the kernel/Kconfig.instrumentation file.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "687fcdf741e4a268c2c7bac8b3734de761bb9719",
      "tree": "82603cd0f892b13d4252cc525ecaec99bb86c0cd",
      "parents": [
        "215e871aaa3d94540121a3809d80d0c5e5686e4f",
        "a6eb84bc1e069e1d285167e09035ed6c27978feb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 02 14:29:57 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 02 14:29:57 2008 +1100"
      },
      "message": "Merge branch \u0027suspend\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6\n\n* \u0027suspend\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (38 commits)\n  suspend: cleanup reference to swsusp_pg_dir[]\n  PM: Remove obsolete /sys/devices/.../power/state docs\n  Hibernation: Invoke suspend notifications after console switch\n  Suspend: Invoke suspend notifications after console switch\n  Suspend: Clean up suspend_64.c\n  Suspend: Add config option to disable the freezer if architecture wants that\n  ACPI: Print message before calling _PTS\n  ACPI hibernation: Call _PTS before suspending devices\n  Hibernation: Introduce begin() and end() callbacks\n  ACPI suspend: Call _PTS before suspending devices\n  ACPI: Separate disabling of GPEs from _PTS\n  ACPI: Separate invocations of _GTS and _BFS from _PTS and _WAK\n  Suspend: Introduce begin() and end() callbacks\n  suspend: fix ia64 allmodconfig build\n  ACPI: clear GPE earily in resume to avoid warning\n  Suspend: Clean up Kconfig (V2)\n  Hibernation: Clean up Kconfig (V2)\n  Hibernation: Update messages\n  Suspend: Use common prefix in messages\n  Hibernation: Remove unnecessary variable declaration\n  ...\n"
    },
    {
      "commit": "f4cb57007662a4ec3c2de3c027900223e0299bdd",
      "tree": "ec0c277f3cae26594714c458ad40b1e0e5aca484",
      "parents": [
        "801e4062fda6496fe9bee3e6915a2aa108f974e5"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sat Dec 08 02:14:00 2007 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:55 2008 -0500"
      },
      "message": "Suspend: Clean up Kconfig (V2)\n\nThis cleans up the suspend Kconfig and removes the need to\ndeclare centrally which architectures support suspend. All\narchitectures that currently support suspend are modified\naccordingly.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Russell King \u003crmk@arm.linux.org.uk\u003e\nAcked-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nAcked-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "8f0e7d240554f71577e380783feeb264a90944c9",
      "tree": "03cb94fc6a3e5bed7b0c5347d45c0aa32d9c563a",
      "parents": [
        "6a9e7f203187e22e96588fa0156b2652841196bf"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Thu Dec 13 19:45:17 2007 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Feb 01 15:04:26 2008 -0800"
      },
      "message": "PCI: Kconfig help: don\u0027t refer to the PCI-HOWTO\n\nA HOWTO that hasn\u0027t been updated for half a dozen years no longer\n\"contains valuable information about which PCI hardware does work under\nLinux and which doesn\u0027t\".\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "09cadedbdc01f1a4bea1f427d4fb4642eaa19da9",
      "tree": "988da227d46be7eb239a37676b9140d325dc4335",
      "parents": [
        "1c3f0b8e07de78a86f2dce911f5e245845ce40a8"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Oct 18 23:41:05 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:54 2007 -0700"
      },
      "message": "Combine instrumentation menus in kernel/Kconfig.instrumentation\n\nQuoting Randy:\n\n\"It seems sad that this patch sources Kconfig.marker, a 7-line file,\n20-something times.  Yes, you (we) don\u0027t want to put those 7 lines into\n20-something different files, so sourcing is the right thing.\n\nHowever, what you did for avr32 seems more on the right track to me: make\n_one_ Instrumentation support menu that includes PROFILING, OPROFILE, KPROBES,\nand MARKERS and then use (source) that in all of the arches.\"\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0aa817f078b655d0ae36669169d73a5c8a388016",
      "tree": "140acc4d0dc992b4d20394f6a6412a7c1bb3a306",
      "parents": [
        "3ec0974210fe1b7c0618ad6e39a882a4237d7de2"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed May 16 22:11:01 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 17 05:23:04 2007 -0700"
      },
      "message": "Slab allocators: define common size limitations\n\nCurrently we have a maze of configuration variables that determine the\nmaximum slab size.  Worst of all it seems to vary between SLAB and SLUB.\n\nSo define a common maximum size for kmalloc.  For conveniences sake we use\nthe maximum size ever supported which is 32 MB.  We limit the maximum size\nto a lower limit if MAX_ORDER does not allow such large allocations.\n\nFor many architectures this patch will have the effect of adding large\nkmalloc sizes.  x86_64 adds 5 new kmalloc sizes.  So a small amount of\nmemory will be needed for these caches (contemporary SLAB has dynamically\nsizeable node and cpu structure so the waste is less than in the past)\n\nMost architectures will then be able to allocate object with sizes up to\nMAX_ORDER.  We have had repeated breakage (in fact whenever we doubled the\nnumber of supported processors) on IA64 because one or the other struct\ngrew beyond what the slab allocators supported.  This will avoid future\nissues and f.e.  avoid fixes for 2k and 4k cpu support.\n\nCONFIG_LARGE_ALLOCS is no longer necessary so drop it.\n\nIt fixes sparc64 with SLAB.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8defab33774a5c33920196a2ee9c0a946d22ba67",
      "tree": "6924e361156f6420c8c42aa614998e565096c6aa",
      "parents": [
        "34013886ef47ea72e412beb04558431b57a68d51"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed May 09 02:32:48 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:46 2007 -0700"
      },
      "message": "FRV: Replace pgd management via slabs through quicklists\n\nThis is done in order to be able to run SLUB which expects no modifications\nto its page structs.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "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": "66701b1499a3ff11882c8c4aef36e8eac86e17b1",
      "tree": "7900ced6b590c3cd939bcdc92355ff0a14f856e3",
      "parents": [
        "6267276f3fdda9ad0d5ca451bdcbdf42b802d64b"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sat Feb 10 01:43:09 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:18 2007 -0800"
      },
      "message": "[PATCH] optional ZONE_DMA: introduce CONFIG_ZONE_DMA\n\nThis patch simply defines CONFIG_ZONE_DMA for all arches.  We later do special\nthings with CONFIG_ZONE_DMA after the VM and an arch are prepared to work\nwithout ZONE_DMA.\n\nCONFIG_ZONE_DMA can be defined in two ways depending on how an architecture\nhandles ISA DMA.\n\nFirst if CONFIG_GENERIC_ISA_DMA is set by the arch then we know that the arch\nneeds ZONE_DMA because ISA DMA devices are supported.  We can catch this in\nmm/Kconfig and do not need to modify arch code.\n\nSecond, arches may use ZONE_DMA in an unknown way.  We set CONFIG_ZONE_DMA for\nall arches that do not set CONFIG_GENERIC_ISA_DMA in order to insure backwards\ncompatibility.  The arches may later undefine ZONE_DMA if their arch code has\nbeen verified to not depend on ZONE_DMA.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Matthew Wilcox \u003cwilly@debian.org\u003e\nCc: James Bottomley \u003cJames.Bottomley@steeleye.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f0d1b0b30d250a07627ad8b9fbbb5c7cc08422e8",
      "tree": "0aa5379150574374351fb92af7881a48dbfcf2ce",
      "parents": [
        "b3d7ae5f47a58a9f7b152deeaf7daa1fc558a8f1"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Dec 08 02:37:49 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:51 2006 -0800"
      },
      "message": "[PATCH] LOG2: Implement a general integer log2 facility in the kernel\n\nThis facility provides three entry points:\n\n\tilog2()\t\tLog base 2 of unsigned long\n\tilog2_u32()\tLog base 2 of u32\n\tilog2_u64()\tLog base 2 of u64\n\nThese facilities can either be used inside functions on dynamic data:\n\n\tint do_something(long q)\n\t{\n\t\t...;\n\t\ty \u003d ilog2(x)\n\t\t...;\n\t}\n\nOr can be used to statically initialise global variables with constant values:\n\n\tunsigned n \u003d ilog2(27);\n\nWhen performing static initialisation, the compiler will report \"error:\ninitializer element is not constant\" if asked to take a log of zero or of\nsomething not reducible to a constant.  They treat negative numbers as\nunsigned.\n\nWhen not dealing with a constant, they fall back to using fls() which permits\nthem to use arch-specific log calculation instructions - such as BSR on\nx86/x86_64 or SCAN on FRV - if available.\n\n[akpm@osdl.org: MMC fix]\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Wojtek Kaniewski \u003cwojtekka@toxygen.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "339b0c0813a257893fa84be999b9b85a50846dd8",
      "tree": "572d37248fc56d8a364540621375bf7447b248cf",
      "parents": [
        "afefdbb28a0a2af689926c30b94a14aea6036719"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Oct 03 01:13:47 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 03 08:03:40 2006 -0700"
      },
      "message": "[PATCH] FRV: Permit large kmalloc allocations [try #2]\n\nPermit kmalloc() to make allocations of up to 32MB if so configured.  This\nmay be useful under NOMMU conditions where vmalloc() can\u0027t do this.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "af8c65b57aaa4ae321af34dbfc5ca7f5625263fe",
      "tree": "404b7054e52f8cd0a4347649cae8b5ab82fec357",
      "parents": [
        "88d6e19900366781739df033e9c0e2532e715fa5"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Mon Sep 25 23:32:07 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:48:53 2006 -0700"
      },
      "message": "[PATCH] FRV: permit __do_IRQ() to be dispensed with\n\nPermit __do_IRQ() to be dispensed with based on a configuration option.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1bcbba306048ed86b935d57a95d887c23d52c94b",
      "tree": "4c6e20b162415c79a177b72b97b6fb4d246a73b0",
      "parents": [
        "8d6b5eeea5eb644232cbbbe1c927fdf051e60fa5"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Mon Sep 25 23:32:04 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:48:53 2006 -0700"
      },
      "message": "[PATCH] FRV: Use the generic IRQ stuff\n\nMake the FRV arch use the generic IRQ code rather than having its own\nroutines for doing so.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ebd6c17109aed086908ae3b0949265fd07712659",
      "tree": "7a1af4b2ac8b6ce062206d0e967272d2ae457ff6",
      "parents": [
        "b4a228346c1a7d09f565e750d2e988c5671e9fa3"
      ],
      "author": {
        "name": "john stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Wed Sep 06 11:02:45 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 06 11:00:02 2006 -0700"
      },
      "message": "[PATCH] FRV: Use the generic time stuff for FRV\n\nUse the generic time stuff for FRV.\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1f6d7a93c141a473e2cff428a3dbf13b4bec9325",
      "tree": "b614d718704e459450f007745b252d442b775327",
      "parents": [
        "e9f26df17266a8bd327957bd1a5957a263bd7112"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "mita@miraclelinux.com",
        "time": "Sun Mar 26 01:39:22 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:57:12 2006 -0800"
      },
      "message": "[PATCH] bitops: frv: use generic bitops\n\n- remove ffz()\n- remove find_{next,first}{,_zero}_bit()\n- remove generic_ffs()\n- remove __ffs()\n- remove generic_fls64()\n- remove sched_find_first_bit()\n- remove generic_hweight{32,16,8}()\n- remove ext2_{set,clear,test,find_first_zero,find_next_zero}_bit()\n- remove minix_{test,set,test_and_clear,test,find_first_zero}_bit()\n\nSigned-off-by: Akinobu Mita \u003cmita@miraclelinux.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "06027bdd278a32a84b273e41db68a5db8ffd2bb6",
      "tree": "d22c98848c3964104fc5c617da60c14af5b4a1f0",
      "parents": [
        "e35a6619e7be59aa38249346327c89207663bb37"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 14 13:53:15 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Feb 14 16:09:35 2006 -0800"
      },
      "message": "[PATCH] hrtimer: round up relative start time on low-res arches\n\nCONFIG_TIME_LOW_RES is a temporary way for architectures to signal that\nthey simply return xtime in do_gettimeoffset().  In this corner-case we\nwant to round up by resolution when starting a relative timer, to avoid\nshort timeouts.  This will go away with the GTOD framework.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2308acca656c3625c46b671b348fb04b6b006cad",
      "tree": "10dff065667d56f680315dfeb93c506aa65e101b",
      "parents": [
        "1306a482288152ea0ac091c7a8471adc5569e6c8"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Mon Jan 09 20:51:26 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jan 10 08:01:23 2006 -0800"
      },
      "message": "[PATCH] \"tiny-make-id16-support-optional\" fixes\n\nIt seems the \"make UID16 support optional\" patch was checked when it\nedited the -tiny tree some time ago, but it wasn\u0027t checked whether it\nstill matches the current situation when it was submitted for inclusion\nin -mm. This patch fixes the following bugs:\n- ARCH_S390X does no longer exist, nowadays this has to be expressed\n  through (S390 \u0026\u0026 64BIT)\n- in five architecture specific Kconfig files the UID16 options\n  weren\u0027t removed\n\nAdditionally, it changes the fragile negative dependencies of UID16 to\npositive dependencies (new architectures are more likely to not require\nUID16 support).\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f8aec7573b87d2bc09cafab459476953353d2efa",
      "tree": "d2d988ebed735c059242181e54d3407b37dae93f",
      "parents": [
        "7a758313905f8b085b4591e8838626274e88b969"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Sun Jan 08 01:01:23 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:38 2006 -0800"
      },
      "message": "[PATCH] frv: force serial driver inclusion\n\nForce the 8230 serial driver to be built in if the on-CPU UARTs are to be\nused.  It can\u0027t be used as a module because the arch setup needs to call into\nit.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7a758313905f8b085b4591e8838626274e88b969",
      "tree": "168dec8dfc40a5c01fe2d9ad3920e1f7f6238fee",
      "parents": [
        "a2a88f88782e8815cafa22f2b9e22234b9a61d0a"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Sun Jan 08 01:01:22 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:37 2006 -0800"
      },
      "message": "[PATCH] frv: fix PCMCIA configuration\n\nFix PCMCIA configuration for FRV by including the stock PCMCIA configuration\ndescription file.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d5950b4355049092739bea97d1bdc14433126cc5",
      "tree": "a76e11dfb7209e3ab49352ee4f8776b4a59249d9",
      "parents": [
        "0b7f22aab4e960c75e82ad696ef852f9b0015e7d"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Mon Jul 11 21:03:49 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 11 21:03:49 2005 -0700"
      },
      "message": "[NET]: add a top-level Networking menu to *config\n\nCreate a new top-level menu named \"Networking\" thus moving\nnet related options and protocol selection way from the drivers\nmenu and up on the top-level where they belong.\n\nTo implement this all architectures has to source \"net/Kconfig\" before\ndrivers/*/Kconfig in their Kconfig file. This change has been\nimplemented for all architectures.\n\nDevice drivers for ordinary NIC\u0027s are still to be found\nin the Device Drivers section, but Bluetooth, IrDA and ax25\nare located with their corresponding menu entries under the new\nnetworking menu item.\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3f22ab276b931b72ea04b184c155b34d0362bfc3",
      "tree": "013e6ba32f4b2fcb66f9726ba6b2c6dc64f6622d",
      "parents": [
        "3a9da7655d2d5b7f790a370328cf093440c80496"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Thu Jun 23 00:07:43 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:02 2005 -0700"
      },
      "message": "[PATCH] make each arch use mm/Kconfig\n\nFor all architectures, this just means that you\u0027ll see a \"Memory Model\"\nchoice in your architecture menu.  For those that implement DISCONTIGMEM,\nyou may eventually want to make your ARCH_DISCONTIGMEM_ENABLE a \"def_bool\ny\" and make your users select DISCONTIGMEM right out of the new choice\nmenu.  The only disadvantage might be if you have some specific things that\nyou need in your help option to explain something about DISCONTIGMEM.\n\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
