)]}'
{
  "log": [
    {
      "commit": "f28dc2f78bbcbf07b8a084fcd89cf6b4256f0664",
      "tree": "ac051fe9264ff967cea12f96ac7dd58e52bca409",
      "parents": [
        "e0ae87a49cf3e721313bf8942299f3f140c6963c"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sun Nov 04 23:44:23 2007 +0100"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:41 2008 -0500"
      },
      "message": "hwmon: (gl520sm) Various cleanups\n\n* Drop trailing spaces\n* Drop unused driver ID\n* Drop stray backslashes in macros\n* Rename new_client to client\n* Drop redundant initializations to 0\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "a5955ed27497385cc491ecbe40af45951e830881",
      "tree": "7538f45fcf8cd98a1b12172c858f4067a7968b24",
      "parents": [
        "7dcf9a31ef50367e474e5e320e8ec5e0a8b9d2f0"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Mon Oct 22 17:45:08 2007 +0200"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:41 2008 -0500"
      },
      "message": "hwmon: (gl518sm) Various cleanups\n\n* Drop history, it doesn\u0027t belong there\n* Drop unused struct member\n* Drop bogus struct member comment\n* Drop unused driver ID\n* Rename new_client to client\n* Drop redundant initializations to 0\n* Drop useless cast\n* Drop trailing space\n* Fix comment\n* Drop duplicate comment\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "7fce084a0b3e2bb8caef919f8f36065953655bb5",
      "tree": "a5bf95b6321ec488dc8a0667b652bb50479a32da",
      "parents": [
        "df922075f2a55b1ae71a6fe589c1cc1b91381f4f"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sat Nov 03 17:29:20 2007 +0100"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:40 2008 -0500"
      },
      "message": "dmi: Let drivers walk the DMI table\n\nLet drivers walk the DMI table for their own needs. Some drivers need\ndata stored in OEM-specific DMI records for proper operation.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "6e5565f949af1322f8f3d3f43d044645ae448499",
      "tree": "92868f6d3dcc6c105a0d35f9412f75c07139402e",
      "parents": [
        "e5a9e8e6890d9b9c7a0f25b03ffdaf28614a9a4c",
        "03366e7b9bf1544cb0b98f1a5cd6d340654f486a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 12:57:44 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 12:57:44 2008 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (34 commits)\n  Input: i8042 - non-x86 build fix\n  Input: pxa27x_keypad - also enable on PXA3xx\n  Input: pxa27x_keypad - add debounce_interval to the keypad platform data\n  Input: pxa27x_keypad - use device resources for I/O memory mapping and IRQ\n  Input: pxa27x_keypad - enable rotary encoders and direct keys\n  Input: pxa27x_keypad - introduce pxa27x_keypad_config()\n  Input: pxa27x_keypad - introduce driver structure and use KEY() to define matrix keys\n  Input: pxa27x_keypad - remove pin configuration from the driver\n  Input: pxa27x_keypad - rename the driver (was pxa27x_keyboard)\n  Input: constify function pointer tables (seq_operations)\n  Input: i8042 - add Fujitsu-Siemens Amilo Pro 2010 to nomux list\n  Input: i8042 - enable DMI quirks on x86-64\n  Input: i8042 - add Dritek quirk for Acer Aspire 9110\n  Input: add input event to APM event bridge\n  Input: mousedev - use BIT_MASK instead of BIT\n  Input: remove duplicate includes\n  Input: remove cdev from input_dev structure\n  Input: remove duplicated headers in drivers/char/keyboard.c\n  Input: i8042 - add Dritek keyboard extension quirk\n  Input: add Tosa keyboard driver\n  ...\n"
    },
    {
      "commit": "0afc2edfada50980bec999f94dcea26ebad3dda6",
      "tree": "8963dd8fd78ee5c3481acad5903bc459bd3d055c",
      "parents": [
        "a8e98d6d51a3eb7bb061b1625193a129c8bd094f",
        "d256eb8db60e36fc5dd0a27ce8a64f65df31f7b5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 10:21:26 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 10:21:26 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:\n  [SPARC32]: Use regsets in arch_ptrace().\n  [SPARC64]: Use regsets in arch_ptrace().\n  [SPARC32]: Use regsets for ELF core dumping.\n  [SPARC64]: Use regsets for ELF core dumping.\n  [SPARC64]: Remove unintentional ptrace debugging messages.\n  [SPARC]: Move over to arch_ptrace().\n  [SPARC]: Remove PTRACE_SUN* handling.\n  [SPARC]: Kill DEBUG_PTRACE code.\n  [SPARC32]: Add user regset support.\n  [SPARC64]: Add user regsets.\n  [SPARC64]: Fix booting on non-zero cpu.\n"
    },
    {
      "commit": "a8e98d6d51a3eb7bb061b1625193a129c8bd094f",
      "tree": "0fa58b6e11e37023b024e55b8f0e7e01438706d4",
      "parents": [
        "f0f1b3364ae7f48084bdf2837fb979ff59622523",
        "f9f7dd222364a6428d2ad99a515935dd1dd89d18"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 10:20:31 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 10:20:31 2008 -0800"
      },
      "message": "Merge git://git.infradead.org/mtd-2.6\n\n* git://git.infradead.org/mtd-2.6: (120 commits)\n  [MTD] Fix mtdoops.c compilation\n  [MTD] [NOR] fix startup lock when using multiple nor flash chips\n  [MTD] [DOC200x] eccbuf is statically defined and always evaluate to true\n  [MTD] Fix maps/physmap.c compilation with CONFIG_PM\n  [MTD] onenand: Add panic_write function to the onenand driver\n  [MTD] mtdoops: Use the panic_write function when present\n  [MTD] Add mtd panic_write function pointer\n  [MTD] [NAND] Freescale enhanced Local Bus Controller FCM NAND support.\n  [MTD] physmap.c: Add support for multiple resources\n  [MTD] [NAND] Fix misparenthesization introduced by commit 78b65179...\n  [MTD] [NAND] Fix Blackfin NFC ECC calculating bug with page size 512 bytes\n  [MTD] [NAND] Remove wrong operation in PM function of the BF54x NFC driver\n  [MTD] [NAND] Remove unused variable in plat_nand_remove\n  [MTD] Unlocking all Intel flash that is locked on power up.\n  [MTD] [NAND] at91_nand: Make mtdparts option can override board info\n  [MTD] mtdoops: Various minor cleanups\n  [MTD] mtdoops: Ensure sequential write to the buffer\n  [MTD] mtdoops: Perform write operations in a workqueue\n  [MTD] mtdoops: Add further error return code checking\n  [MTD] [NOR] Test devtype, not definition in flash_probe(), drivers/mtd/devices/lart.c\n  ...\n"
    },
    {
      "commit": "f0f1b3364ae7f48084bdf2837fb979ff59622523",
      "tree": "e5ef68c0071f44178cc8d1948b64e216d57422aa",
      "parents": [
        "4383f18b7f94a4d668c5eec68645c75d44556235",
        "b7143156c9ceee1a072c57aac8729d2dec5b3bf1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 09:45:58 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 09:45:58 2008 -0800"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (112 commits)\n  ACPI: fix build warning\n  Revert \"cpuidle: build fix for non-x86\"\n  ACPI: update intrd DSDT override console messages\n  ACPI: update DSDT override documentation\n  ACPI: Add \"acpi_no_initrd_override\" kernel parameter\n  ACPI: its a directory not a folder....\n  ACPI: misc cleanups\n  ACPI: add missing prink prefix strings\n  ACPI: cleanup acpi.h\n  ACPICA: fix CONFIG_ACPI_DEBUG_FUNC_TRACE build\n  ACPI: video: Ignore ACPI video devices that aren\u0027t present in hardware\n  ACPI: video: reset brightness on resume\n  ACPI: video: call ACPI notifier chain for ACPI video notifications\n  ACPI: create notifier chain to get hotkey events to graphics driver\n  ACPI: video: delete unused display switch on hotkey event code\n  ACPI: video: create \"brightness_switch_enabled\" modparam\n  cpuidle: Add a poll_idle method\n  ACPI: cpuidle: Support C1 idle time accounting\n  ACPI: enable MWAIT for C1 idle\n  ACPI: idle: Fix acpi_safe_halt usages and interrupt enabling/disabling\n  ...\n"
    },
    {
      "commit": "3d50337f62a61027f40ad4ceddefa3c91e5d479e",
      "tree": "c89bed784ab0fc402e9f4155f500170c9a335949",
      "parents": [
        "5b808a593588b2e6235c59fcd278791c53667787",
        "d39a7a63eb3971b1b3cc5c181ed526bf437b1c72"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 09:45:14 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 09:45:14 2008 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.o-hand.com/linux-rpurdie-leds\n\n* \u0027for-linus\u0027 of git://git.o-hand.com/linux-rpurdie-leds:\n  leds: Add HP Jornada 6xx driver\n  leds: Remove the now uneeded ixp4xx driver\n  leds: Add power LED to the wrap driver\n  leds: Fix led-gpio active_low default brightness\n  leds: hw acceleration for Clevo mail LED driver\n  leds: Add support for hardware accelerated LED flashing\n  leds: Standardise LED naming scheme\n  leds: Add clevo notebook LED driver\n"
    },
    {
      "commit": "5b808a593588b2e6235c59fcd278791c53667787",
      "tree": "6f163b052b8d9d3e8448dd8caf3459a0372dffc4",
      "parents": [
        "d31d29540915f21d3f2bcfdd6d135fde328038a0"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Thu Feb 07 09:10:37 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 09:10:06 2008 -0800"
      },
      "message": "m68k: kill page walker compile warning\n\nThe recently introduced page walker (walk_page_range()) calls pgd_offset with a\nconst struct mm_struct pointer, causing the following compile warning on m68k:\n\n    mm/pagewalk.c:111: warning: passing argument 1 of \u0027pgd_offset\u0027 discards qualifiers from pointer target type\n\nMake the `mm\u0027 parameter of the inline function pgd_offset() const to shut it\nup.\n\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7a8c6ad918e9c598bf3b799f1a0d5ee4dee59ca3",
      "tree": "ce1ed4557f44560ba0db2713046edcb9a2a39094",
      "parents": [
        "37969581301e50872a1ae84dc73962b5f7ee6b76",
        "e19717fe2bb3624d8242f66d3825881d11a847dd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 09:03:00 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 09:03:00 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq:\n  [CPUFREQ] Add missing printk levels to e_powersaver\n  [CPUFREQ] Fix sparse warning in powernow-k8\n  [CPUFREQ] Support Model D parts and newer in e_powersaver\n  [CPUFREQ] Powernow-k8: Update to support the latest Turion processors\n  [CPUFREQ] fix configuration help message\n  [CPUFREQ] powernow-k8 print pstate instead of fid/did for family 10h\n  [CPUFREQ] Eliminate cpufreq_userspace scaling_setspeed deadlock\n  [CPUFREQ] gx-suspmod.c: use boot_cpu_data instead of current_cpu_data\n  [CPUFREQ] fix incorrect comment on show_available_freqs() in freq_table.c\n  [CPUFREQ] drivers/cpufreq: Add missing \"space\"\n  [CPUFREQ] arch/x86: Add missing \"space\"\n  [CPUFREQ] Remove pointless Kconfig dependancy\n"
    },
    {
      "commit": "37969581301e50872a1ae84dc73962b5f7ee6b76",
      "tree": "35bbd6a07f903f248f4bd209b8d194a922415fe0",
      "parents": [
        "80ff8a805113850a3ffafcc8e6eaa1fdd51b02f3",
        "24f1a849614ba1805e26a05da7cc8c6bd67490ea"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 09:02:26 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 09:02:26 2008 -0800"
      },
      "message": "Merge branch \u0027for-2.6.25\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc\n\n* \u0027for-2.6.25\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (69 commits)\n  [POWERPC] Add SPE registers to core dumps\n  [POWERPC] Use regset code for compat PTRACE_*REGS* calls\n  [POWERPC] Use generic compat_sys_ptrace\n  [POWERPC] Use generic compat_ptrace_request\n  [POWERPC] Use generic ptrace peekdata/pokedata\n  [POWERPC] Use regset code for PTRACE_*REGS* requests\n  [POWERPC] Switch to generic compat_binfmt_elf code\n  [POWERPC] Switch to using user_regset-based core dumps\n  [POWERPC] Add user_regset compat support\n  [POWERPC] Add user_regset_view definitions\n  [POWERPC] Use user_regset accessors for GPRs\n  [POWERPC] ptrace accessors for special regs MSR and TRAP\n  [POWERPC] Use user_regset accessors for SPE regs\n  [POWERPC] Use user_regset accessors for altivec regs\n  [POWERPC] Use user_regset accessors for FP regs\n  [POWERPC] mpc52xx: fix compile error introduce when rebasing patch\n  [POWERPC] 4xx: PCIe indirect DCR spinlock fix.\n  [POWERPC] Add missing native dcr dcr_ind_lock spinlock\n  [POWERPC] 4xx: Fix offset value on Warp board\n  [POWERPC] 4xx: Add 440EPx Sequoia ehci dts entry\n  ...\n"
    },
    {
      "commit": "3099bbc59435928fbd1f4ebd835f825bca755bbb",
      "tree": "5468ed4ca5b1a9f6bba66b1e0eadf379e0b909e0",
      "parents": [
        "ccfea3c98a10b9d4d49b899616a06594ec976d7d"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Thu Feb 07 00:16:40 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:34 2008 -0800"
      },
      "message": "Char: serial167, remove bottomhalf\n\n- Cy_EVENT_OPEN_WAKEUP is simple wake_up\n- Cy_EVENT_HANGUP is wake_up + tty_hangup, which schedules its own work\n- Cy_EVENT_WRITE_WAKEUP is tty_wakeup which may be called directly too\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nAcked-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ccfea3c98a10b9d4d49b899616a06594ec976d7d",
      "tree": "cea834a683e572015a51dbf122603c20d040c1f7",
      "parents": [
        "d0d4e1c098754bfbb2aeb94333756d63d255688e"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Thu Feb 07 00:16:39 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:34 2008 -0800"
      },
      "message": "Char: stallion, remove bottomhalf\n\n- tty_hangup schedules a bottomhalf itself, tty_wakeup doesn\u0027t need it\n- call the CD code (part of work handler previously) directly from the code\n  (it wakes somebody up or calls tty_hangup at worse)\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nAcked-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cfccaeea62f020242e59a992e1f1a60fe7e5694e",
      "tree": "d6cc42c199836ec94221f05008766ad81c5bacdc",
      "parents": [
        "d2e7a4b66d762cad383c5469c1e8b6076792ab6a"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Thu Feb 07 00:16:38 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:34 2008 -0800"
      },
      "message": "Char: istallion, remove hangup bottomhalf\n\ntty_hangup schedules a work for hangup itself, no need to do it in the driver.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nAcked-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d2e7a4b66d762cad383c5469c1e8b6076792ab6a",
      "tree": "8516adc2f15b67cfc5b802912b379357928eb48f",
      "parents": [
        "1386a820b32285583414a8db3a99305e7ebe8377"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Thu Feb 07 00:16:37 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:34 2008 -0800"
      },
      "message": "Char: esp, remove hangup and wakeup bottomhalves\n\nThere is no need to schedule a bottomhalf for either of them. One is fast\nand the another schedules a bottomhalf itself.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nAcked-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1237a2ef31cf60e01bbecbe198d8c002bbb710db",
      "tree": "1d71f11a023c4ab0262000e90d311223b5ecc28e",
      "parents": [
        "f6de0c9864c10d17f2473940c5f81718a5064bd8"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Thu Feb 07 00:16:34 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:33 2008 -0800"
      },
      "message": "Char: char/serial, remove SERIAL_TYPE_NORMAL redefines\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9a7744f9823b9ddf14c47c475e81c1326b1a2787",
      "tree": "a5969eab412bb34aa0f38c6a12a5fffe5553b2ce",
      "parents": [
        "b62f13439147210d5ad4bc40acee32b94c59f06d"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:26 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:33 2008 -0800"
      },
      "message": "Add cmpxchg_local to xtensa\n\nUse the architecture specific __cmpxchg_u32 for 32 bits cmpxchg)_local. Else,\nuse the new generic cmpxchg_local (disables interrupt).\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Chris Zankel \u003cchris@zankel.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b62f13439147210d5ad4bc40acee32b94c59f06d",
      "tree": "f5948b96ce938b4cd28b30dfd02731a1ec7dbc73",
      "parents": [
        "80af4eeb726f038eddc32826e4238feba5b1dfb4"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:26 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:33 2008 -0800"
      },
      "message": "Add cmpxchg_local to v850\n\nUse the new generic cmpxchg_local (disables interrupt). Also use the generic\ncmpxchg as fallback if SMP is not set.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Miles Bader \u003cmiles.bader@necel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "80af4eeb726f038eddc32826e4238feba5b1dfb4",
      "tree": "004867c90a5294a8902fc01f1181beacab587300",
      "parents": [
        "405321d3ab2b41960e2874f2f74609daffbc7a4c"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:25 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:33 2008 -0800"
      },
      "message": "Add cmpxchg_local to sparc64\n\nUse cmpxchg_u32 and cmpxchg_u64 for cmpxchg_local and cmpxchg64_local. For other\ntype sizes, use the new generic cmpxchg_local (disables interrupt).\n\nChange:\nSince the header depends on local_irqsave/local_irqrestore, it must be\nincluded after their declaration.\n\nActually, being below the\n#include \u003clinux/irqflags.h\u003e should be enough, and on sparc64 it is\nincluded at the beginning of system.h.\n\nSo it makes sense to move it up for sparc64.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "405321d3ab2b41960e2874f2f74609daffbc7a4c",
      "tree": "af0d51539011d57b2df0df6c69171433f9d60ff8",
      "parents": [
        "fe4130131ef9e55763fd634a02b1db9290dbbe5a"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:24 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:32 2008 -0800"
      },
      "message": "Add cmpxchg_local to sparc, move __cmpxchg to system.h\n\nMove cmpxchg and add cmpxchg_local to system.h.\nUse the new generic cmpxchg_local (disables interrupt).\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fe4130131ef9e55763fd634a02b1db9290dbbe5a",
      "tree": "523a97bd9f3b9302edfb80c5175ec9a528c1b807",
      "parents": [
        "85fdbe1b4b33b797321bfadf706b355e7cca6165"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:24 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:32 2008 -0800"
      },
      "message": "Add cmpxchg_local to s390\n\nUse the standard __cmpxchg for every type that can be updated atomically.\nUse the new generic cmpxchg_local (disables interrupt) for other types.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "85fdbe1b4b33b797321bfadf706b355e7cca6165",
      "tree": "bb24d49bb9cc2167742af843718587b408ad71e2",
      "parents": [
        "df80c8c5679c4e6c72e694525d76a9f26d5f33dc"
      ],
      "author": {
        "name": "Gunnar Larisch",
        "email": "gl@denx.de",
        "time": "Thu Feb 07 00:16:22 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:32 2008 -0800"
      },
      "message": "Add cmpxchg_local to ppc\n\nAdd a local processor version of cmpxchg for ppc.\n\nImplements __cmpxchg_u32_local and uses it for 32 bits cmpxchg_local.\nIt uses the non NMI safe cmpxchg_local_generic for 1, 2 and 8 bytes\ncmpxchg_local.\n\nSigned-off-by: Gunnar Larisch \u003cgl@denx.de\u003e\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Kumar Gala \u003cgalak@gate.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "df80c8c5679c4e6c72e694525d76a9f26d5f33dc",
      "tree": "84144c163426e6d4ecfaa7c50dd9cd67fa91bc64",
      "parents": [
        "027bcc27d3d1a218dbf4477964a18fed78983357"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:21 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:32 2008 -0800"
      },
      "message": "Add cmpxchg_local to parisc\n\nUse the new generic cmpxchg_local (disables interrupt). Also use the generic\ncmpxchg as fallback if SMP is not set.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\nCc: Matthew Wilcox \u003cwilly@debian.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "027bcc27d3d1a218dbf4477964a18fed78983357",
      "tree": "a76ba273a2cdbd1866e79b3840c3293b13b50251",
      "parents": [
        "5da751035c5c8f5b30978e97fd4b3c75f453b04e"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:20 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:32 2008 -0800"
      },
      "message": "Add cmpxchg_local to m68knommu\n\nUse the new generic cmpxchg_local (disables interrupt). Also use the generic\ncmpxchg as fallback if SMP is not set.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Greg Ungerer \u003cgerg@snapgear.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5da751035c5c8f5b30978e97fd4b3c75f453b04e",
      "tree": "9d50b1187702079ba6fb5d61a84db4dbdd646937",
      "parents": [
        "7fa2ac3728ce828070fa3d5846c08157fe5ef431"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:20 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:32 2008 -0800"
      },
      "message": "Add cmpxchg_local to m86k\n\nUse the new generic cmpxchg_local (disables interrupt). Also use the generic\ncmpxchg as fallback if SMP is not set.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7fa2ac3728ce828070fa3d5846c08157fe5ef431",
      "tree": "46d8af0c873bac8d03fd7c166420c9ee5fca7fca",
      "parents": [
        "df0f65f02a55888feae52a7e7d59d29f5edd400d"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:19 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:32 2008 -0800"
      },
      "message": "local_t m32r use architecture specific cmpxchg_local\n\nOn m32r, use the new cmpxchg_local as primitive for the local_cmpxchg\noperation.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nAcked-by: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f94d1d3a1df125461a16b2888eca46d64f113e3a",
      "tree": "35991d4f2f00dd9f3df1fe5d0ca53b5e01545f67",
      "parents": [
        "7b631c2de63b4475351258197409983c8189ed04"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:18 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:32 2008 -0800"
      },
      "message": "Fix m32r __xchg\n\nthe #endif  /* CONFIG_SMP */ should cover the default condition, or it may cause\nbad parameter to be silently missed.\n\nTo make it work correctly, we have to remove the ifdef CONFIG SMP surrounding\n__xchg_called_with_bad_pointer declaration. Thanks to Adrian Bunk for detecting\nthis.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nAcked-by: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nCc: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7b631c2de63b4475351258197409983c8189ed04",
      "tree": "915d5b3d1b7ba8f47e0f5abfba70aec94c106d9e",
      "parents": [
        "4b78fff6e736cae55dc3fb5570c7ef4037eca9b7"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:17 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:32 2008 -0800"
      },
      "message": "New cmpxchg_local (optimized for UP case) for m32r\n\nAdd __xchg_local, xchg_local (define), __cmpxchg_local_u32, __cmpxchg_local,\ncmpxchg_local(macro).\n\ncmpxchg_local and cmpxchg64_local will use the architecture specific\n__cmpxchg_local_u32 for 32 bits arguments, and use the generic\n__cmpxchg_local_generic for 8, 16 and 64 bits arguments.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nAcked-by: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4b78fff6e736cae55dc3fb5570c7ef4037eca9b7",
      "tree": "1ef5848902fd8222fb2280e48d19575a19aa8809",
      "parents": [
        "aebb77aef4b50a157bf0185de31d1aede3ca2312"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:16 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:32 2008 -0800"
      },
      "message": "Add cmpxchg_local, cmpxchg64 and cmpxchg64_local to ia64\n\nAdd the primitives cmpxchg_local, cmpxchg64 and cmpxchg64_local to ia64. They\nuse cmpxchg_acq as underlying macro, just like the already existing ia64\ncmpxchg().\n\nChangelog:\n\nia64 cmpxchg_local coding style fix\nQuoting Keith Owens:\n\nAs a matter of coding style, I prefer\n\n#define cmpxchg_local   cmpxchg\n#define cmpxchg64_local cmpxchg64\n\nWhich makes it absolutely clear that they are the same code.  With your\npatch, humans have to do a string compare of two defines to see if they\nare the same.\n\nNote cmpxchg is *not* a performance win vs interrupt disable / enable on IA64.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nAcked-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Keith Owens \u003ckaos@ocs.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "aebb77aef4b50a157bf0185de31d1aede3ca2312",
      "tree": "0f4b5f17120b93193d06dcf9f6ca270f2c06c5fc",
      "parents": [
        "14e0cb3c60b89c4a2512852ffc18601c72314a0f"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:15 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:32 2008 -0800"
      },
      "message": "Add cmpxchg_local to h8300\n\nUse the new generic cmpxchg_local (disables interrupt). Also use the generic\ncmpxchg as fallback if SMP is not set.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "14e0cb3c60b89c4a2512852ffc18601c72314a0f",
      "tree": "59267c487c31f18036ac8c1a28a2250c3bd97f60",
      "parents": [
        "7732ba3abc5a53e7e1d93afd5a5a6ccf74f2ce53"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:14 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:32 2008 -0800"
      },
      "message": "Add cmpxchg_local to frv\n\nUse the new generic cmpxchg_local (disables interrupt) for 8, 16 and 64 bits\narguments. Use the 32 bits cmpxchg available on the architecture for 32 bits\narguments.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7732ba3abc5a53e7e1d93afd5a5a6ccf74f2ce53",
      "tree": "0dec1b2b4457d0db2ccd04eab6999c3b84c711f7",
      "parents": [
        "10b8827068377a11ed0e396248f7d02751fe5f17"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:14 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:31 2008 -0800"
      },
      "message": "Add cmpxchg_local to cris\n\nUse the new generic cmpxchg_local (disables interrupt). Also use the generic\ncmpxchg as fallback if SMP is not set.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "10b8827068377a11ed0e396248f7d02751fe5f17",
      "tree": "2ca6e89cc47354ac2cec717e186ede7f24e0b8fd",
      "parents": [
        "5e86c11d3eb4662000f3ced7344352b2ca319d03"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:13 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:31 2008 -0800"
      },
      "message": "Add cmpxchg_local to blackfin, replace __cmpxchg by generic cmpxchg\n\nUse the new generic cmpxchg_local (disables interrupt). Also use the generic\ncmpxchg as fallback if SMP is not set since nobody seems to know why __cmpxchg\nhas been implemented in assembly in the first place thather than in plain C.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Bryan Wu \u003cbryan.wu@analog.com\u003e\nCc: Michael Frysinger \u003cmichael.frysinger@analog.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5e86c11d3eb4662000f3ced7344352b2ca319d03",
      "tree": "30332e5df3105622e2b5443aa346c739a89f37f6",
      "parents": [
        "176393d4232a89aaf8745b0726f4d212a20103f1"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:12 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:31 2008 -0800"
      },
      "message": "Add cmpxchg_local to avr32\n\nUse the new generic cmpxchg_local (disables interrupt) for 8, 16 and 64 bits\ncmpxchg_local. Use the __cmpxchg_u32 primitive for 32 bits cmpxchg_local.\n\nNote that cmpxchg only uses the __cmpxchg_u32 or __cmpxchg_u64 and will cause\na linker error if called with 8 or 16 bits argument.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nAcked-by: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nCc: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "176393d4232a89aaf8745b0726f4d212a20103f1",
      "tree": "f5d64f19a7db6da5d694c209fa8ac2d6ce43dd29",
      "parents": [
        "32f49eab5e893007c0064f465c857ac7c4d40b77"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:11 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:31 2008 -0800"
      },
      "message": "Add cmpxchg_local to arm\n\nUse the new generic cmpxchg_local (disables interrupt). Also use the generic\ncmpxchg as fallback if SMP is not set.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "32f49eab5e893007c0064f465c857ac7c4d40b77",
      "tree": "dd3a69e196fee7311d61dda8c17dd62a451070b2",
      "parents": [
        "f9c4650bcfb4b21126525f73f10d635284e16056"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:10 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:31 2008 -0800"
      },
      "message": "Add cmpxchg64 and cmpxchg64_local to x86_64\n\nMake sure that at least cmpxchg64_local is available on all architectures to use\nfor unsigned long long values.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f9c4650bcfb4b21126525f73f10d635284e16056",
      "tree": "11927048b5ae34472043b894e9646d1e4635ae99",
      "parents": [
        "3b96a56d395a4dcf4c05c48d8f4e74b1f8bd073d"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:10 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:30 2008 -0800"
      },
      "message": "Add cmpxchg64 and cmpxchg64_local to powerpc\n\nMake sure that at least cmpxchg64_local is available on all architectures to use\nfor unsigned long long values.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nAcked-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3b96a56d395a4dcf4c05c48d8f4e74b1f8bd073d",
      "tree": "1c4e8cb7c5ea7e7af7dd8e4c07b429dffa4b9cc5",
      "parents": [
        "a259b2428b10c19b94e346bc69d5b3bf9bff488e"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:09 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:30 2008 -0800"
      },
      "message": "Add cmpxchg64 and cmpxchg64_local to mips\n\nMake sure that at least cmpxchg64_local is available on all architectures to use\nfor unsigned long long values.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a259b2428b10c19b94e346bc69d5b3bf9bff488e",
      "tree": "ceb0536890fc85e46b905239ffe44077be695b03",
      "parents": [
        "068fbad288a2c18b75b0425fb56d241f018a1cb5"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:08 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:30 2008 -0800"
      },
      "message": "Add cmpxchg64 and cmpxchg64_local to alpha\n\nMake sure that at least cmpxchg64_local is available on all architectures to use\nfor unsigned long long values.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "068fbad288a2c18b75b0425fb56d241f018a1cb5",
      "tree": "441674bb0658208fbc5f6eab96b8641ab7345caf",
      "parents": [
        "6e16d89bcd668a95eb22add24c02d80890232b66"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:07 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:30 2008 -0800"
      },
      "message": "Add cmpxchg_local to asm-generic for per cpu atomic operations\n\nEmulates the cmpxchg_local by disabling interrupts around variable modification.\nThis is not reentrant wrt NMIs and MCEs. It is only protected against normal\ninterrupts, but this is enough for architectures without such interrupt sources\nor if used in a context where the data is not shared with such handlers.\n\nIt can be used as a fallback for architectures lacking a real cmpxchg\ninstruction.\n\nFor architectures that have a real cmpxchg but does not have NMIs or MCE,\ntesting which of the generic vs architecture specific cmpxchg is the fastest\nshould be done.\n\nasm-generic/cmpxchg.h defines a cmpxchg that uses cmpxchg_local. It is meant to\nbe used as a cmpxchg fallback for architectures that do not support SMP.\n\n* Patch series comments\n\nUsing cmpxchg_local shows a performance improvements of the fast path goes from\na 66% speedup on a Pentium 4 to a 14% speedup on AMD64.\n\nIn detail:\n\nTested-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nMeasurements on a Pentium4, 3GHz, Hyperthread.\nSLUB Performance testing\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n1. Kmalloc: Repeatedly allocate then free test\n\n* slub HEAD, test 1\nkmalloc(8) \u003d 201 cycles         kfree \u003d 351 cycles\nkmalloc(16) \u003d 198 cycles        kfree \u003d 359 cycles\nkmalloc(32) \u003d 200 cycles        kfree \u003d 381 cycles\nkmalloc(64) \u003d 224 cycles        kfree \u003d 394 cycles\nkmalloc(128) \u003d 285 cycles       kfree \u003d 424 cycles\nkmalloc(256) \u003d 411 cycles       kfree \u003d 546 cycles\nkmalloc(512) \u003d 480 cycles       kfree \u003d 619 cycles\nkmalloc(1024) \u003d 623 cycles      kfree \u003d 750 cycles\nkmalloc(2048) \u003d 686 cycles      kfree \u003d 811 cycles\nkmalloc(4096) \u003d 482 cycles      kfree \u003d 538 cycles\nkmalloc(8192) \u003d 680 cycles      kfree \u003d 734 cycles\nkmalloc(16384) \u003d 713 cycles     kfree \u003d 843 cycles\n\n* Slub HEAD, test 2\nkmalloc(8) \u003d 190 cycles         kfree \u003d 351 cycles\nkmalloc(16) \u003d 195 cycles        kfree \u003d 360 cycles\nkmalloc(32) \u003d 201 cycles        kfree \u003d 370 cycles\nkmalloc(64) \u003d 245 cycles        kfree \u003d 389 cycles\nkmalloc(128) \u003d 283 cycles       kfree \u003d 413 cycles\nkmalloc(256) \u003d 409 cycles       kfree \u003d 547 cycles\nkmalloc(512) \u003d 476 cycles       kfree \u003d 616 cycles\nkmalloc(1024) \u003d 628 cycles      kfree \u003d 753 cycles\nkmalloc(2048) \u003d 684 cycles      kfree \u003d 811 cycles\nkmalloc(4096) \u003d 480 cycles      kfree \u003d 539 cycles\nkmalloc(8192) \u003d 661 cycles      kfree \u003d 746 cycles\nkmalloc(16384) \u003d 741 cycles     kfree \u003d 856 cycles\n\n* cmpxchg_local Slub test\nkmalloc(8) \u003d 83 cycles          kfree \u003d 363 cycles\nkmalloc(16) \u003d 85 cycles         kfree \u003d 372 cycles\nkmalloc(32) \u003d 92 cycles         kfree \u003d 377 cycles\nkmalloc(64) \u003d 115 cycles        kfree \u003d 397 cycles\nkmalloc(128) \u003d 179 cycles       kfree \u003d 438 cycles\nkmalloc(256) \u003d 314 cycles       kfree \u003d 564 cycles\nkmalloc(512) \u003d 398 cycles       kfree \u003d 615 cycles\nkmalloc(1024) \u003d 573 cycles      kfree \u003d 745 cycles\nkmalloc(2048) \u003d 629 cycles      kfree \u003d 816 cycles\nkmalloc(4096) \u003d 473 cycles      kfree \u003d 548 cycles\nkmalloc(8192) \u003d 659 cycles      kfree \u003d 745 cycles\nkmalloc(16384) \u003d 724 cycles     kfree \u003d 843 cycles\n\n2. Kmalloc: alloc/free test\n\n* slub HEAD, test 1\nkmalloc(8)/kfree \u003d 322 cycles\nkmalloc(16)/kfree \u003d 318 cycles\nkmalloc(32)/kfree \u003d 318 cycles\nkmalloc(64)/kfree \u003d 325 cycles\nkmalloc(128)/kfree \u003d 318 cycles\nkmalloc(256)/kfree \u003d 328 cycles\nkmalloc(512)/kfree \u003d 328 cycles\nkmalloc(1024)/kfree \u003d 328 cycles\nkmalloc(2048)/kfree \u003d 328 cycles\nkmalloc(4096)/kfree \u003d 678 cycles\nkmalloc(8192)/kfree \u003d 1013 cycles\nkmalloc(16384)/kfree \u003d 1157 cycles\n\n* Slub HEAD, test 2\nkmalloc(8)/kfree \u003d 323 cycles\nkmalloc(16)/kfree \u003d 318 cycles\nkmalloc(32)/kfree \u003d 318 cycles\nkmalloc(64)/kfree \u003d 318 cycles\nkmalloc(128)/kfree \u003d 318 cycles\nkmalloc(256)/kfree \u003d 328 cycles\nkmalloc(512)/kfree \u003d 328 cycles\nkmalloc(1024)/kfree \u003d 328 cycles\nkmalloc(2048)/kfree \u003d 328 cycles\nkmalloc(4096)/kfree \u003d 648 cycles\nkmalloc(8192)/kfree \u003d 1009 cycles\nkmalloc(16384)/kfree \u003d 1105 cycles\n\n* cmpxchg_local Slub test\nkmalloc(8)/kfree \u003d 112 cycles\nkmalloc(16)/kfree \u003d 103 cycles\nkmalloc(32)/kfree \u003d 103 cycles\nkmalloc(64)/kfree \u003d 103 cycles\nkmalloc(128)/kfree \u003d 112 cycles\nkmalloc(256)/kfree \u003d 111 cycles\nkmalloc(512)/kfree \u003d 111 cycles\nkmalloc(1024)/kfree \u003d 111 cycles\nkmalloc(2048)/kfree \u003d 121 cycles\nkmalloc(4096)/kfree \u003d 650 cycles\nkmalloc(8192)/kfree \u003d 1042 cycles\nkmalloc(16384)/kfree \u003d 1149 cycles\n\nTested-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nMeasurements on a AMD64 2.0 GHz dual-core\n\nIn this test, we seem to remove 10 cycles from the kmalloc fast path.\nOn small allocations, it gives a 14% performance increase. kfree fast\npath also seems to have a 10 cycles improvement.\n\n1. Kmalloc: Repeatedly allocate then free test\n\n* cmpxchg_local slub\nkmalloc(8) \u003d 63 cycles      kfree \u003d 126 cycles\nkmalloc(16) \u003d 66 cycles     kfree \u003d 129 cycles\nkmalloc(32) \u003d 76 cycles     kfree \u003d 138 cycles\nkmalloc(64) \u003d 100 cycles    kfree \u003d 288 cycles\nkmalloc(128) \u003d 128 cycles   kfree \u003d 309 cycles\nkmalloc(256) \u003d 170 cycles   kfree \u003d 315 cycles\nkmalloc(512) \u003d 221 cycles   kfree \u003d 357 cycles\nkmalloc(1024) \u003d 324 cycles  kfree \u003d 393 cycles\nkmalloc(2048) \u003d 354 cycles  kfree \u003d 440 cycles\nkmalloc(4096) \u003d 394 cycles  kfree \u003d 330 cycles\nkmalloc(8192) \u003d 523 cycles  kfree \u003d 481 cycles\nkmalloc(16384) \u003d 643 cycles kfree \u003d 649 cycles\n\n* Base\nkmalloc(8) \u003d 74 cycles      kfree \u003d 113 cycles\nkmalloc(16) \u003d 76 cycles     kfree \u003d 116 cycles\nkmalloc(32) \u003d 85 cycles     kfree \u003d 133 cycles\nkmalloc(64) \u003d 111 cycles    kfree \u003d 279 cycles\nkmalloc(128) \u003d 138 cycles   kfree \u003d 294 cycles\nkmalloc(256) \u003d 181 cycles   kfree \u003d 304 cycles\nkmalloc(512) \u003d 237 cycles   kfree \u003d 327 cycles\nkmalloc(1024) \u003d 340 cycles  kfree \u003d 379 cycles\nkmalloc(2048) \u003d 378 cycles  kfree \u003d 433 cycles\nkmalloc(4096) \u003d 399 cycles  kfree \u003d 329 cycles\nkmalloc(8192) \u003d 528 cycles  kfree \u003d 624 cycles\nkmalloc(16384) \u003d 651 cycles kfree \u003d 737 cycles\n\n2. Kmalloc: alloc/free test\n\n* cmpxchg_local slub\nkmalloc(8)/kfree \u003d 96 cycles\nkmalloc(16)/kfree \u003d 97 cycles\nkmalloc(32)/kfree \u003d 97 cycles\nkmalloc(64)/kfree \u003d 97 cycles\nkmalloc(128)/kfree \u003d 97 cycles\nkmalloc(256)/kfree \u003d 105 cycles\nkmalloc(512)/kfree \u003d 108 cycles\nkmalloc(1024)/kfree \u003d 105 cycles\nkmalloc(2048)/kfree \u003d 107 cycles\nkmalloc(4096)/kfree \u003d 390 cycles\nkmalloc(8192)/kfree \u003d 626 cycles\nkmalloc(16384)/kfree \u003d 662 cycles\n\n* Base\nkmalloc(8)/kfree \u003d 116 cycles\nkmalloc(16)/kfree \u003d 116 cycles\nkmalloc(32)/kfree \u003d 116 cycles\nkmalloc(64)/kfree \u003d 116 cycles\nkmalloc(128)/kfree \u003d 116 cycles\nkmalloc(256)/kfree \u003d 126 cycles\nkmalloc(512)/kfree \u003d 126 cycles\nkmalloc(1024)/kfree \u003d 126 cycles\nkmalloc(2048)/kfree \u003d 126 cycles\nkmalloc(4096)/kfree \u003d 384 cycles\nkmalloc(8192)/kfree \u003d 749 cycles\nkmalloc(16384)/kfree \u003d 786 cycles\n\nTested-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nI can confirm Mathieus\u0027 measurement now:\n\nAthlon64:\n\nregular NUMA/discontig\n\n1. Kmalloc: Repeatedly allocate then free test\n10000 times kmalloc(8) -\u003e 79 cycles kfree -\u003e 92 cycles\n10000 times kmalloc(16) -\u003e 79 cycles kfree -\u003e 93 cycles\n10000 times kmalloc(32) -\u003e 88 cycles kfree -\u003e 95 cycles\n10000 times kmalloc(64) -\u003e 124 cycles kfree -\u003e 132 cycles\n10000 times kmalloc(128) -\u003e 157 cycles kfree -\u003e 247 cycles\n10000 times kmalloc(256) -\u003e 200 cycles kfree -\u003e 257 cycles\n10000 times kmalloc(512) -\u003e 250 cycles kfree -\u003e 277 cycles\n10000 times kmalloc(1024) -\u003e 337 cycles kfree -\u003e 314 cycles\n10000 times kmalloc(2048) -\u003e 365 cycles kfree -\u003e 330 cycles\n10000 times kmalloc(4096) -\u003e 352 cycles kfree -\u003e 240 cycles\n10000 times kmalloc(8192) -\u003e 456 cycles kfree -\u003e 340 cycles\n10000 times kmalloc(16384) -\u003e 646 cycles kfree -\u003e 471 cycles\n2. Kmalloc: alloc/free test\n10000 times kmalloc(8)/kfree -\u003e 124 cycles\n10000 times kmalloc(16)/kfree -\u003e 124 cycles\n10000 times kmalloc(32)/kfree -\u003e 124 cycles\n10000 times kmalloc(64)/kfree -\u003e 124 cycles\n10000 times kmalloc(128)/kfree -\u003e 124 cycles\n10000 times kmalloc(256)/kfree -\u003e 132 cycles\n10000 times kmalloc(512)/kfree -\u003e 132 cycles\n10000 times kmalloc(1024)/kfree -\u003e 132 cycles\n10000 times kmalloc(2048)/kfree -\u003e 132 cycles\n10000 times kmalloc(4096)/kfree -\u003e 319 cycles\n10000 times kmalloc(8192)/kfree -\u003e 486 cycles\n10000 times kmalloc(16384)/kfree -\u003e 539 cycles\n\ncmpxchg_local NUMA/discontig\n\n1. Kmalloc: Repeatedly allocate then free test\n10000 times kmalloc(8) -\u003e 55 cycles kfree -\u003e 90 cycles\n10000 times kmalloc(16) -\u003e 55 cycles kfree -\u003e 92 cycles\n10000 times kmalloc(32) -\u003e 70 cycles kfree -\u003e 91 cycles\n10000 times kmalloc(64) -\u003e 100 cycles kfree -\u003e 141 cycles\n10000 times kmalloc(128) -\u003e 128 cycles kfree -\u003e 233 cycles\n10000 times kmalloc(256) -\u003e 172 cycles kfree -\u003e 251 cycles\n10000 times kmalloc(512) -\u003e 225 cycles kfree -\u003e 275 cycles\n10000 times kmalloc(1024) -\u003e 325 cycles kfree -\u003e 311 cycles\n10000 times kmalloc(2048) -\u003e 346 cycles kfree -\u003e 330 cycles\n10000 times kmalloc(4096) -\u003e 351 cycles kfree -\u003e 238 cycles\n10000 times kmalloc(8192) -\u003e 450 cycles kfree -\u003e 342 cycles\n10000 times kmalloc(16384) -\u003e 630 cycles kfree -\u003e 546 cycles\n2. Kmalloc: alloc/free test\n10000 times kmalloc(8)/kfree -\u003e 81 cycles\n10000 times kmalloc(16)/kfree -\u003e 81 cycles\n10000 times kmalloc(32)/kfree -\u003e 81 cycles\n10000 times kmalloc(64)/kfree -\u003e 81 cycles\n10000 times kmalloc(128)/kfree -\u003e 81 cycles\n10000 times kmalloc(256)/kfree -\u003e 91 cycles\n10000 times kmalloc(512)/kfree -\u003e 90 cycles\n10000 times kmalloc(1024)/kfree -\u003e 91 cycles\n10000 times kmalloc(2048)/kfree -\u003e 90 cycles\n10000 times kmalloc(4096)/kfree -\u003e 318 cycles\n10000 times kmalloc(8192)/kfree -\u003e 483 cycles\n10000 times kmalloc(16384)/kfree -\u003e 536 cycles\n\nChangelog:\n- Ran though checkpatch.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6e16d89bcd668a95eb22add24c02d80890232b66",
      "tree": "8d5fcab14edac7d36c67e8a57abb5025cfaa2c2d",
      "parents": [
        "ed7b1889da256977574663689b598d88950bbd23"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Thu Feb 07 00:15:57 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:30 2008 -0800"
      },
      "message": "Sanitize the type of struct user.u_ar0\n\nstruct user.u_ar0 is defined to contain a pointer offset on all\narchitectures in which it is defined (all architectures which define an\na.out format except SPARC.) However, it has a pointer type in the headers,\nwhich is pointless -- \u003casm/user.h\u003e is not exported to userspace, and it\njust makes the code messy.\n\nRedefine the field as \"unsigned long\" (which is the same size as a pointer\non all Linux architectures) and change the setting code to user offsetof()\ninstead of hand-coded arithmetic.\n\nCc: Linux Arch Mailing List \u003clinux-arch@vger.kernel.org\u003e\nCc: Bryan Wu \u003cbryan.wu@analog.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Lennert Buytenhek \u003ckernel@wantstofly.org\u003e\nCc: Håvard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.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\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ed7b1889da256977574663689b598d88950bbd23",
      "tree": "bdbf8d12826dece7ec4ccb4edcb18cd66dc842a0",
      "parents": [
        "6cc931b9b5ec652c90b928f3ec2163f261552c91"
      ],
      "author": {
        "name": "Kirill A. Shutemov",
        "email": "k.shutemov@gmail.com",
        "time": "Thu Feb 07 00:15:56 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:30 2008 -0800"
      },
      "message": "Unexport asm/page.h\n\nDo not export asm/page.h during make headers_install.  This removes PAGE_SIZE\nfrom userspace headers.\n\nSigned-off-by: Kirill A. Shutemov \u003ck.shutemov@gmail.com\u003e\nReviewed-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6cc931b9b5ec652c90b928f3ec2163f261552c91",
      "tree": "0f01557ada755c56baffe102614149ad190ebb02",
      "parents": [
        "516c25a86f6bdad77ded01a43c52c5569c8d690c"
      ],
      "author": {
        "name": "Kirill A. Shutemov",
        "email": "k.shutemov@gmail.com",
        "time": "Thu Feb 07 00:15:55 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:30 2008 -0800"
      },
      "message": "Unexport asm/elf.h\n\nDo not export asm/elf.h during make headers_install.\n\nSigned-off-by: Kirill A. Shutemov \u003ck.shutemov@gmail.com\u003e\nReviewed-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "516c25a86f6bdad77ded01a43c52c5569c8d690c",
      "tree": "e7404e73fd103f70958ccb1bc1c74ff1c7ff48bf",
      "parents": [
        "c1445db9f72db0537c43a2eab6e1b0f6741162f5"
      ],
      "author": {
        "name": "Kirill A. Shutemov",
        "email": "k.shutemov@gmail.com",
        "time": "Thu Feb 07 00:15:54 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:30 2008 -0800"
      },
      "message": "Cleanup asm/{elf,page,user}.h: #ifdef __KERNEL__ is no longer needed\n\nasm/elf.h, asm/page.h and asm/user.h don\u0027t export to userspace now, so we can\ndrop #ifdef __KERNEL__ for them.\n\n[k.shutemov@gmail.com: remove #ifdef __KERNEL_]\nSigned-off-by: Kirill A. Shutemov \u003ck.shutemov@gmail.com\u003e\nReviewed-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Kirill A. Shutemov \u003ck.shutemov@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c1445db9f72db0537c43a2eab6e1b0f6741162f5",
      "tree": "3ea99c656c8d3699631c29d003ffe2f81752eb79",
      "parents": [
        "12debc4248a4a7f1873e47cda2cdd7faca80b099"
      ],
      "author": {
        "name": "Kirill A. Shutemov",
        "email": "k.shutemov@gmail.com",
        "time": "Thu Feb 07 00:15:53 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:29 2008 -0800"
      },
      "message": "Unexport asm/user.h and linux/user.h\n\nDo not export asm/user.h and linux/user.h during make headers_install.\n\nSigned-off-by: Kirill A. Shutemov \u003ck.shutemov@gmail.com\u003e\nReviewed-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nAcked-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "12debc4248a4a7f1873e47cda2cdd7faca80b099",
      "tree": "1ad80b77d213ea09cb746d6e4d50c4316462a452",
      "parents": [
        "755aedc15900ff7d83dd046f632af9a680b0c28f"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:52 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:29 2008 -0800"
      },
      "message": "iget: remove iget() and the read_inode() super op as being obsolete\n\nRemove the old iget() call and the read_inode() superblock operation it uses\nas these are really obsolete, and the use of read_inode() does not produce\nproper error handling (no distinction between ENOMEM and EIO when marking an\ninode bad).\n\nFurthermore, this removes the temptation to use iget() to find an inode by\nnumber in a filesystem from code outside that filesystem.\n\niget_locked() should be used instead.  A new function is added in an earlier\npatch (iget_failed) that is to be called to mark an inode as bad, unlock it\nand release it should the get routine fail.  Mark iget() and read_inode() as\nbeing obsolete and remove references to them from the documentation.\n\nTypically a filesystem will be modified such that the read_inode function\nbecomes an internal iget function, for example the following:\n\n\tvoid thingyfs_read_inode(struct inode *inode)\n\t{\n\t\t...\n\t}\n\nwould be changed into something like:\n\n\tstruct inode *thingyfs_iget(struct super_block *sp, unsigned long ino)\n\t{\n\t\tstruct inode *inode;\n\t\tint ret;\n\n\t\tinode \u003d iget_locked(sb, ino);\n\t\tif (!inode)\n\t\t\treturn ERR_PTR(-ENOMEM);\n\t\tif (!(inode-\u003ei_state \u0026 I_NEW))\n\t\t\treturn inode;\n\n\t\t...\n\t\tunlock_new_inode(inode);\n\t\treturn inode;\n\terror:\n\t\tiget_failed(inode);\n\t\treturn ERR_PTR(ret);\n\t}\n\nand then thingyfs_iget() would be called rather than iget(), for example:\n\n\tret \u003d -EINVAL;\n\tinode \u003d iget(sb, ino);\n\tif (!inode || is_bad_inode(inode))\n\t\tgoto error;\n\nbecomes:\n\n\tinode \u003d thingyfs_iget(sb, ino);\n\tif (IS_ERR(inode)) {\n\t\tret \u003d PTR_ERR(inode);\n\t\tgoto error;\n\t}\n\nNote that is_bad_inode() does not need to be called.  The error returned by\nthingyfs_iget() should render it unnecessary.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2b7e5bcbd9e03f7236d2869f4261059074ea50a2",
      "tree": "fcc75f21bf6a3a65ee28909919bf36f58d667720",
      "parents": [
        "a1d4aebbfa91c55a6b0c629a9ccf6369be0c6e95"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:45 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:28 2008 -0800"
      },
      "message": "iget: stop QNX4 from using iget() and read_inode()\n\nStop the QNX4 filesystem from using iget() and read_inode().  Replace\nqnx4_read_inode() with qnx4_iget(), and call that instead of iget().\nqnx4_iget() then uses iget_locked() directly and returns a proper error code\ninstead of an inode in the event of an error.\n\nqnx4_fill_super() returns any error incurred when getting the root inode\ninstead of EINVAL.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Anders Larsen \u003cal@alarsen.net\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1d1fe1ee02b9ac2660995b10e35dd41448fef011",
      "tree": "8961bbe5a36a07dc8ad8c6cd3e973ce0fcde5850",
      "parents": [
        "473043dcee1874aab99f66b0362b344618eb3790"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:37 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:27 2008 -0800"
      },
      "message": "iget: stop EXT4 from using iget() and read_inode()\n\nStop the EXT4 filesystem from using iget() and read_inode().  Replace\next4_read_inode() with ext4_iget(), and call that instead of iget().\next4_iget() then uses iget_locked() directly and returns a proper error code\ninstead of an inode in the event of an error.\n\next4_fill_super() returns any error incurred when getting the root inode\ninstead of EINVAL.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "473043dcee1874aab99f66b0362b344618eb3790",
      "tree": "bc329501ec6cd0d31dfe11d4587347093dca4ccf",
      "parents": [
        "52fcf7032935b33158e3998ed399cac97447ab8d"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:36 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:27 2008 -0800"
      },
      "message": "iget: stop EXT3 from using iget() and read_inode()\n\nStop the EXT3 filesystem from using iget() and read_inode().  Replace\next3_read_inode() with ext3_iget(), and call that instead of iget().\next3_iget() then uses iget_locked() directly and returns a proper error code\ninstead of an inode in the event of an error.\n\next3_fill_super() returns any error incurred when getting the root inode\ninstead of EINVAL.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "298384cd7929a3a14d7b116095973f0d02f5d09e",
      "tree": "651ef96b214831a77e12b120d8eb5262a9d49d74",
      "parents": [
        "ce634ab28e7dbcc13ebe6e7bc5bc7de4f8def4c8"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:34 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:27 2008 -0800"
      },
      "message": "iget: stop EFS from using iget() and read_inode()\n\nStop the EFS filesystem from using iget() and read_inode().  Replace\nefs_read_inode() with efs_iget(), and call that instead of iget().  efs_iget()\nthen uses iget_locked() directly and returns a proper error code instead of an\ninode in the event of an error.\n\nefs_fill_super() returns any error incurred when getting the root inode\ninstead of EACCES.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b46980feed937868d3333514028bfbe9a651e4ca",
      "tree": "97e610932986223932887af3c0ea00234856e540",
      "parents": [
        "e231c2ee64eb1c5cd3c63c31da9dac7d888dcf7f"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:27 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:26 2008 -0800"
      },
      "message": "iget: introduce a function to register iget failure\n\nIntroduce a function to register failure in an inode construction path.  This\nincludes marking the inode under construction as bad, unlocking it and\nreleasing it.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d1bc8e95445224276d7896b8b08cbb0b28a0ca80",
      "tree": "2742bf56000c4af02314d753b2416b5cabc520d5",
      "parents": [
        "ae5e29798afa2b11a01fcb4fab8b58fee47fe155"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:26 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:25 2008 -0800"
      },
      "message": "Add an ERR_CAST() function to complement ERR_PTR and co.\n\nAdd an ERR_CAST() function to complement ERR_PTR and co.  for the purposes\nof casting an error entyped as one pointer type to an error of another\npointer type whilst making it explicit as to what is going on.\n\nThis provides a replacement for the ERR_PTR(PTR_ERR(p)) construct.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bba1f603b88f30945ae4c5eccf2a6f5a12b877c5",
      "tree": "ae084f845fa4ede7b2926381419d725b7dd7d5d7",
      "parents": [
        "1e4f2955433231b4b02dc4a9eb5d4d403a8680e1"
      ],
      "author": {
        "name": "Ken\u0027ichi Ohmichi",
        "email": "oomichi@mxs.nes.nec.co.jp",
        "time": "Thu Feb 07 00:15:22 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:25 2008 -0800"
      },
      "message": "vmcoreinfo: add \"VMCOREINFO_\" to all the call for vmcoreinfo_append_str()\n\nFor readability, all the calls to vmcoreinfo_append_str() are changed to macros\nhaving a prefix \"VMCOREINFO_\".\n\nThis discussion is the following:\nhttp://www.ussg.iu.edu/hypermail/linux/kernel/0709.3/0584.html\n\nSigned-off-by: Ken\u0027ichi Ohmichi \u003coomichi@mxs.nes.nec.co.jp\u003e\nAcked-by: Simon Horman \u003chorms@verge.net.au\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1e4f2955433231b4b02dc4a9eb5d4d403a8680e1",
      "tree": "8414e9b4b5b22f201cbd993630d8ac13a98cd24c",
      "parents": [
        "c76f860c44357f560a763d2894e95464cab7b159"
      ],
      "author": {
        "name": "Ken\u0027ichi Ohmichi",
        "email": "oomichi@mxs.nes.nec.co.jp",
        "time": "Thu Feb 07 00:15:22 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:25 2008 -0800"
      },
      "message": "vmcoreinfo: use the existing offsetof() for VMCOREINFO_OFFSET()\n\nIt is better that the existing offsetof() is used for VMCOREINFO_OFFSET().\n\nThis discussion is the following:\nhttp://www.ussg.iu.edu/hypermail/linux/kernel/0709.3/0584.html\n\nSigned-off-by: Ken\u0027ichi Ohmichi \u003coomichi@mxs.nes.nec.co.jp\u003e\nAcked-by: Simon Horman \u003chorms@verge.net.au\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c76f860c44357f560a763d2894e95464cab7b159",
      "tree": "49cc50570ae34b02222cf5a7f1023e5828ae246b",
      "parents": [
        "18a01a3beb9f25a70a51e12e3c1c3d273da10eca"
      ],
      "author": {
        "name": "Ken\u0027ichi Ohmichi",
        "email": "oomichi@mxs.nes.nec.co.jp",
        "time": "Thu Feb 07 00:15:20 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:25 2008 -0800"
      },
      "message": "vmcoreinfo: rename vmcoreinfo\u0027s macros returning the size\n\nThis patchset is for the vmcoreinfo data.\n\nThe vmcoreinfo data has the minimum debugging information only for dump\nfiltering.  makedumpfile (dump filtering command) gets it to distinguish\nunnecessary pages, and makedumpfile creates a small dumpfile.\n\nThis patch:\n\nVMCOREINFO_SIZE() should be renamed VMCOREINFO_STRUCT_SIZE() since it\u0027s always\nreturning the size of the struct with a given name. This change would allow\nVMCOREINFO_TYPEDEF_SIZE() to simply become VMCOREINFO_SIZE() since it need not\nbe used exclusively for typedefs.\n\nThis discussion is the following:\nhttp://www.ussg.iu.edu/hypermail/linux/kernel/0709.3/0582.html\n\nSigned-off-by: Ken\u0027ichi Ohmichi \u003coomichi@mxs.nes.nec.co.jp\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nAcked-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "72a7fe3967dbf86cb34e24fbf1d957fe24d2f246",
      "tree": "c19f7d0b530577359840e959cce204939caf0649",
      "parents": [
        "25fad945a7f7ff2cf06e437381c6a1121784dbd9"
      ],
      "author": {
        "name": "Bernhard Walle",
        "email": "bwalle@suse.de",
        "time": "Thu Feb 07 00:15:17 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:25 2008 -0800"
      },
      "message": "Introduce flags for reserve_bootmem()\n\nThis patchset adds a flags variable to reserve_bootmem() and uses the\nBOOTMEM_EXCLUSIVE flag in crashkernel reservation code to detect collisions\nbetween crashkernel area and already used memory.\n\nThis patch:\n\nChange the reserve_bootmem() function to accept a new flag BOOTMEM_EXCLUSIVE.\nIf that flag is set, the function returns with -EBUSY if the memory already\nhas been reserved in the past.  This is to avoid conflicts.\n\nBecause that code runs before SMP initialisation, there\u0027s no race condition\ninside reserve_bootmem_core().\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: fix powerpc build]\nSigned-off-by: Bernhard Walle \u003cbwalle@suse.de\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Vivek Goyal \u003cvgoyal@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fa9ff4b185b8f7f124c1c6686f02e690f0625287",
      "tree": "f25c1f4f9b27f19070d8a79ea245137a5e10d04f",
      "parents": [
        "8f5aa26c75b7722e80c0c5c5bb833d41865d7019"
      ],
      "author": {
        "name": "Samuel Ortiz",
        "email": "sameo@openedhand.com",
        "time": "Thu Feb 07 00:14:49 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:23 2008 -0800"
      },
      "message": "ASIC3 driver\n\nThis is a patch for the Compaq ASIC3 multi function chip, found in many\nPDAs (iPAQs, HTCs...).\n\nIt is a simplified version of Paul Sokolovsky\u0027s first proposal [1].  With\nthis code, it is basically a GPIO and IRQ expander.  My plan is to add more\nfeatures once this patch gets reviewed and accepted.\n\n[1] http://lkml.org/lkml/2007/5/1/46\n\nSigned-off-by: Samuel Ortiz \u003csameo@openedhand.com\u003e\nCc: Paul Sokolovsky \u003cpmiscml@gmail.com\u003e\nCc: Ben Dooks \u003cben@trinity.fluff.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "956db3ca0606e78456786ef19fd4dc7a5151a6e1",
      "tree": "0bef3d107df1115ecf76e342f30ecee67a7f3705",
      "parents": [
        "31a7df01fd0cd786f60873a921aecafac148c290"
      ],
      "author": {
        "name": "Cliff Wickman",
        "email": "cpw@sgi.com",
        "time": "Thu Feb 07 00:14:43 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:22 2008 -0800"
      },
      "message": "hotplug cpu: move tasks in empty cpusets to parent\n\nThis patch corrects a situation that occurs when one disables all the cpus in\na cpuset.\n\nCurrently, the disabled (cpu-less) cpuset inherits the cpus of its parent,\nwhich is incorrect because it may then overlap its cpu-exclusive sibling.\n\nTasks of an empty cpuset should be moved to the cpuset which is the parent of\ntheir current cpuset.  Or if the parent cpuset has no cpus, to its parent,\netc.\n\nAnd the empty cpuset should be released (if it is flagged notify_on_release).\n\nDepends on the cgroup_scan_tasks() function (proposed by David Rientjes) to\niterate through all tasks in the cpu-less cpuset.  We are deliberately\navoiding a walk of the tasklist.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Cliff Wickman \u003ccpw@sgi.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "31a7df01fd0cd786f60873a921aecafac148c290",
      "tree": "221f00c864c50e7dc4719cb4de09292040567c55",
      "parents": [
        "dfc05c259e424e4160c66eab728f55cc4b53fd75"
      ],
      "author": {
        "name": "Cliff Wickman",
        "email": "cpw@sgi.com",
        "time": "Thu Feb 07 00:14:42 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:22 2008 -0800"
      },
      "message": "cgroups: mechanism to process each task in a cgroup\n\nProvide cgroup_scan_tasks(), which iterates through every task in a cgroup,\ncalling a test function and a process function for each.  And call the process\nfunction without holding the css_set_lock lock.\n\nThe idea is David Rientjes\u0027, predicting that such a function will make it much\neasier in the future to extend things that require access to each task in a\ncgroup without holding the lock,\n\n[akpm@linux-foundation.org: cleanup]\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Cliff Wickman \u003ccpw@sgi.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3c541e14bfa553133c3473a6ed3e4c0583ea2285",
      "tree": "4e8ca5d7272803d3fe1bb06963b132248d0b4240",
      "parents": [
        "072c56c13e1302fcdc39961dc64e76485731ad67"
      ],
      "author": {
        "name": "Balbir Singh",
        "email": "balbir@linux.vnet.ibm.com",
        "time": "Thu Feb 07 00:14:41 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:22 2008 -0800"
      },
      "message": "Memory controller remove control_type feature\n\nBased on the discussion at http://lkml.org/lkml/2007/12/20/383, it was felt\nthat control_type might not be a good thing to implement right away.  We\ncan add this flexibility at a later point when required.\n\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cc38108e1ba7f3b9e12b82d0236fa3730c2e0439",
      "tree": "6e51d191006b5db840c1eee659c372a2de7f85a8",
      "parents": [
        "6c48a1d040a9a9eaa4acdd7d4cb3885e04bf8413"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Thu Feb 07 00:14:35 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:22 2008 -0800"
      },
      "message": "per-zone and reclaim enhancements for memory controller: calculate the number of pages to be scanned per cgroup\n\nDefine function for calculating the number of scan target on each Zone/LRU.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Kirill Korotaev \u003cdev@sw.ru\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Pavel Emelianov \u003cxemul@openvz.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Vaidyanathan Srinivasan \u003csvaidy@linux.vnet.ibm.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6c48a1d040a9a9eaa4acdd7d4cb3885e04bf8413",
      "tree": "2fcfb405b5664028d337a8a185c696c9c1f23e64",
      "parents": [
        "5932f3671bb2dd873c5ac443cbf5dc2cd167ae94"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Thu Feb 07 00:14:34 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:22 2008 -0800"
      },
      "message": "per-zone and reclaim enhancements for memory controller: remember reclaim priority in memory cgroup\n\nFunctions to remember reclaim priority per cgroup (as zone-\u003eprev_priority)\n\n[akpm@linux-foundation.org: build fixes]\n[akpm@linux-foundation.org: more build fixes]\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Kirill Korotaev \u003cdev@sw.ru\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Pavel Emelianov \u003cxemul@openvz.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Vaidyanathan Srinivasan \u003csvaidy@linux.vnet.ibm.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5932f3671bb2dd873c5ac443cbf5dc2cd167ae94",
      "tree": "31e2a8fc80487b5ec80d7730c61b62127aebc15d",
      "parents": [
        "58ae83db2a40dea15d4277d499a11dadc823c388"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Thu Feb 07 00:14:33 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:21 2008 -0800"
      },
      "message": "per-zone and reclaim enhancements for memory controller: calculate active/inactive imbalance per cgroup\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Kirill Korotaev \u003cdev@sw.ru\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Pavel Emelianov \u003cxemul@openvz.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Vaidyanathan Srinivasan \u003csvaidy@linux.vnet.ibm.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "58ae83db2a40dea15d4277d499a11dadc823c388",
      "tree": "18e43609ab67a9577c01188d39714999d5ed03d0",
      "parents": [
        "6d12e2d8ddbe653d80ea4f71578481c1bc933025"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Thu Feb 07 00:14:32 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:21 2008 -0800"
      },
      "message": "per-zone and reclaim enhancements for memory controller: calculate mapper_ratio per cgroup\n\nDefine function for calculating mapped_ratio in memory cgroup.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Kirill Korotaev \u003cdev@sw.ru\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Pavel Emelianov \u003cxemul@openvz.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Vaidyanathan Srinivasan \u003csvaidy@linux.vnet.ibm.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4fca88c87b7969c698912e2de9b1b31088c777cb",
      "tree": "6a086aaffb4ec17eadd2f2427c5816a02be6606f",
      "parents": [
        "d2ceb9b7ddedbb2e8e590bc6ce33c854043016f9"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Thu Feb 07 00:14:27 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:20 2008 -0800"
      },
      "message": "memory cgroup enhancements: add- pre_destroy() handler\n\nAdd a handler \"pre_destroy\" to cgroup_subsys.  It is called before\ncgroup_rmdir() checks all subsys\u0027s refcnt.\n\nI think this is useful for subsys which have some extra refs even if there\nare no tasks in cgroup.  By adding pre_destroy(), the kernel keeps the rule\n\"destroy() against subsystem is called only when refcnt\u003d0.\" and allows css\nref to be used by other objects than tasks.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Kirill Korotaev \u003cdev@sw.ru\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Pavel Emelianov \u003cxemul@openvz.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Vaidyanathan Srinivasan \u003csvaidy@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ae41be374293e70e1ed441d986afcc6e744ef9d9",
      "tree": "d8e2143820bbf3ed2f1f79ed99ee430284567b93",
      "parents": [
        "9175e0311ec9e6d1bf1f6dfecf9268baf08765e6"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Thu Feb 07 00:14:10 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:19 2008 -0800"
      },
      "message": "bugfix for memory cgroup controller: migration under memory controller fix\n\nWhile using memory control cgroup, page-migration under it works as following.\n\u003d\u003d\n 1. uncharge all refs at try to unmap.\n 2. charge regs again remove_migration_ptes()\n\u003d\u003d\nThis is simple but has following problems.\n\u003d\u003d\n The page is uncharged and charged back again if *mapped*.\n    - This means that cgroup before migration can be different from one after\n      migration\n    - If page is not mapped but charged as page cache, charge is just ignored\n      (because not mapped, it will not be uncharged before migration)\n      This is memory leak.\n\u003d\u003d\nThis patch tries to keep memory cgroup at page migration by increasing\none refcnt during it. 3 functions are added.\n\n mem_cgroup_prepare_migration() --- increase refcnt of page-\u003epage_cgroup\n mem_cgroup_end_migration()     --- decrease refcnt of page-\u003epage_cgroup\n mem_cgroup_page_migration() --- copy page-\u003epage_cgroup from old page to\n                                 new page.\n\nDuring migration\n  - old page is under PG_locked.\n  - new page is under PG_locked, too.\n  - both old page and new page is not on LRU.\n\nThese 3 facts guarantee that page_cgroup() migration has no race.\n\nTested and worked well in x86_64/fake-NUMA box.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Pavel Emelianov \u003cxemul@openvz.org\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Kirill Korotaev \u003cdev@sw.ru\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Vaidyanathan Srinivasan \u003csvaidy@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4c4a22148909e4c003562ea7ffe0a06e26919e3c",
      "tree": "fa8b7d00e89f0eb4cdb4394dbc74d898810519aa",
      "parents": [
        "4c6bc8dd5a0932f2c0b30a5f0a124464b7f614d0"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Thu Feb 07 00:14:06 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:19 2008 -0800"
      },
      "message": "memcontrol: move oom task exclusion to tasklist scan\n\nCreates a helper function to return non-zero if a task is a member of a\nmemory controller:\n\n\tint task_in_mem_cgroup(const struct task_struct *task,\n\t\t\t       const struct mem_cgroup *mem);\n\nWhen the OOM killer is constrained by the memory controller, the exclusion\nof tasks that are not a member of that controller was previously misplaced\nand appeared in the badness scoring function.  It should be excluded\nduring the tasklist scan in select_bad_process() instead.\n\n[akpm@linux-foundation.org: build fix]\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3062fc67dad01b1d2a15d58c709eff946389eca4",
      "tree": "521b26bda2f6b106c8b3747a88214eec5f24b998",
      "parents": [
        "e1a1cd590e3fcb0d2e230128daf2337ea55387dc"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Thu Feb 07 00:14:03 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:19 2008 -0800"
      },
      "message": "memcontrol: move mm_cgroup to header file\n\nInline functions must preceed their use, so mm_cgroup() should be defined\nin linux/memcontrol.h.\n\ninclude/linux/memcontrol.h:48: warning: \u0027mm_cgroup\u0027 declared inline after\n\tbeing called\ninclude/linux/memcontrol.h:48: warning: previous declaration of\n\t\u0027mm_cgroup\u0027 was here\n\n[akpm@linux-foundation.org: build fix]\n[akpm@linux-foundation.org: nuther build fix]\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e1a1cd590e3fcb0d2e230128daf2337ea55387dc",
      "tree": "eb660ab340c657a1eb595b2d4d8e8b62783bf6fb",
      "parents": [
        "bed7161a519a2faef53e1bce1b47595e297c1d14"
      ],
      "author": {
        "name": "Balbir Singh",
        "email": "balbir@linux.vnet.ibm.com",
        "time": "Thu Feb 07 00:14:02 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:19 2008 -0800"
      },
      "message": "Memory controller: make charging gfp mask aware\n\nNick Piggin pointed out that swap cache and page cache addition routines\ncould be called from non GFP_KERNEL contexts.  This patch makes the\ncharging routine aware of the gfp context.  Charging might fail if the\ncgroup is over it\u0027s limit, in which case a suitable error is returned.\n\nThis patch was tested on a Powerpc box.  I am still looking at being able\nto test the path, through which allocations happen in non GFP_KERNEL\ncontexts.\n\n[kamezawa.hiroyu@jp.fujitsu.com: problem with ZONE_MOVABLE]\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Pavel Emelianov \u003cxemul@openvz.org\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Kirill Korotaev \u003cdev@sw.ru\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Vaidyanathan Srinivasan \u003csvaidy@linux.vnet.ibm.com\u003e\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bed7161a519a2faef53e1bce1b47595e297c1d14",
      "tree": "fbc0541340465f7d83221b829a9382cac2855916",
      "parents": [
        "8697d33194faae6fdd6b2e799f6308aa00cfdf67"
      ],
      "author": {
        "name": "Balbir Singh",
        "email": "balbir@linux.vnet.ibm.com",
        "time": "Thu Feb 07 00:14:01 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:19 2008 -0800"
      },
      "message": "Memory controller: make page_referenced() cgroup aware\n\nMake page_referenced() cgroup aware.  Without this patch, page_referenced()\ncan cause a page to be skipped while reclaiming pages.  This patch ensures\nthat other cgroups do not hold pages in a particular cgroup hostage.  It\nis required to ensure that shared pages are freed from a cgroup when they\nare not actively referenced from the cgroup that brought them in\n\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Pavel Emelianov \u003cxemul@openvz.org\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Kirill Korotaev \u003cdev@sw.ru\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Vaidyanathan Srinivasan \u003csvaidy@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8697d33194faae6fdd6b2e799f6308aa00cfdf67",
      "tree": "edf6b3e4698b80aac6f1d1f2b9e5698ce8dfa6e5",
      "parents": [
        "c7ba5c9e8176704bfac0729875fa62798037584d"
      ],
      "author": {
        "name": "Balbir Singh",
        "email": "balbir@linux.vnet.ibm.com",
        "time": "Thu Feb 07 00:13:59 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:19 2008 -0800"
      },
      "message": "Memory controller: add switch to control what type of pages to limit\n\nChoose if we want cached pages to be accounted or not.  By default both are\naccounted for.  A new set of tunables are added.\n\necho -n 1 \u003e mem_control_type\n\nswitches the accounting to account for only mapped pages\n\necho -n 3 \u003e mem_control_type\n\nswitches the behaviour back\n\n[bunk@kernel.org: mm/memcontrol.c: clenups]\n[akpm@linux-foundation.org: fix sparc32 build]\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Pavel Emelianov \u003cxemul@openvz.org\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Kirill Korotaev \u003cdev@sw.ru\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Vaidyanathan Srinivasan \u003csvaidy@linux.vnet.ibm.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c7ba5c9e8176704bfac0729875fa62798037584d",
      "tree": "00df1c4cb67e313cdb66233381b4cee275fd46c0",
      "parents": [
        "0eea10301708c64a6b793894c156e21ddd15eb64"
      ],
      "author": {
        "name": "Pavel Emelianov",
        "email": "xemul@openvz.org",
        "time": "Thu Feb 07 00:13:58 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:19 2008 -0800"
      },
      "message": "Memory controller: OOM handling\n\nOut of memory handling for cgroups over their limit. A task from the\ncgroup over limit is chosen using the existing OOM logic and killed.\n\nTODO:\n1. As discussed in the OLS BOF session, consider implementing a user\nspace policy for OOM handling.\n\n[akpm@linux-foundation.org: fix build due to oom-killer changes]\nSigned-off-by: Pavel Emelianov \u003cxemul@openvz.org\u003e\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Kirill Korotaev \u003cdev@sw.ru\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Vaidyanathan Srinivasan \u003csvaidy@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0eea10301708c64a6b793894c156e21ddd15eb64",
      "tree": "a0dcbe47d48d35ec0554faa5f86068cfab94ca6e",
      "parents": [
        "66e1707bc34609f626e2e7b4fe7e454c9748bad5"
      ],
      "author": {
        "name": "Balbir Singh",
        "email": "balbir@linux.vnet.ibm.com",
        "time": "Thu Feb 07 00:13:57 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:18 2008 -0800"
      },
      "message": "Memory controller improve user interface\n\nChange the interface to use bytes instead of pages.  Page sizes can vary\nacross platforms and configurations.  A new strategy routine has been added\nto the resource counters infrastructure to format the data as desired.\n\nSuggested by David Rientjes, Andrew Morton and Herbert Poetzl\n\nTested on a UML setup with the config for memory control enabled.\n\n[kamezawa.hiroyu@jp.fujitsu.com: possible race fix in res_counter]\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nSigned-off-by: Pavel Emelianov \u003cxemul@openvz.org\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Kirill Korotaev \u003cdev@sw.ru\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Vaidyanathan Srinivasan \u003csvaidy@linux.vnet.ibm.com\u003e\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "66e1707bc34609f626e2e7b4fe7e454c9748bad5",
      "tree": "d850a729887485874c976ba64eb85e3406e488a1",
      "parents": [
        "67e465a77ba658635309ee00b367bec6555ea544"
      ],
      "author": {
        "name": "Balbir Singh",
        "email": "balbir@linux.vnet.ibm.com",
        "time": "Thu Feb 07 00:13:56 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:18 2008 -0800"
      },
      "message": "Memory controller: add per cgroup LRU and reclaim\n\nAdd the page_cgroup to the per cgroup LRU.  The reclaim algorithm has\nbeen modified to make the isolate_lru_pages() as a pluggable component.  The\nscan_control data structure now accepts the cgroup on behalf of which\nreclaims are carried out.  try_to_free_pages() has been extended to become\ncgroup aware.\n\n[akpm@linux-foundation.org: fix warning]\n[Lee.Schermerhorn@hp.com: initialize all scan_control\u0027s isolate_pages member]\n[bunk@kernel.org: make do_try_to_free_pages() static]\n[hugh@veritas.com: memcgroup: fix try_to_free order]\n[kamezawa.hiroyu@jp.fujitsu.com: this unlock_page_cgroup() is unnecessary]\nSigned-off-by: Pavel Emelianov \u003cxemul@openvz.org\u003e\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Kirill Korotaev \u003cdev@sw.ru\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Vaidyanathan Srinivasan \u003csvaidy@linux.vnet.ibm.com\u003e\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8a9f3ccd24741b50200c3f33d62534c7271f3dfc",
      "tree": "066aabd8d2952299501f067a91cbfd6f47ee62f6",
      "parents": [
        "78fb74669e80883323391090e4d26d17fe29488f"
      ],
      "author": {
        "name": "Balbir Singh",
        "email": "balbir@linux.vnet.ibm.com",
        "time": "Thu Feb 07 00:13:53 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:18 2008 -0800"
      },
      "message": "Memory controller: memory accounting\n\nAdd the accounting hooks.  The accounting is carried out for RSS and Page\nCache (unmapped) pages.  There is now a common limit and accounting for both.\nThe RSS accounting is accounted at page_add_*_rmap() and page_remove_rmap()\ntime.  Page cache is accounted at add_to_page_cache(),\n__delete_from_page_cache().  Swap cache is also accounted for.\n\nEach page\u0027s page_cgroup is protected with the last bit of the\npage_cgroup pointer, this makes handling of race conditions involving\nsimultaneous mappings of a page easier.  A reference count is kept in the\npage_cgroup to deal with cases where a page might be unmapped from the RSS\nof all tasks, but still lives in the page cache.\n\nCredits go to Vaidyanathan Srinivasan for helping with reference counting work\nof the page cgroup.  Almost all of the page cache accounting code has help\nfrom Vaidyanathan Srinivasan.\n\n[hugh@veritas.com: fix swapoff breakage]\n[akpm@linux-foundation.org: fix locking]\nSigned-off-by: Vaidyanathan Srinivasan \u003csvaidy@linux.vnet.ibm.com\u003e\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Pavel Emelianov \u003cxemul@openvz.org\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Kirill Korotaev \u003cdev@sw.ru\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: \u003cValdis.Kletnieks@vt.edu\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "78fb74669e80883323391090e4d26d17fe29488f",
      "tree": "9154b703510415ae87bdae8750c1054e79710c61",
      "parents": [
        "8cdea7c05454260c0d4d83503949c358eb131d17"
      ],
      "author": {
        "name": "Pavel Emelianov",
        "email": "xemul@openvz.org",
        "time": "Thu Feb 07 00:13:51 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:18 2008 -0800"
      },
      "message": "Memory controller: accounting setup\n\nBasic setup routines, the mm_struct has a pointer to the cgroup that\nit belongs to and the the page has a page_cgroup associated with it.\n\nSigned-off-by: Pavel Emelianov \u003cxemul@openvz.org\u003e\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Kirill Korotaev \u003cdev@sw.ru\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8cdea7c05454260c0d4d83503949c358eb131d17",
      "tree": "62f8d7262744dd9ec507252bf3e84a89c088ff9b",
      "parents": [
        "e552b6617067ab785256dcec5ca29eeea981aacb"
      ],
      "author": {
        "name": "Balbir Singh",
        "email": "balbir@linux.vnet.ibm.com",
        "time": "Thu Feb 07 00:13:50 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:18 2008 -0800"
      },
      "message": "Memory controller: cgroups setup\n\nSetup the memory cgroup and add basic hooks and controls to integrate\nand work with the cgroup.\n\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Pavel Emelianov \u003cxemul@openvz.org\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Kirill Korotaev \u003cdev@sw.ru\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Vaidyanathan Srinivasan \u003csvaidy@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e552b6617067ab785256dcec5ca29eeea981aacb",
      "tree": "672cccc2e21abfa4dcdc1bdb198e748894bbbbc6",
      "parents": [
        "59bd26582de660d4c9c26125747f1b4a5eb40d1e"
      ],
      "author": {
        "name": "Pavel Emelianov",
        "email": "xemul@openvz.org",
        "time": "Thu Feb 07 00:13:49 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:18 2008 -0800"
      },
      "message": "Memory controller: resource counters\n\nWith fixes from David Rientjes \u003crientjes@google.com\u003e\n\nIntroduce generic structures and routines for resource accounting.\n\nEach resource accounting cgroup is supposed to aggregate it,\ncgroup_subsystem_state and its resource-specific members within.\n\nSigned-off-by: Pavel Emelianov \u003cxemul@openvz.org\u003e\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Kirill Korotaev \u003cdev@sw.ru\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Vaidyanathan Srinivasan \u003csvaidy@linux.vnet.ibm.com\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Pavel Emelianov \u003cxemul@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3dddbfc30106280d98a5752b6c622f65e5eb3663",
      "tree": "4309485440315ac3ab51269448d6fa2641d84dce",
      "parents": [
        "f8a4c3b5250496f072d9098a641fd5642146d999"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Thu Feb 07 00:13:28 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:16 2008 -0800"
      },
      "message": "tty: Kill TTY_FLIPBUF_SIZE\n\nThis legacy define from the old buffer code is now only used in a single\npower pc driver than doesn\u0027t compile anyway.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f8a4c3b5250496f072d9098a641fd5642146d999",
      "tree": "827d2cca761a6b98bed158747eccc98bd2e5b6cf",
      "parents": [
        "94b3e03c875f25c19ede9600c66d74a30b81957d"
      ],
      "author": {
        "name": "Dave Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 07 00:13:27 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:16 2008 -0800"
      },
      "message": "tty: fix tty network driver interactions with TCGET/TCSET calls (x86 fix)\n\nAnd to go with it Dave\u0027s type checking x86 termios headers.  I\u0027ve updated\nthese as the original sent by Dave had some wrong types in it.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "deb21db7788b97a2bccdefe605433ef97f482689",
      "tree": "9adc35a3f7271c7c328f6b835203150763683ddb",
      "parents": [
        "c9845ff1df5ba007b576c26c4f1e7ca43b7c7e87"
      ],
      "author": {
        "name": "Erez Zadok",
        "email": "ezk@cs.sunysb.edu",
        "time": "Thu Feb 07 00:13:25 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:16 2008 -0800"
      },
      "message": "VFS: swap do_ioctl and vfs_ioctl names\n\nRename old vfs_ioctl to do_ioctl, because the comment above it clearly\nindicates that it is an internal function not to be exported to modules;\ntherefore it should have a more traditional do_XXX name.  The new do_ioctl\nis exported in fs.h but not to modules.\n\nRename the old do_ioctl to vfs_ioctl because the names vfs_XXX should\npreferably be reserved to callable VFS functions which modules may call, as\nmany other vfs_XXX functions already do.  Export the new vfs_ioctl to GPL\nmodules so others can use it (including Unionfs and eCryptfs).  Add DocBook\nfor new vfs_ioctl.\n\n[akpm@linux-foundation.org: fix build]\nSigned-off-by: Erez Zadok \u003cezk@cs.sunysb.edu\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4aa323bd839604dd83aec56ed3a88df352c3339d",
      "tree": "f9c349b851ddd473837382e87d3f10f22cda4a06",
      "parents": [
        "eccba068915feece2868c502787037e244db3376"
      ],
      "author": {
        "name": "Philipp Zabel",
        "email": "philipp.zabel@gmail.com",
        "time": "Thu Feb 07 00:13:22 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:06 2008 -0800"
      },
      "message": "DS1WM: decouple host IRQ and INTR active state settings\n\nThe DS1WM driver incorrectly infers the IAS bit (1-wire interrupt active\nhigh) from IRQ settings.  There are devices that have IAS\u003d0 but still need\nthe IRQ to trigger on a rising edge.  With this patch, machines with DS1WM\nthat need IAS\u003d1 have to set .active_high\u003d1 in the ds1wm_platform_data.\n\nSigned-off-by: Philipp Zabel \u003cphilipp.zabel@gmail.com\u003e\nAcked-by: Evgeniy Polyakov \u003cjohnpol@2ka.mipt.ru\u003e\nAcked-by: Matt Reimer \u003cmreimer@vpop.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5a4924d7be5df430132e109d3d2f26be610b4707",
      "tree": "aecba49d6f6d3f633ab14ecf8e08aa23b9393e35",
      "parents": [
        "3389742f3c346d9ef5fb46e7baa04972bdd6d151"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 07 04:36:02 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 07 04:36:02 2008 -0800"
      },
      "message": "[SPARC32]: Use regsets for ELF core dumping.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3389742f3c346d9ef5fb46e7baa04972bdd6d151",
      "tree": "31224496b6ba2debfe85e7a098639fee26c512e1",
      "parents": [
        "e72d71c405ef581595ec64091be9f2fda0a726a9"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 07 04:19:34 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 07 04:19:34 2008 -0800"
      },
      "message": "[SPARC64]: Use regsets for ELF core dumping.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9775369ec06bad8edb2fbd8c77316f49b439c225",
      "tree": "14b0cb23d5fad3dbd99da0e21cf1b7e3db92595f",
      "parents": [
        "190aa9f60f9575d1b7382cd1ee33e2589208c514"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 07 03:00:17 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 07 03:00:17 2008 -0800"
      },
      "message": "[SPARC]: Move over to arch_ptrace().\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "190aa9f60f9575d1b7382cd1ee33e2589208c514",
      "tree": "2707306174f13b26751f6264a4fceee00ef26ed1",
      "parents": [
        "38282764e3e76aa02c071af4673e6b6320e426ad"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 06 22:08:18 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 07 02:59:22 2008 -0800"
      },
      "message": "[SPARC]: Remove PTRACE_SUN* handling.\n\nSupporting SunOS ptrace() is pretty pointless and these\nkinds of quirks keep us from being able to share more\ncode with other platforms.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "388bbb09b991c792310af2f6b49f6c55edb3dff0",
      "tree": "ca390147bddbf27587316911f69e1544f4592904",
      "parents": [
        "76b104671632c225ad594a50f9e26ada67bc0a74"
      ],
      "author": {
        "name": "Richard Purdie",
        "email": "rpurdie@rpsys.net",
        "time": "Wed Feb 06 10:17:15 2008 +0000"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Thu Feb 07 10:30:48 2008 +0000"
      },
      "message": "[MTD] Add mtd panic_write function pointer\n\nMTDs are well suited for logging critical data and the mtdoops driver\nallows kernel panics/oops to be written to flash in a blackbox flight\nrecorder fashion allowing better debugging and analysis of crashes.\n\nAny kernel oops in user context can be easily handled since the kernel\ncontinues as normal and any queued mtd writes are scheduled. Any kernel\noops in interrupt context results in a panic and the delayed writes will\nnot be scheduled however. The existing mtd-\u003ewrite function cannot be\ncalled in interrupt context so these messages can never be written to\nflash.\n\nThis patch adds a panic_write function pointer that drivers can\noptionally implement which can be called in interrupt context. It is\nonly intended to be called when its known the kernel is about to panic\nand we need to write to succeed. Since the kernel is not going to be\nrunning for much longer, this function can break locks and delay to\nensure the write succeeds (but not sleep).\n\nSigned-off-by: Richard Purdie \u003crpurdie@rpsys.net\u003e\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "4c79141d28bc290ae307e3f81f5bc909c26faf6e",
      "tree": "9c6dc51c441dfc1c84cc27ece43087515c06967c",
      "parents": [
        "6c152beefbf90579d21afc4f7e075b1f801f9a75"
      ],
      "author": {
        "name": "Márton Németh",
        "email": "nm127@freemail.hu",
        "time": "Wed Oct 31 15:07:12 2007 +0100"
      },
      "committer": {
        "name": "Richard Purdie",
        "email": "rpurdie@rpsys.net",
        "time": "Thu Feb 07 09:49:38 2008 +0000"
      },
      "message": "leds: Add support for hardware accelerated LED flashing\n\nExtends the leds subsystem with a blink_set() callback function which can\nbe optionally implemented by a LED driver. If implemented, the driver can use\nthe hardware acceleration for blinking a LED.\n\nSigned-off-by: Márton Németh \u003cnm127@freemail.hu\u003e\nSigned-off-by: Richard Purdie \u003crpurdie@rpsys.net\u003e\n"
    },
    {
      "commit": "24f1a849614ba1805e26a05da7cc8c6bd67490ea",
      "tree": "95266f926b1f6a29959565b3d683baeacaa25049",
      "parents": [
        "0deef2c7ab9dcf82f6ad26fc2fca358cd56c9cb9"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Wed Jan 02 17:05:48 2008 -0800"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Thu Feb 07 20:40:23 2008 +1100"
      },
      "message": "[POWERPC] Add SPE registers to core dumps\n\nThis makes the SPE register data appear in ELF core dumps, using the\nnew n_type value NT_PPC_SPE (0x101).  This new note type is not used\nby any consumers of core files yet, but support can be added.  I don\u0027t\neven have any hardware with SPE capabilities, so I\u0027ve never seen such\na note.  But this demonstrates how simple it is to export register\ninformation in core dumps when the user_regset style is used for the\nlow-level code.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "81e695c026eeda9a97e412fa4f458e5cab2f6c85",
      "tree": "a81404f170a260a2718064938a5036972da27e93",
      "parents": [
        "1d48d71c06172c0853e04c334456e64cc006e208"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Thu Dec 20 03:58:55 2007 -0800"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Thu Feb 07 20:40:21 2008 +1100"
      },
      "message": "[POWERPC] Use generic compat_sys_ptrace\n\nThis replaces powerpc\u0027s compat_sys_ptrace with a compat_arch_ptrace and\nenables the new generic definition of compat_sys_ptrace instead.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "01e31dbabc020bf82e7e5359c031a550daafb8ff",
      "tree": "0767caaf88e46570c393c7a63e5f8552355da334",
      "parents": [
        "819703872d5955b2e764c3fd9243ba9fa1a6875a"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Wed Jan 02 17:03:11 2008 -0800"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Thu Feb 07 20:40:18 2008 +1100"
      },
      "message": "[POWERPC] Switch to generic compat_binfmt_elf code\n\nThis switches the CONFIG_PPC64 support for 32-bit ELF to use the\ngeneric fs/compat_binfmt_elf.c implementation instead of our own\nbinfmt_elf32.c.  Since so much is the same between 32/64, there is\nonly one macro we have to define to make the generic support work out\nof the box.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "819703872d5955b2e764c3fd9243ba9fa1a6875a",
      "tree": "4c9153438ff3f2ecd1e6b8ad35885336b048be4d",
      "parents": [
        "fa8f5cb0c980e9fe3e04bc937fbd13417b52c046"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Thu Dec 20 03:58:12 2007 -0800"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Thu Feb 07 20:40:17 2008 +1100"
      },
      "message": "[POWERPC] Switch to using user_regset-based core dumps\n\nThis switches powerpc to using the user_regset-based code for ELF core\ndumps.  The core dumps come out exactly the same either way, except that\nthe NT_PPC_VMX note is now omitted for any thread that never touched its\nAltivec registers (thread_struct.vr_used).\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "9b7131542178f5f948e4bb6bea6e1c545e697b06",
      "tree": "f502264c3768d4bf8ca28d8f5cc10d45e5897179",
      "parents": [
        "81e242d0efafb319938d511b115088a5c4523c91"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Thu Feb 07 04:16:34 2008 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Thu Feb 07 04:16:34 2008 -0500"
      },
      "message": "Revert \"cpuidle: build fix for non-x86\"\n\nThis reverts commit f757397097d0713c949af76dccabb65a2785782e.\nwhich ironically broke the ia64 build\n"
    },
    {
      "commit": "81e242d0efafb319938d511b115088a5c4523c91",
      "tree": "be22aa41db2288fd7999524d719f333c766a367f",
      "parents": [
        "a733a5da97b238e3e3167d3d0aee8fe1e8d04e97",
        "04d94886b47b5133915021dcfb1108a8576f6ea7"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Thu Feb 07 04:01:53 2008 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Thu Feb 07 04:01:53 2008 -0500"
      },
      "message": "Merge branches \u0027release\u0027 and \u0027dsdt-override\u0027 into release\n"
    },
    {
      "commit": "a733a5da97b238e3e3167d3d0aee8fe1e8d04e97",
      "tree": "944bd894e77db00c1d30cd252614ac93c6c6bea5",
      "parents": [
        "299cfe38081bea6dcd8b882375f6f65a980bccf9",
        "299cfe38081bea6dcd8b882375f6f65a980bccf9",
        "9e52797131e83688f66fbca6d4cd25b83f33c48f"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Thu Feb 07 03:38:22 2008 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Thu Feb 07 03:38:22 2008 -0500"
      },
      "message": "Merge branches \u0027release\u0027 and \u0027fluff\u0027 into release\n\nConflicts:\n\n\tdrivers/acpi/scan.c\n\tinclude/linux/acpi.h\n\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "e5685b9d35c2cc0a98425b05df30cb837dd1e632",
      "tree": "7f10940d8bdaa18cd806d42a3fdb63cfefc47f37",
      "parents": [
        "87ecd5cddaa37f057d8d8c2813e1b748b1804423"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Oct 24 18:24:42 2007 +0200"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Thu Feb 07 03:33:23 2008 -0500"
      },
      "message": "ACPI: misc cleanups\n\n    This patch contains the following possible cleanups:\n    - make the following needlessly global code static:\n      - drivers/acpi/bay.c:dev_attr_eject\n      - drivers/acpi/bay.c:dev_attr_present\n      - drivers/acpi/dock.c:dev_attr_docked\n      - drivers/acpi/dock.c:dev_attr_flags\n      - drivers/acpi/dock.c:dev_attr_uid\n      - drivers/acpi/dock.c:dev_attr_undock\n      - drivers/acpi/pci_bind.c:acpi_pci_unbind()\n      - drivers/acpi/pci_link.c:acpi_link_lock\n      - drivers/acpi/sbs.c:acpi_sbs_callback()\n      - drivers/acpi/sbshc.c:acpi_smbus_transaction()\n      - drivers/acpi/sleep/main.c:acpi_sleep_prepare()\n    - #if 0 the following unused global functions:\n      - drivers/acpi/numa.c:acpi_unmap_pxm_to_node()\n    - remove the following unused EXPORT_SYMBOL\u0027s:\n      - acpi_register_gsi\n      - acpi_unregister_gsi\n      - acpi_strict\n      - acpi_bus_receive_event\n      - register_acpi_bus_type\n      - unregister_acpi_bus_type\n      - acpi_os_printf\n      - acpi_os_sleep\n      - acpi_os_stall\n      - acpi_os_read_pci_configuration\n      - acpi_os_create_semaphore\n      - acpi_os_delete_semaphore\n      - acpi_os_wait_semaphore\n      - acpi_os_signal_semaphore\n      - acpi_os_signal\n      - acpi_pci_irq_enable\n      - acpi_get_pxm\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: Alexey Starikovskiy \u003castarikovskiy@suse.de\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "ee1ce6fcb383ba1da9d16e1ba902f592211aa508",
      "tree": "8496d9a7a9c419d41136c1fae463891878abe0b7",
      "parents": [
        "4e83dd95b343a4ecfdb236aa046a5366a29e6f1e"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "jdelvare@suse.de",
        "time": "Thu Dec 06 22:00:36 2007 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Thu Feb 07 03:32:27 2008 -0500"
      },
      "message": "ACPI: cleanup acpi.h\n\nTwo cleanups to \u003clinux/acpi.h\u003e:\n* Stop defining acpi_mp_config, it isn\u0027t used anywhere.\n* Discard nested \"#ifdef CONFIG_ACPI\", they are useless and\n  error-prone.\n\nSigned-off-by: Jean Delvare \u003cjdelvare@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "4e83dd95b343a4ecfdb236aa046a5366a29e6f1e",
      "tree": "2b59f61244aee2c9f4d1a2a0f2c890b125556784",
      "parents": [
        "488b5ec871191359b9b79262a3d48456dae7ea5f"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Nov 23 18:33:11 2007 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Thu Feb 07 03:32:27 2008 -0500"
      },
      "message": "ACPICA: fix CONFIG_ACPI_DEBUG_FUNC_TRACE build\n\n798d91039849486c7a4f1a458a5680cb55a65408\n(ACPI: create CONFIG_ACPI_DEBUG_FUNC_TRACE)\n\nfailed to associate the new tracing config option with the tracing code.\n\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "299cfe38081bea6dcd8b882375f6f65a980bccf9",
      "tree": "e567c1e908d158d6dce155cc5cf1b4eb8c78c514",
      "parents": [
        "8976b6fd7a0060f72e20d5cec833c03d50874cd1",
        "443dea72d5f428170de6d6e3c4c1a1e2b7632b65"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Thu Feb 07 03:31:17 2008 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Thu Feb 07 03:31:17 2008 -0500"
      },
      "message": "Merge branches \u0027release\u0027 and \u0027hwmon-conflicts\u0027 into release\n"
    },
    {
      "commit": "8976b6fd7a0060f72e20d5cec833c03d50874cd1",
      "tree": "d5c98a6fc41e19b5a85e9181072d74452b2dc2ab",
      "parents": [
        "52b097fff89b14c0b8b7a7deef1d274889b1886d",
        "3391a76f2bbb74e42b9ba44c05a7366ffd388753"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Thu Feb 07 03:30:48 2008 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Thu Feb 07 03:30:48 2008 -0500"
      },
      "message": "Merge branches \u0027release\u0027 and \u0027throttling-domains\u0027 into release\n"
    }
  ],
  "next": "52b097fff89b14c0b8b7a7deef1d274889b1886d"
}
