)]}'
{
  "log": [
    {
      "commit": "9d8fddfb17aaee4ffc5e3d0560620d0fa8b50a42",
      "tree": "f8a6b13a3048d1ae9c169b2d732fa05d8dcdf2ac",
      "parents": [
        "9e5c6da71e89fa25ced6e88182225a99941bec90"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Fri Jul 25 19:46:23 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:12 2008 -0700"
      },
      "message": "mm/allocpercpu.c: make 4 functions static\n\nThis patch makes the following needlessly global functions static:\n - percpu_depopulate()\n - __percpu_depopulate_mask()\n - percpu_populate()\n - __percpu_populate_mask()\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "68083e05d72d94f347293d8cc0067050ba904bfa",
      "tree": "842e71365bd90866be7add181661a4039d891564",
      "parents": [
        "7baac8b91f9871ba8cb09af84de4ae1d86d07812",
        "b7279469d66b55119784b8b9529c99c1955fe747"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jul 06 14:23:39 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jul 06 14:23:39 2008 +0200"
      },
      "message": "Merge commit \u0027v2.6.26-rc9\u0027 into cpus4096\n"
    },
    {
      "commit": "cde53535991fbb5c34a1566f25955297c1487b8d",
      "tree": "4f87e67b52c8761cfc421a619379263733b91159",
      "parents": [
        "a926c063738f31c8c8b5c2b883812a40e7868072"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Fri Jul 04 09:59:22 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 04 10:40:04 2008 -0700"
      },
      "message": "Christoph has moved\n\nRemove all clameter@sgi.com addresses from the kernel tree since they will\nbecome invalid on June 27th.  Change my maintainer email address for the\nslab allocators to cl@linux-foundation.org (which will be the new email\naddress for the future).\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6d6a4360876f1e758e215570ccb04518db7cec3a",
      "tree": "f978c00e4eb4acafc820800d0d307c0d89cdc08b",
      "parents": [
        "363ab6f1424cdea63e5d182312d60e19077b892a"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Mon May 12 21:21:13 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 23 18:35:12 2008 +0200"
      },
      "message": "mm: use performance variant for_each_cpu_mask_nr\n\nChange references from for_each_cpu_mask to for_each_cpu_mask_nr\nwhere appropriate\n\nReviewed-by: Paul Jackson \u003cpj@sgi.com\u003e\nReviewed-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "d366f8cbc16882e93538d9a52423c2f50dad7c06",
      "tree": "64202cd91a942dc3ea9b88adb6da562c2fb191a8",
      "parents": [
        "f46bdf2db25dfaff3b611c9711705645cdb03acc"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Fri Apr 04 18:11:12 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:58 2008 +0200"
      },
      "message": "cpumask: Cleanup more uses of CPU_MASK and NODE_MASK\n\n *  Replace usages of CPU_MASK_NONE, CPU_MASK_ALL, NODE_MASK_NONE,\n    NODE_MASK_ALL to reduce stack requirements for large NR_CPUS\n    and MAXNODES counts.\n\n *  In some cases, the cpumask variable was initialized but then overwritten\n    with another value.  This is the case for changes like this:\n\n    -       cpumask_t oldmask \u003d CPU_MASK_ALL;\n    +       cpumask_t oldmask;\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "be852795e1c8d3829ddf3cb1ce806113611fa555",
      "tree": "3671dbd5ba64f11650f93fdd9178666bcbb84f7e",
      "parents": [
        "e3892296de632e3f9299d9fabe0c746740004891"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Tue Mar 04 14:28:35 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 04 16:35:11 2008 -0800"
      },
      "message": "alloc_percpu() fails to allocate percpu data\n\nSome oprofile results obtained while using tbench on a 2x2 cpu machine were\nvery surprising.\n\nFor example, loopback_xmit() function was using high number of cpu cycles\nto perform the statistic updates, supposed to be real cheap since they use\npercpu data\n\n        pcpu_lstats \u003d netdev_priv(dev);\n        lb_stats \u003d per_cpu_ptr(pcpu_lstats, smp_processor_id());\n        lb_stats-\u003epackets++;  /* HERE : serious contention */\n        lb_stats-\u003ebytes +\u003d skb-\u003elen;\n\nstruct pcpu_lstats is a small structure containing two longs.  It appears\nthat on my 32bits platform, alloc_percpu(8) allocates a single cache line,\ninstead of giving to each cpu a separate cache line.\n\nUsing the following patch gave me impressive boost in various benchmarks\n( 6 % in tbench)\n(all percpu_counters hit this bug too)\n\nLong term fix (ie \u003e\u003d 2.6.26) would be to let each CPU allocate their own\nblock of memory, so that we dont need to roudup sizes to L1_CACHE_BYTES, or\nmerging the SGI stuff of course...\n\nNote : SLUB vs SLAB is important here to *show* the improvement, since they\ndont have the same minimum allocation sizes (8 bytes vs 32 bytes).  This\ncould very well explain regressions some guys reported when they switched\nto SLUB.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b3242151906372f30f57feaa43b4cac96a23edb1",
      "tree": "d258219aa13dfeae8d9fb5db1fd220a0664a680d",
      "parents": [
        "e7ca2d41a029577a8cff453d1445951d4f96bfd8"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed Feb 06 01:37:01 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:04 2008 -0800"
      },
      "message": "PERCPU : __percpu_alloc_mask() can dynamically size percpu_data storage\n\nInstead of allocating a fix sized array of NR_CPUS pointers for percpu_data,\nwe can use nr_cpu_ids, which is generally \u003c NR_CPUS.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: \"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": "94f6030ca792c57422f04a73e7a872d8325946d3",
      "tree": "0197f24d82b1706f1b0521f2cf68feeff64123df",
      "parents": [
        "81cda6626178cd55297831296ba8ecedbfd8b52d"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Tue Jul 17 04:03:29 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:02 2007 -0700"
      },
      "message": "Slab allocators: Replace explicit zeroing with __GFP_ZERO\n\nkmalloc_node() and kmem_cache_alloc_node() were not available in a zeroing\nvariant in the past.  But with __GFP_ZERO it is possible now to do zeroing\nwhile allocating.\n\nUse __GFP_ZERO to remove the explicit clearing of memory via memset whereever\nwe can.\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": "a120586873d3d64de93bd6d593d237e131994e58",
      "tree": "ae284884e23268e867f748a2ab52353cf2390e89",
      "parents": [
        "b30973f877fea1a3fb84e05599890fcc082a88e5"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Wed Dec 06 20:32:37 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:22 2006 -0800"
      },
      "message": "[PATCH] Allow NULL pointers in percpu_free\n\nThe patch (as824b) makes percpu_free() ignore NULL arguments, as one would\nexpect for a deallocation routine.  (Note that free_percpu is #defined as\npercpu_free in include/linux/percpu.h.) A few callers are updated to remove\nnow-unneeded tests for NULL.  A few other callers already seem to assume\nthat passing a NULL pointer to percpu_free() is okay!\n\nThe patch also removes an unnecessary NULL check in percpu_depopulate().\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d00bcc98d7ec2c87391c9d9e1cca519ef64d33ef",
      "tree": "08b7d0fafba03d7b1d4d1d861897f78658aba173",
      "parents": [
        "39bbcb8f88154c4ac9853baf3f1134af4c987517"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Sep 25 23:31:50 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:48:51 2006 -0700"
      },
      "message": "[PATCH] Extract the allocpercpu functions from the slab allocator\n\nThe allocpercpu functions __alloc_percpu and __free_percpu() are heavily\nusing the slab allocator.  However, they are conceptually slab.  This also\nsimplifies SLOB (at this point slob may be broken in mm.  This should fix\nit).\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: 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"
    }
  ]
}
