)]}'
{
  "log": [
    {
      "commit": "394e3902c55e667945f6f1c2bdbc59842cce70f7",
      "tree": "f4bca0bdc0c291fda6f6949265aacec0669b9084",
      "parents": [
        "63872f87a151413100678f110d1556026002809e"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Thu Mar 23 03:01:05 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:17 2006 -0800"
      },
      "message": "[PATCH] more for_each_cpu() conversions\n\nWhen we stop allocating percpu memory for not-possible CPUs we must not touch\nthe percpu data for not-possible CPUs at all.  The correct way of doing this\nis to test cpu_possible() or to use for_each_cpu().\n\nThis patch is a kernel-wide sweep of all instances of NR_CPUS.  I found very\nfew instances of this bug, if any.  But the patch converts lots of open-coded\ntest to use the preferred helper macros.\n\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Christian Zankel \u003cchris@zankel.net\u003e\nCc: Philippe Elie \u003cphil.el@wanadoo.fr\u003e\nCc: Nathan Scott \u003cnathans@sgi.com\u003e\nCc: Jens Axboe \u003caxboe@suse.de\u003e\nCc: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7a0268fa1a3613f2c526a9b3058701b277f6abe1",
      "tree": "738bf94d9bb5d68d260805dbc1898ec40ebc20e5",
      "parents": [
        "193cac99f6d8604aca71e5a966a8cd1dfb84819d"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Wed Jan 11 13:16:44 2006 +1100"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Wed Jan 11 14:49:45 2006 +1100"
      },
      "message": "[PATCH] powerpc/64: per cpu data optimisations\n\nThe current ppc64 per cpu data implementation is quite slow. eg:\n\n        lhz 11,18(13)           /* smp_processor_id() */\n        ld 9,.LC63-.LCTOC1(30)  /* per_cpu__variable_name */\n        ld 8,.LC61-.LCTOC1(30)  /* __per_cpu_offset */\n        sldi 11,11,3            /* form index into __per_cpu_offset */\n        mr 10,9\n        ldx 9,11,8              /* __per_cpu_offset[smp_processor_id()] */\n        ldx 0,10,9              /* load per cpu data */\n\n5 loads for something that is supposed to be fast, pretty awful. One\nreason for the large number of loads is that we have to synthesize 2\n64bit constants (per_cpu__variable_name and __per_cpu_offset).\n\nBy putting __per_cpu_offset into the paca we can avoid the 2 loads\nassociated with it:\n\n        ld 11,56(13)            /* paca-\u003edata_offset */\n        ld 9,.LC59-.LCTOC1(30)  /* per_cpu__variable_name */\n        ldx 0,9,11              /* load per cpu data\n\nLonger term we can should be able to do even better than 3 loads.\nIf per_cpu__variable_name wasnt a 64bit constant and paca-\u003edata_offset\nwas in a register we could cut it down to one load. A suggestion from\nRusty is to use gcc\u0027s __thread extension here. In order to do this we\nwould need to free up r13 (the __thread register and where the paca\ncurrently is). So far Ive had a few unsuccessful attempts at doing that :)\n\nThe patch also allocates per cpu memory node local on NUMA machines.\nThis patch from Rusty has been sitting in my queue _forever_ but stalled\nwhen I hit the compiler bug. Sorry about that.\n\nFinally I also only allocate per cpu data for possible cpus, which comes\nstraight out of the x86-64 port. On a pseries kernel (with NR_CPUS \u003d\u003d 128)\nand 4 possible cpus we see some nice gains:\n\n             total       used       free     shared    buffers cached\nMem:       4012228     212860    3799368          0          0 162424\n\n             total       used       free     shared    buffers cached\nMem:       4016200     212984    3803216          0          0 162424\n\nA saving of 3.75MB. Quite nice for smaller machines. Note: we now have\nto be careful of per cpu users that touch data for !possible cpus.\n\nAt this stage it might be worth making the NUMA and possible cpu\noptimisations generic, but per cpu init is done so early we have to be\ncareful that all architectures have their possible map setup correctly.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "6f9aa727433fe7647869c9b64ce2f7b5feac0052",
      "tree": "4c2986147fc3373f4ec6a097147f65611ca5f565",
      "parents": [
        "88999ceb55bf959e63df0c911915166b005977fc"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Mon Aug 29 14:08:11 2005 +1000"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Tue Aug 30 13:32:06 2005 +1000"
      },
      "message": "[PATCH] Move all the very similar files to asm-powerpc\n\nThey differed in either simple comments or in the protecting ifdefs.\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    }
  ]
}
