)]}'
{
  "commit": "648eee52ccdc623e21b920d6048e93490a4860a7",
  "tree": "1d106f156abb6c7a0169a392f4856cd63893e079",
  "parents": [
    "c70dcabc8eba18113a4735e7b1bd09f7493e38f0"
  ],
  "author": {
    "name": "Robin Getz",
    "email": "robin.getz@analog.com",
    "time": "Tue May 04 14:59:21 2010 +0000"
  },
  "committer": {
    "name": "Mike Frysinger",
    "email": "vapier@gentoo.org",
    "time": "Sat May 22 14:19:11 2010 -0400"
  },
  "message": "Blackfin: optimize strncpy a bit\n\nAdd a little strncpy optimization which can easily cut boot time by 20%.\n\nWhen the kernel is booting with initramfs, it builds up the filesystem\nfrom a cpio archive by calling strncpy_from_user() via fs/namei.c\u0027s\ndo_getname() on every file in the archive (which can be lots) with a\nlength of PATH_MAX (1024).  This causes the dest of the strncpy to be\npadded with many NUL bytes.\n\nThis optimization mostly causes these NUL bytes to be padded with a call\nto memset() which is already optimized for filling memory quickly, but\nthe hardware loop helps a little bit as well.\n\nBoot time measured with \u0027loglevel\u003d0\u0027 so UART speed doesn\u0027t get in the way.\n\nSigned-off-by: Robin Getz \u003crobin.getz@analog.com\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c30d99b109694bcee489a51acc808288a38f7b2b",
      "old_mode": 33188,
      "old_path": "arch/blackfin/lib/memset.S",
      "new_id": "eab1bef3f5bf37100c07a5d2de9868e2bc352004",
      "new_mode": 33188,
      "new_path": "arch/blackfin/lib/memset.S"
    },
    {
      "type": "modify",
      "old_id": "39fbbe6523e54dc89bf49856aed85a356d725611",
      "old_mode": 33188,
      "old_path": "arch/blackfin/lib/strncpy.S",
      "new_id": "f3931d50b4a715a50878363a43bd14e9c63b9dd1",
      "new_mode": 33188,
      "new_path": "arch/blackfin/lib/strncpy.S"
    }
  ]
}
