)]}'
{
  "commit": "98f06978ffebbec16abdea58489f217229580859",
  "tree": "4c0cad43f6bc59083e00a20c423864ac579cdf32",
  "parents": [
    "36ddbb1380f282b4280c57efdb646dd8647a789f"
  ],
  "author": {
    "name": "Jeremy Kerr",
    "email": "jk@ozlabs.org",
    "time": "Wed Sep 19 14:38:12 2007 +1000"
  },
  "committer": {
    "name": "Paul Mackerras",
    "email": "paulus@samba.org",
    "time": "Wed Sep 19 15:12:16 2007 +1000"
  },
  "message": "[POWERPC] cell: Unify spufs syscall path\n\nAt present, a built-in spufs will not use the spufs_calls callbacks, but\ndirectly call sys_spu_create.  This saves us an indirect branch, but\nmeans we have duplicated functions - one for CONFIG_SPU_FS\u003dy and one for\n\u003dm.\n\nThis change unifies the spufs syscall path, and provides access to the\nspufs_calls structure through a get/put pair.  At present, the only user\nof the spufs_calls structure is spu_syscalls.c, but this will facilitate\nadding the coredump calls later.\n\nEveryone likes numbers, right?  Here\u0027s a before/after comparison with\nCONFIG_SPU_FS\u003dy, doing spu_create(); close(); 64k times.\n\nBefore:\n\t[jk@cell ~]$ time ./spu_create\n\tperforming 65536 spu_create calls\n\n\treal    0m24.075s\n\tuser    0m0.146s\n\tsys     0m23.925s\n\nAfter:\n\t[jk@cell ~]$ time ./spu_create\n\tperforming 65536 spu_create calls\n\n\treal    0m24.777s\n\tuser    0m0.141s\n\tsys     0m24.631s\n\nSo, we\u0027re adding around 11us per syscall, at the benefit of having\nonly one syscall path.\n\nSigned-off-by: Jeremy Kerr \u003cjk@ozlabs.org\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f88a7c76f2964f08e8771f7670f58fd14f726496",
      "old_mode": 33188,
      "old_path": "arch/powerpc/platforms/cell/Makefile",
      "new_id": "40f78e908953dfaf20e222b593e54707703204f6",
      "new_mode": 33188,
      "new_path": "arch/powerpc/platforms/cell/Makefile"
    },
    {
      "type": "modify",
      "old_id": "027ac32cc63659c8c2af89270041742dcb96e345",
      "old_mode": 33188,
      "old_path": "arch/powerpc/platforms/cell/spu_syscalls.c",
      "new_id": "c0238dd9ff2763943ab3168cbe41747f96140092",
      "new_mode": 33188,
      "new_path": "arch/powerpc/platforms/cell/spu_syscalls.c"
    },
    {
      "type": "modify",
      "old_id": "2bfdeb8ea8bd0ab028d1f472046c643bfe7c3fc4",
      "old_mode": 33188,
      "old_path": "arch/powerpc/platforms/cell/spufs/spufs.h",
      "new_id": "3dbffebb3cef996d4d4b89675a22c055a95f5014",
      "new_mode": 33188,
      "new_path": "arch/powerpc/platforms/cell/spufs/spufs.h"
    },
    {
      "type": "modify",
      "old_id": "936e0a8af3a957938b038de123692aa58b3b8b04",
      "old_mode": 33188,
      "old_path": "arch/powerpc/platforms/cell/spufs/syscalls.c",
      "new_id": "22b138dc335cace7c705a1c8ece1c14223441bda",
      "new_mode": 33188,
      "new_path": "arch/powerpc/platforms/cell/spufs/syscalls.c"
    },
    {
      "type": "modify",
      "old_id": "5bde3980bf496d3e8336565f71402d7296ec8beb",
      "old_mode": 33188,
      "old_path": "include/asm-powerpc/spu.h",
      "new_id": "383ecfdf7eb0bbace8ececb883a01d72223932c2",
      "new_mode": 33188,
      "new_path": "include/asm-powerpc/spu.h"
    }
  ]
}
