)]}'
{
  "commit": "6fd92b63d0626a8fe7eb8e2e50d19ecaa18cb412",
  "tree": "840f6cf998c251cdfcae37a03f34b34ac5bea3a5",
  "parents": [
    "18e413f7193ed2f6991d959863f46330813aa242"
  ],
  "author": {
    "name": "Alexander van Heukelum",
    "email": "heukelum@mailshack.com",
    "time": "Sun Mar 09 21:01:04 2008 +0100"
  },
  "committer": {
    "name": "Ingo Molnar",
    "email": "mingo@elte.hu",
    "time": "Sat Apr 26 19:21:16 2008 +0200"
  },
  "message": "x86: change x86 to use generic find_next_bit\n\nThe versions with inline assembly are in fact slower on the machines I\ntested them on (in userspace) (Athlon XP 2800+, p4-like Xeon 2.8GHz, AMD\nOpteron 270). The i386-version needed a fix similar to 06024f21 to avoid\ncrashing the benchmark.\n\nBenchmark using: gcc -fomit-frame-pointer -Os. For each bitmap size\n1...512, for each possible bitmap with one bit set, for each possible\noffset: find the position of the first bit starting at offset. If you\nfollow ;). Times include setup of the bitmap and checking of the\nresults.\n\n\t\tAthlon\t\tXeon\t\tOpteron 32/64bit\nx86-specific:\t0m3.692s\t0m2.820s\t0m3.196s / 0m2.480s\ngeneric:\t0m2.622s\t0m1.662s\t0m2.100s / 0m1.572s\n\nIf the bitmap size is not a multiple of BITS_PER_LONG, and no set\n(cleared) bit is found, find_next_bit (find_next_zero_bit) returns a\nvalue outside of the range [0, size]. The generic version always returns\nexactly size. The generic version also uses unsigned long everywhere,\nwhile the x86 versions use a mishmash of int, unsigned (int), long and\nunsigned long.\n\nUsing the generic version does give a slightly bigger kernel, though.\n\ndefconfig:\t   text    data     bss     dec     hex filename\nx86-specific:\t4738555  481232  626688 5846475  5935cb vmlinux (32 bit)\ngeneric:\t4738621  481232  626688 5846541  59360d vmlinux (32 bit)\nx86-specific:\t5392395  846568  724424 6963387  6a40bb vmlinux (64 bit)\ngeneric:\t5392458  846568  724424 6963450  6a40fa vmlinux (64 bit)\n\nSigned-off-by: Alexander van Heukelum \u003cheukelum@fastmail.fm\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2fadf794483d1f8dad597c34de6dafb7082b4383",
      "old_mode": 33188,
      "old_path": "arch/x86/Kconfig",
      "new_id": "5639de47ed454350cb24172269f530fbfa96a7e8",
      "new_mode": 33188,
      "new_path": "arch/x86/Kconfig"
    },
    {
      "type": "modify",
      "old_id": "25df1c1989fe5e5574ba4e833978d99317b168c2",
      "old_mode": 33188,
      "old_path": "arch/x86/lib/Makefile",
      "new_id": "436093299bd3cca58672502e0baae5cf840512d7",
      "new_mode": 33188,
      "new_path": "arch/x86/lib/Makefile"
    },
    {
      "type": "delete",
      "old_id": "b65440459859e4843ee23a672c05519d2669876b",
      "old_mode": 33188,
      "old_path": "arch/x86/lib/bitops_32.c",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "0e8f491e6ccc84b13ec7c0e82683002f829a862e",
      "old_mode": 33188,
      "old_path": "arch/x86/lib/bitops_64.c",
      "new_id": "0eeb704d25133e4a91bb920fe106822dd4a5c1b2",
      "new_mode": 33188,
      "new_path": "arch/x86/lib/bitops_64.c"
    },
    {
      "type": "modify",
      "old_id": "1ae7b270a1efe8d1cc9abe8c4260d54d714ecc0f",
      "old_mode": 33188,
      "old_path": "include/asm-x86/bitops.h",
      "new_id": "31e408de90c677735b95c016a45e388c5df02073",
      "new_mode": 33188,
      "new_path": "include/asm-x86/bitops.h"
    },
    {
      "type": "modify",
      "old_id": "2513a81f82aae3cabd17db124f944bb0b2197af7",
      "old_mode": 33188,
      "old_path": "include/asm-x86/bitops_32.h",
      "new_id": "7c9ed759afb29176c4a7334f987de134b7264713",
      "new_mode": 33188,
      "new_path": "include/asm-x86/bitops_32.h"
    },
    {
      "type": "modify",
      "old_id": "365f8207ea59d517849c9940e07a1f7b9b153332",
      "old_mode": 33188,
      "old_path": "include/asm-x86/bitops_64.h",
      "new_id": "65b20fb2ae78a0a9fffc5daa42477f3fb55b1e4e",
      "new_mode": 33188,
      "new_path": "include/asm-x86/bitops_64.h"
    },
    {
      "type": "modify",
      "old_id": "78ccd73a884188f9e9348df1e4ad6e0e527e24c0",
      "old_mode": 33188,
      "old_path": "lib/find_next_bit.c",
      "new_id": "5820e072b890269984dcfc7a5dec1cb10ed61930",
      "new_mode": 33188,
      "new_path": "lib/find_next_bit.c"
    }
  ]
}
