)]}'
{
  "log": [
    {
      "commit": "a875a69f8b00a38b4f40d9632a4fc71a159f0e0d",
      "tree": "5c9296441514663354a4d70ab2320f7e185d7c10",
      "parents": [
        "8d8fdf5c76816e5263073008f03f097ffc713db3"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:24:26 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:00 2006 -0700"
      },
      "message": "[PATCH] lockdep: add per_cpu_offset()\n\nAdd the per_cpu_offset() generic method. (used by the lock validator)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bfe5d834195b3089b8846577311340376cc0f450",
      "tree": "52470de0fe87ff8372700e3472735cd5c14cee9d",
      "parents": [
        "6ceab8a936c302c0cea2bfe55617c76e2f5746fa"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Sun Jun 25 05:47:14 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:01 2006 -0700"
      },
      "message": "[PATCH] Define __raw_get_cpu_var and use it\n\nThere are several instances of per_cpu(foo, raw_smp_processor_id()), which\nis semantically equivalent to __get_cpu_var(foo) but without the warning\nthat smp_processor_id() can give if CONFIG_DEBUG_PREEMPT is enabled.  For\nthose architectures with optimized per-cpu implementations, namely ia64,\npowerpc, s390, sparc64 and x86_64, per_cpu() turns into more and slower\ncode than __get_cpu_var(), so it would be preferable to use __get_cpu_var\non those platforms.\n\nThis defines a __raw_get_cpu_var(x) macro which turns into per_cpu(x,\nraw_smp_processor_id()) on architectures that use the generic per-cpu\nimplementation, and turns into __get_cpu_var(x) on the architectures that\nhave an optimized per-cpu implementation.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0e5519548fdc8eadc3eacb49b1908d44d347fb2b",
      "tree": "176d01babed4ece005f6c4715c464411c4262e9b",
      "parents": [
        "bab70a4af737f623de5b034976a311055308ab86"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue Mar 28 14:50:51 2006 -0800"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Wed Mar 29 13:44:15 2006 +1100"
      },
      "message": "[PATCH] for_each_possible_cpu: powerpc\n\nfor_each_cpu() actually iterates across all possible CPUs.  We\u0027ve had mistakes\nin the past where people were using for_each_cpu() where they should have been\niterating across only online or present CPUs.  This is inefficient and\npossibly buggy.\n\nWe\u0027re renaming for_each_cpu() to for_each_possible_cpu() to avoid this in the\nfuture.\n\nThis patch replaces for_each_cpu with for_each_possible_cpu.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "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"
    }
  ]
}
