)]}'
{
  "log": [
    {
      "commit": "6ea0205b56546cef782b74d9f4664ec00290a6ae",
      "tree": "6d95b52af65d6de540e606d95159e539d5cc2852",
      "parents": [
        "ee29420aca6ca6fbb3e72ee8a980b2600911b864"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Fri May 23 13:04:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 24 09:56:13 2008 -0700"
      },
      "message": "gpio: build fixes\n\nThis fixes various gpio-related build errors (mostly potential)\nreported in part by Russell King and Uwe Kleine-König.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: Uwe Kleine-König \u003cUwe.Kleine-Koenig@digi.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Arnaud Patard \u003carnaud.patard@rtp-net.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c25bd29805f4d854c3a0b4176813f3c1bff569d3",
      "tree": "8712a2748b842176d177dedb2e6594b71fc2ff10",
      "parents": [
        "4cf63c8ac48c63b4c55669d4648506ed2bb8976f"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Thu Apr 24 13:37:33 2008 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Fri May 02 16:18:42 2008 -0700"
      },
      "message": "types: add C99-style constructors to \u003casm-generic/int-*.h\u003e\n\nAdd C99-style constructor macros for fixed types to\n\u003casm-generic/int-*.h\u003e.  Since Linux uses names like \"u64\" instead of\n\"uint64_t\", the constructor macros are called U64_C() instead of\nUINT64_C() and so forth.\n\nThese macros allow specific sizes to be specified as\nU64_C(0x123456789abcdef), without gcc issuing warnings as it will if\none writes (u64)0x123456789abcdef.\n\nWhen used from assembly, these macros pass their argument unchanged.\n\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "d13ff31cfeedbf2fefc7ba13cb753775648eac0c",
      "tree": "94bbe8498b3fc281265367f5dac94374a065255f",
      "parents": [
        "b66e1f11ebc429569a3784aaf64123633d9e3ed1"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Thu Apr 24 12:56:52 2008 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Fri May 02 16:18:19 2008 -0700"
      },
      "message": "types: create \u003casm-generic/int-*.h\u003e\n\nThis creates two generic files with common integer definitions; one\nwhere 64 bits is \"long\" (most 64-bit architectures) and one where 64\nbits is \"long long\" (all 32-bit architectures and x86-64.)\n\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: Ben Dooks \u003cben-linux@fluff.org\u003e\nCc: Bryan Wu \u003ccooloney@kernel.org\u003e\nCc: Chris Zankel \u003cchris@zankel.net\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Jesper Nilsson \u003cjesper.nilsson@axis.com\u003e\nCc: Koichi Yasutake \u003cyasutake.koichi@jp.panasonic.com\u003e\nCc: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\nCc: Lennert Buytenhek \u003ckernel@wantstofly.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: William L. Irwin \u003cwli@holomorphy.com\u003e\nCc: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e\n"
    },
    {
      "commit": "6f6d6a1a6a1336431a6cba60ace9e97c3a496a19",
      "tree": "f32e82fc3a50b6877afa3220bdb6f7ea0582e07f",
      "parents": [
        "71abb3af62dfa52930755f3b6497eafbe1d6ec85"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Thu May 01 04:34:28 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:03:58 2008 -0700"
      },
      "message": "rename div64_64 to div64_u64\n\nRename div64_64 to div64_u64 to make it consistent with the other divide\nfunctions, so it clearly includes the type of the divide.  Move its definition\nto math64.h as currently no architecture overrides the generic implementation.\n They can still override it of course, but the duplicated declarations are\navoided.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Avi Kivity \u003cavi@qumranet.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ae50884f66fc93aa713feade8f87c03471241275",
      "tree": "ea58f6ad5f8490b745239cf06c002466c96394de",
      "parents": [
        "735643ee6cc5249bfac07fcad0946a5e7aff4423"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Wed Apr 30 00:55:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:54 2008 -0700"
      },
      "message": "remove __KERNEL__ tests of unexported headers under asm-generic/\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "730f412c08c13858f7681bac0a2770fbc9159fed",
      "tree": "ac37a43aef9dca3a6e63c9bdf97c489af3801357",
      "parents": [
        "07132922aac0caf807c56b9c2a388954b357a8c4"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Wed Apr 30 00:54:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:52 2008 -0700"
      },
      "message": "asm-*/futex.h should include linux/uaccess.h\n\nLots of asm-*/futex.h call pagefault_enable and pagefault_disable, which\nare declared in linux/uaccess.h, without including linux/uaccess.h.\n\nThey all include asm/uaccess.h, so this patch replaces asm/uaccess.h\nwith linux/uaccess.h.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\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": "6510d41954dc6a9c8b1dbca7eaca0f23195ca727",
      "tree": "868b5fac25c7c5b80cc5a88eaaab8bf3d693420d",
      "parents": [
        "064106a91be5e76cb42c1ddf5d3871e3a1bd2a23"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Apr 29 01:03:30 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:27 2008 -0700"
      },
      "message": "kernel: Move arches to use common unaligned access\n\nUnaligned access is ok for the following arches:\ncris, m68k, mn10300, powerpc, s390, x86\n\nArches that use the memmove implementation for native endian, and\nthe byteshifting for the opposite endianness.\nh8300, m32r, xtensa\n\nPacked struct for native endian, byteshifting for other endian:\nalpha, blackfin, ia64, parisc, sparc, sparc64, mips, sh\n\nm86knommu is generic_be for Coldfire, otherwise unaligned access is ok.\n\nfrv, arm chooses endianness based on compiler settings, uses the byteshifting\nversions.  Remove the unaligned trap handler from frv as it is now unused.\n\nv850 is le, uses the byteshifting versions for both be and le.\n\nRemove the now unused asm-generic implementation.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\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": "10521bd9f74be94b83cfcf639601ece1c8e4faad",
      "tree": "5e121dbaae4d5e038c0c1ea638c9635970dd5afa",
      "parents": [
        "098ef1c0ea7b1b3ff9d89364af5ebc5b672cf932"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Tue Apr 29 01:02:54 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:24 2008 -0700"
      },
      "message": "generalize asm-generic/ioctl.h to allow overriding values\n\nIn the spirit of a number of other asm-generic header files,\ngeneralize asm-generic/ioctl.h to allow arch-specific ioctl.h headers\nto simply override _IOC_SIZEBITS and/or _IOC_DIRBITS before including\nthis header file, allowing a number of ioctl.h header files to be\nshortened considerably.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "169b6a7a6e91e1ea32136681b475cbaf2074bf35",
      "tree": "bf29842528e61cb07c581e43acbe3619a25746ab",
      "parents": [
        "8d0aab2f16c4fa170f32e7a74a52cd0122bbafef"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "avorontsov@ru.mvista.com",
        "time": "Mon Apr 28 02:14:47 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:34 2008 -0700"
      },
      "message": "gpiochip_reserve()\n\nAdd a new function gpiochip_reserve() to reserve ranges of gpios that platform\ncode has pre-allocated.  That is, this marks gpio numbers which will be\nclaimed by drivers that haven\u0027t yet been loaded, and thus are not available\nfor dynamic gpio number allocation.\n\n[akpm@linux-foundation.org: remove unneeded __must_check]\n[david-b@pacbell.net: don\u0027t export gpiochip_reserve (section fix)]\nSigned-off-by: Anton Vorontsov \u003cavorontsov@ru.mvista.com\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e6de1808f8ebfeb7e49f3c5a30cb8f2032beb287",
      "tree": "2230ea8f384449c7785d636ab016af3b2aa20123",
      "parents": [
        "d72cbed0c486e3db8b56380635f8e845073ce63a"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "g.liakhovetski@pengutronix.de",
        "time": "Mon Apr 28 02:14:46 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:34 2008 -0700"
      },
      "message": "gpio: define gpio_is_valid()\n\nIntroduce a gpio_is_valid() predicate; use it in gpiolib.\n\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@pengutronix.de\u003e\n    [ use inline function; follow the gpio_* naming convention;\n      work without gpiolib; all programming interfaces need docs ]\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "438d8908b379b6322fc3b28d45c9ebdddf58bc20",
      "tree": "ce9439dc8c7e5d9e80f514751fb3b4ce4e414233",
      "parents": [
        "73fcdc9e15c27bb92595c611c8938a36645ea20d"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "g.liakhovetski@pengutronix.de",
        "time": "Mon Apr 28 02:14:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:34 2008 -0700"
      },
      "message": "gpiolib: better rmmod infrastructure\n\nAs long as one or more GPIOs on a gpio chip are used its driver should not be\nunloaded.  The existing mechanism (gpiochip_remove failure) doesn\u0027t address\nthat, since rmmod can no longer be made to fail by having the cleanup code\nreport errors.  Module usecounts are the solution.\n\nAssuming standard \"initialize struct to zero\" policies, this change won\u0027t\naffect SOC platform drivers.  However, drivers for external chips (on I2C and\nSPI busses) should be updated if they can be built as modules.\n\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@pengutronix.de\u003e\n[ gpio_ensure_requested() needs to update module usecounts too ]\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d57594c203b1e7b54373080a797f0cbfa4aade68",
      "tree": "61610af68fc93280fb0be00a4f1b523715bef3db",
      "parents": [
        "56a6b1eb7bfb5ace0b5cb9c149f502fbd101b8ab"
      ],
      "author": {
        "name": "Alexander van Heukelum",
        "email": "heukelum@mailshack.com",
        "time": "Sat Mar 15 18:32:36 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 26 19:21:16 2008 +0200"
      },
      "message": "bitops: use __fls for fls64 on 64-bit archs\n\nUse __fls for fls64 on 64-bit archs. The implementation for\n64-bit archs is moved from x86_64 to asm-generic.\n\nSigned-off-by: Alexander van Heukelum \u003cheukelum@fastmail.fm\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7d9dff22e8ad06ad330968c9e3d3a2fb55a5f9c3",
      "tree": "1c65cd4cdf14f42d59e72514991c4b04278db8d5",
      "parents": [
        "12d9c8420b9daa1da3d9e090640fb24bcd0deba2"
      ],
      "author": {
        "name": "Alexander van Heukelum",
        "email": "heukelum@mailshack.com",
        "time": "Sat Mar 15 18:30:57 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 26 19:21:16 2008 +0200"
      },
      "message": "generic: introduce a generic __fls implementation\n\nAdd a generic __fls implementation in the same spirit as\nthe generic __ffs one. It finds the last (most significant)\nset bit in the given long value.\n\nSigned-off-by: Alexander van Heukelum \u003cheukelum@fastmail.fm\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "64970b68d2b3ed32b964b0b30b1b98518fde388e",
      "tree": "7d8eb5ea3ab1a841afa0f7ae1c65e7be4a9ca690",
      "parents": [
        "60b6783a044a55273b637983f52965c2808a6b86"
      ],
      "author": {
        "name": "Alexander van Heukelum",
        "email": "heukelum@mailshack.com",
        "time": "Tue Mar 11 16:17:19 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 26 19:21:16 2008 +0200"
      },
      "message": "x86, generic: optimize find_next_(zero_)bit for small constant-size bitmaps\n\nThis moves an optimization for searching constant-sized small\nbitmaps form x86_64-specific to generic code.\n\nOn an i386 defconfig (the x86#testing one), the size of vmlinux hardly\nchanges with this applied. I have observed only four places where this\noptimization avoids a call into find_next_bit:\n\nIn the functions return_unused_surplus_pages, alloc_fresh_huge_page,\nand adjust_pool_surplus, this patch avoids a call for a 1-bit bitmap.\nIn __next_cpu a call is avoided for a 32-bit bitmap. That\u0027s it.\n\nOn x86_64, 52 locations are optimized with a minimal increase in\ncode size:\n\nCurrent #testing defconfig:\n\t146 x bsf, 27 x find_next_*bit\n   text    data     bss     dec     hex filename\n   5392637  846592  724424 6963653  6a41c5 vmlinux\n\nAfter removing the x86_64 specific optimization for find_next_*bit:\n\t94 x bsf, 79 x find_next_*bit\n   text    data     bss     dec     hex filename\n   5392358  846592  724424 6963374  6a40ae vmlinux\n\nAfter this patch (making the optimization generic):\n\t146 x bsf, 27 x find_next_*bit\n   text    data     bss     dec     hex filename\n   5392396  846592  724424 6963412  6a40d4 vmlinux\n\n[ tglx@linutronix.de: build fixes ]\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1526a756fba5b1f2eb5001b8e8de2a0ea1bd2c66",
      "tree": "618dce79ec7c24b1f85c9d63a9b8db58ed4bc981",
      "parents": [
        "1f56cf1c58c81f7ecf16f5e99ac4a333d9dc9aea"
      ],
      "author": {
        "name": "venkatesh.pallipadi@intel.com",
        "email": "venkatesh.pallipadi@intel.com",
        "time": "Tue Mar 18 17:00:24 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 24 23:40:47 2008 +0200"
      },
      "message": "generic: add ioremap_wc() interface wrapper\n\nx86 has ioremap_wc for wc remap. Also introduce a generic ioremap_wc\naliased to ioremap_uc so that drivers can use this interface transparently.\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "aa6b54461cc5c0019b9d792adf3176b444c10763",
      "tree": "069955d970b078105dcae6706a9e97c5503900df",
      "parents": [
        "d18d00f5dbcd1a95811617e9812cf0560bd465ee"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Mon Mar 31 08:41:55 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:58 2008 +0200"
      },
      "message": "asm-generic: add node_to_cpumask_ptr macro\n\nCreate a simple macro to always return a pointer to the node_to_cpumask(node)\nvalue.  This relies on compiler optimization to remove the extra indirection:\n\n    #define node_to_cpumask_ptr(v, node) \t\t\\\n\t    cpumask_t _##v \u003d node_to_cpumask(node), *v \u003d \u0026_##v\n\nFor those systems with a large cpumask size, then a true pointer\nto the array element can be used:\n\n    #define node_to_cpumask_ptr(v, node)\t\t\\\n\t    cpumask_t *v \u003d \u0026(node_to_cpumask_map[node])\n\nA node_to_cpumask_ptr_next() macro is provided to access another\nnode_to_cpumask value.\n\nThe other change is to always include asm-generic/topology.h moving the\nifdef CONFIG_NUMA to this same file.\n\nNote: there are no references to either of these new macros in this patch,\nonly the definition.\n\nBased on 2.6.25-rc5-mm1\n\n# alpha\nCc: Richard Henderson \u003crth@twiddle.net\u003e\n\n# fujitsu\nCc: David Howells \u003cdhowells@redhat.com\u003e\n\n# ia64\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\n\n# powerpc\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\n\n# sparc\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: William L. Irwin \u003cwli@holomorphy.com\u003e\n\n# x86\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "dd135ebbd2a6b5e07dadb66c4dd033bb69531051",
      "tree": "8f8bf987ed9594d5ac0df40fbb34258aa9310179",
      "parents": [
        "8eb224cd45239714c2be104f17d5ca16b6b5d7ac"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Wed Apr 02 13:04:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 02 15:28:18 2008 -0700"
      },
      "message": "kvm: provide kvm.h for all architecture: fixes headers_install\n\nCurrently include/linux/kvm.h is not considered by make headers_install,\nbecause Kbuild cannot handle \" unifdef-$(CONFIG_FOO) +\u003d foo.h.  This problem\nwas introduced by\n\ncommit fb56dbb31c4738a3918db81fd24da732ce3b4ae6\nAuthor: Avi Kivity \u003cavi@qumranet.com\u003e\nDate:   Sun Dec 2 10:50:06 2007 +0200\n\n    KVM: Export include/linux/kvm.h only if $ARCH actually supports KVM\n\n    Currently, make headers_check barfs due to \u003casm/kvm.h\u003e, which \u003clinux/kvm.h\u003e\n    includes, not existing.  Rather than add a zillion \u003casm/kvm.h\u003es, export kvm.\n    only if the arch actually supports it.\n\n    Signed-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n\nwhich makes this an 2.6.25 regression.\n\nOne way of solving the issue is to enhance Kbuild, but Avi and David conviced\nme, that changing headers_install is not the way to go.  This patch changes\nthe definition for linux/kvm.h to unifdef-y.\n\nIf  unifdef-y is used for linux/kvm.h \"make headers_check\" will fail on all\narchitectures without asm/kvm.h.  Therefore, this patch also provides\nasm/kvm.h on all architectures.\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nAcked-by: Avi Kivity \u003cavi@qumranet.com\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\nCc: David Woodhouse \u003cdwmw2@infradead.org\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": "1e8352784abaedb424e63fa700e93e6c1307785f",
      "tree": "eb7ba51fa40e209ed2a1636b3404cca58141bed1",
      "parents": [
        "3a2d5b700132f35401f1d9e22fe3c2cab02c2549"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Feb 23 19:40:17 2008 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Feb 23 12:09:28 2008 -0800"
      },
      "message": "percpu: fix DEBUG_PREEMPT per_cpu checking\n\n2.6.25-rc1 percpu changes broke CONFIG_DEBUG_PREEMPT\u0027s per_cpu checking\non several architectures.  On s390, sparc64 and x86 it\u0027s been weakened to\nnot checking at all; whereas on powerpc64 it\u0027s become too strict, issuing\nwarnings from __raw_get_cpu_var in io_schedule and init_timer for example.\n\nFix this by weakening powerpc\u0027s __my_cpu_offset to use the non-checking\nlocal_paca instead of get_paca (which itself contains such a check);\nand strengthening the generic my_cpu_offset to go the old slow way via\nsmp_processor_id when CONFIG_DEBUG_PREEMPT (debug_smp_processor_id is\nwhere all the knowledge of what\u0027s correct when lives).\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nReviewed-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "37c514e3dfc8f55145d9c6895e2838ac31859aa4",
      "tree": "3e626badf00d003c988c318d6de860b5444f5cf2",
      "parents": [
        "b1d2675a6466090b68d4ef63f9237b4d70a18857"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Tue Feb 19 21:00:18 2008 +0100"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Tue Feb 19 21:00:18 2008 +0100"
      },
      "message": "Add missing init section definitions\n\nWhen adding __devinitconst etc. the __initconst variant\nwere missed.\nAdd this one and proper definitions for .head.text for use\nin .S files.\nThe naming .head.text is preferred over .text.head as the\nlatter will conflict for a function named head when introducing\n-ffunctions-sections.\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "271cad6d7e91ff8eea18976311692f99cd667ad3",
      "tree": "c56b923e6ad3c0228a0265db07e2abf7ed6b1ad8",
      "parents": [
        "81772fea4110f7ce8083d52503c9c4ddaa50f75b"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Mon Feb 11 20:03:17 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 11 20:37:29 2008 -0800"
      },
      "message": "Make topology fallback macros reference their arguments.\n\nThis avoids warnings with unreferenced variables in the !NUMA case.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "144b2a91468bdc0d4fa64b220c152fb58b8ffe05",
      "tree": "2b10f43deeeb889e02b71db7e2a51d400345b37c",
      "parents": [
        "ec7015840ad7a8cdc87f52367ffe9c0b0401d919"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Fri Feb 08 04:19:56 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:31 2008 -0800"
      },
      "message": "asm-generic: remove fastcall\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@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": "7fa3031500ec9b0a7460c8c23751799006ffee74",
      "tree": "2a7e9202b35a39dc8217e95825263c0629e67e35",
      "parents": [
        "b0b933c08bd5fd053bbba8ba6387f543be03d49f"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Feb 08 04:19:28 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:30 2008 -0800"
      },
      "message": "aout: suppress A.OUT library support if !CONFIG_ARCH_SUPPORTS_AOUT\n\nSuppress A.OUT library support if CONFIG_ARCH_SUPPORTS_AOUT is not set.\n\nNot all architectures support the A.OUT binfmt, so the ELF binfmt should not\nbe permitted to go looking for A.OUT libraries to load in such a case.  Not\nonly that, but under such conditions A.OUT core dumps are not produced either.\n\nTo make this work, this patch also does the following:\n\n (1) Makes the existence of the contents of linux/a.out.h contingent on\n     CONFIG_ARCH_SUPPORTS_AOUT.\n\n (2) Renames dump_thread() to aout_dump_thread() as it\u0027s only called by A.OUT\n     core dumping code.\n\n (3) Moves aout_dump_thread() into asm/a.out-core.h and makes it inline.  This\n     is then included only where needed.  This means that this bit of arch\n     code will be stored in the appropriate A.OUT binfmt module rather than\n     the core kernel.\n\n (4) Drops A.OUT support for Blackfin (according to Mike Frysinger it\u0027s not\n     needed) and FRV.\n\nThis patch depends on the previous patch to move STACK_TOP[_MAX] out of\nasm/a.out.h and into asm/processor.h as they\u0027re required whether or not A.OUT\nformat is available.\n\n[jdike@addtoit.com: uml: re-remove accidentally restored code]\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "aa7738a5f503abea5445cdd8cc2d501502c748ae",
      "tree": "6e4a845990b68ad3c8d707c6e6abbed4ac24a8db",
      "parents": [
        "d94afc6ccf6690b30ae112ec8101b3f10d50114e"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri Feb 08 04:18:39 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:24 2008 -0800"
      },
      "message": "tty: let architectures override the user/kernel macros.\n\nGive architectures that support the new termios2 the possibilty to overide the\nuser_termios_to_kernel_termios and kernel_termios_to_user_termios macros.  As\nsoon as all architectures that use the generic variant have been converted the\nifdefs can go away again.  Architectures in question are avr32, frv, powerpc\nand s390.\n\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: 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": "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": "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": "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": "a3b81113fb6658629f4ebaabf8dd3067cd341020",
      "tree": "c6823e84d410f18b110ce07726643d7dc841553d",
      "parents": [
        "0a5dcb51770be3cd0202d6b90a07996fb40130b6"
      ],
      "author": {
        "name": "Robin Getz",
        "email": "rgetz@blackfin.uclinux.org",
        "time": "Wed Feb 06 01:36:26 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:01 2008 -0800"
      },
      "message": "remove support for un-needed _extratext section\n\nWhen passing a zero address to kallsyms_lookup(), the kernel thought it was\na valid kernel address, even if it is not.  This is because is_ksym_addr()\ncalled is_kernel_extratext() and checked against labels that don\u0027t exist on\nmany archs (which default as zero).  Since PPC was the only kernel which\ndefines _extra_text, (in 2005), and no longer needs it, this patch removes\n_extra_text support.\n\nFor some history (provided by Jon):\n http://ozlabs.org/pipermail/linuxppc-dev/2005-September/019734.html\n http://ozlabs.org/pipermail/linuxppc-dev/2005-September/019736.html\n http://ozlabs.org/pipermail/linuxppc-dev/2005-September/019751.html\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Robin Getz \u003crgetz@blackfin.uclinux.org\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Jon Loeliger \u003cjdl@freescale.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "06b8e878a9bc9301201cffe186eba99c4185f20a",
      "tree": "857434ed559cdb001177e81283be6f0b5693a781",
      "parents": [
        "d9afa43532adf8a31b93c4c7601fda3f423d8972"
      ],
      "author": {
        "name": "Michael Neuling",
        "email": "mikey@neuling.org",
        "time": "Wed Feb 06 01:36:12 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:00 2008 -0800"
      },
      "message": "taskstats scaled time cleanup\n\nThis moves the ability to scale cputime into generic code.  This allows us\nto fix the issue in kernel/timer.c (noticed by Balbir) where we could only\nadd an unscaled value to the scaled utime/stime.\n\nThis adds a cputime_to_scaled function.  As before, the POWERPC version\ndoes the scaling based on the last SPURR/PURR ratio calculated.  The\ngeneric and s390 (only other arch to implement asm/cputime.h) versions are\nboth NOPs.\n\nAlso moves the SPURR and PURR snapshots closer.\n\nSigned-off-by: Michael Neuling \u003cmikey@neuling.org\u003e\nCc: Jay Lan \u003cjlan@engr.sgi.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@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": "5e5419734c8719cbc01af959ad9c0844002c0df5",
      "tree": "a075dca3f719946689efa0245464855cbf2a20ce",
      "parents": [
        "9f8f2172537de7af0b0fbd33502d18d52b1339bc"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Feb 04 22:29:14 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:18 2008 -0800"
      },
      "message": "add mm argument to pte/pmd/pud/pgd_free\n\n(with Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e)\n\nThe pgd/pud/pmd/pte page table allocation functions get a mm_struct pointer as\nfirst argument.  The free functions do not get the mm_struct argument.  This\nis 1) asymmetrical and 2) to do mm related page table allocations the mm\nargument is needed on the free function as well.\n\n[kamalesh@linux.vnet.ibm.com: i386 fix]\n[akpm@linux-foundation.org: coding-syle fixes]\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Kamalesh Babulal \u003ckamalesh@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": "d2876d08d86f22ce1f276fc29f6baec8b53e32c6",
      "tree": "d9d059fad208001edb58d9dff3ed6ad64c8e7407",
      "parents": [
        "a9c5fff542544c8595bb12efeb278a96d99386fc"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Mon Feb 04 22:28:20 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:12 2008 -0800"
      },
      "message": "gpiolib: add gpio provider infrastructure\n\nProvide new implementation infrastructure that platforms may choose to use\nwhen implementing the GPIO programming interface.  Platforms can update their\nGPIO support to use this.  In many cases the incremental cost to access a\nnon-inlined GPIO should be less than a dozen instructions, with the memory\ncost being about a page (total) of extra data and code.  The upside is:\n\n  * Providing two features which were \"want to have (but OK to defer)\" when\n    GPIO interfaces were first discussed in November 2006:\n\n    -\tA \"struct gpio_chip\" to plug in GPIOs that aren\u0027t directly supported\n\tby SOC platforms, but come from FPGAs or other multifunction devices\n\tusing conventional device registers (like UCB-1x00 or SM501 GPIOs,\n\tand southbridges in PCs with more open specs than usual).\n\n    -\tFull support for message-based GPIO expanders, where registers are\n\taccessed through sleeping I/O calls.  Previous support for these\n\t\"cansleep\" calls was just stubs.  (One example: the widely used\n\tpcf8574 I2C chips, with 8 GPIOs each.)\n\n  * Including a non-stub implementation of the gpio_{request,free}() calls,\n    making those calls much more useful.  The diagnostic labels are also\n    recorded given DEBUG_FS, so /sys/kernel/debug/gpio can show a snapshot\n    of all GPIOs known to this infrastructure.\n\nThe driver programming interfaces introduced in 2.6.21 do not change at all;\nthis infrastructure is entirely below those covers.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nCc: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Eric Miao \u003ceric.miao@marvell.com\u003e\nCc: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nCc: Philipp Zabel \u003cphilipp.zabel@gmail.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Ben Gardner \u003cbgardner@wabtec.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "795d45b22c079946332bf3825afefe5a981a97b6",
      "tree": "8952c202b021cb73f3a85988a91dd54724707a0b",
      "parents": [
        "7b610eec7a06ede64f71459e7f412dfd96f4cc5e"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Mon Feb 04 16:48:10 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 04 16:48:10 2008 +0100"
      },
      "message": "x86: fix RTC lockdep warning: potential hardirq recursion\n\nAfter disabling both CONFIG_DEBUG_LOCKING_API_SELFTESTS and netconsole\n(using current mainline) I get a login prompt, and also...\n\n[    5.181668] SELinux: policy loaded with handle_unknown\u003ddeny\n[    5.183315] type\u003d1403 audit(1202100038.157:3): policy loaded auid\u003d4294967295 ses\u003d4294967295\n[    5.822073] SELinux: initialized (dev usbfs, type usbfs), uses genfs_contexts\n[    7.819146] ------------[ cut here ]------------\n[    7.819146] WARNING: at kernel/lockdep.c:2033 trace_hardirqs_on+0x9b/0x10d()\n[    7.819146] Modules linked in: generic ext3 jbd ide_disk ide_core\n[    7.819146] Pid: 399, comm: hwclock Not tainted 2.6.24 #4\n[    7.819146]  [\u003cc011d140\u003e] warn_on_slowpath+0x41/0x51\n[    7.819146]  [\u003cc01364a9\u003e] ? lock_release_holdtime+0x50/0x56\n[    7.819146]  [\u003cc013770c\u003e] ? check_usage_forwards+0x19/0x3b\n[    7.819146]  [\u003cc01390c4\u003e] ? __lock_acquire+0xac3/0xb0b\n[    7.819146]  [\u003cc0108c98\u003e] ? native_sched_clock+0x8b/0x9f\n[    7.819146]  [\u003cc01364a9\u003e] ? lock_release_holdtime+0x50/0x56\n[    7.819146]  [\u003cc030ca6c\u003e] ? _spin_unlock_irq+0x22/0x42\n[    7.819146]  [\u003cc013848b\u003e] trace_hardirqs_on+0x9b/0x10d\n[    7.819146]  [\u003cc030ca6c\u003e] _spin_unlock_irq+0x22/0x42\n[    7.819146]  [\u003cc011481e\u003e] hpet_rtc_interrupt+0xdf/0x290\n[    7.819146]  [\u003cc014ea90\u003e] handle_IRQ_event+0x1a/0x46\n[    7.819146]  [\u003cc014f8ea\u003e] handle_edge_irq+0xbe/0xff\n[    7.819146]  [\u003cc0106e08\u003e] do_IRQ+0x6d/0x84\n[    7.819146]  [\u003cc0105596\u003e] common_interrupt+0x2e/0x34\n[    7.819146]  [\u003cc013007b\u003e] ? ktime_get_ts+0x8/0x3f\n[    7.819146]  [\u003cc0139420\u003e] ? lock_release+0x167/0x16f\n[    7.819146]  [\u003cc017974a\u003e] ? core_sys_select+0x2c/0x327\n[    7.819146]  [\u003cc0179792\u003e] core_sys_select+0x74/0x327\n[    7.819146]  [\u003cc0108c98\u003e] ? native_sched_clock+0x8b/0x9f\n[    7.819146]  [\u003cc01364a9\u003e] ? lock_release_holdtime+0x50/0x56\n[    7.819146]  [\u003cc030ca6c\u003e] ? _spin_unlock_irq+0x22/0x42\n[    7.819146]  [\u003cc01384d6\u003e] ? trace_hardirqs_on+0xe6/0x10d\n[    7.819146]  [\u003cc030ca77\u003e] ? _spin_unlock_irq+0x2d/0x42\n[    7.819146]  [\u003cc023b437\u003e] ? rtc_do_ioctl+0x11b/0x677\n[    7.819146]  [\u003cc01c487e\u003e] ? inode_has_perm+0x5e/0x68\n[    7.819146]  [\u003cc01364a9\u003e] ? lock_release_holdtime+0x50/0x56\n[    7.819146]  [\u003cc0108c98\u003e] ? native_sched_clock+0x8b/0x9f\n[    7.819146]  [\u003cc01c490b\u003e] ? file_has_perm+0x83/0x8c\n[    7.819146]  [\u003cc023ba08\u003e] ? rtc_ioctl+0xf/0x11\n[    7.819146]  [\u003cc017898d\u003e] ? do_ioctl+0x55/0x67\n[    7.819146]  [\u003cc0179d15\u003e] sys_select+0x93/0x163\n[    7.819146]  [\u003cc0104b39\u003e] ? sysenter_past_esp+0x9a/0xa5\n[    7.819146]  [\u003cc0104afe\u003e] sysenter_past_esp+0x5f/0xa5\n[    7.819146]  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[    7.819146] ---[ end trace 96540ca301ffb84c ]---\n[    7.819210] rtc: lost 6 interrupts\n[    7.870668] type\u003d1400 audit(1202128840.794:4): avc:  denied  { audit_write } for  pid\u003d399 comm\u003d\"hwclock\" capability\u003d29 scontext\u003dsystem_u:system_r:hwclock_t:s0 tcontext\u003dsystem_u:system_r:hwclock_t:s0 tclass\u003dcapability\n[    9.538866] input: PC Speaker as /class/input/input5\n\nBecause hpet_rtc_interrupt()\u0027s call to get_rtc_time() ends up\nresolving to include/asm-generic/rtc.h\u0027s (hilariously inlined)\nget_rtc_time(), which does spin_unlock_irq() from hard IRQ context.\n\nThe obvious patch fixes it.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e1adbcf10608c83de6a81a02ebce859611433b52",
      "tree": "dad654b0f178d251c61d47d8558a9485b4f56df0",
      "parents": [
        "f0be6c6a697c2fe8e2efbe98cd157bdbcff969ae"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Mon Feb 04 16:48:00 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 04 16:48:00 2008 +0100"
      },
      "message": "asm-generic/tlb.h: remove \u003clinux/quicklist.h\u003e\n\nRemove unused \u003clinux/quicklist.h\u003e from \u003casm-generic/tlb.h\u003e; per\nChristoph Lameter this should have been part of a previous patch\nreversal but apparently didn\u0027t get removed.\n\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "62152d0ea7012382cd814c7b361b4ef2029f26e6",
      "tree": "2552f298c9c5c1f9be6d863d58ab5b4c0b24c37f",
      "parents": [
        "5aa0508508e7cd62bec6e3933b86fce03d2e8502"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 31 22:05:48 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 31 22:05:48 2008 +0100"
      },
      "message": "asm-generic/tlb.h: build fix\n\nbring back the avr32, blackfin, sh, sparc architectures into working order,\nby reverting the effects of this change that came in via the x86 tree:\n\n   commit a5a19c63f4e55e32dc0bc3d936d7f94793d8b380\n   Author: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\n   Date:   Wed Jan 30 13:33:39 2008 +0100\n\n       x86: demacro asm-x86/pgalloc_32.h\n\nSorry about that!\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "edeed30589f5defe63ce6aaae56f2b7c855e4520",
      "tree": "a49736ff74dcbd3feba3c8318b204fb2165f892d",
      "parents": [
        "adafdf6a4e45f2d1051e10aebe13025e89dbdf6d"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Wed Jan 30 13:34:08 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:34:08 2008 +0100"
      },
      "message": "x86: add testcases for RODATA and NX protections/attributes\n\nLatest update; I now have 4 NX tests, but 2 fail so they\u0027re #if 0\u0027d.\nI also cleaned up the NX test code quite a bit, and got rid of the ugly\nexception table sorting stuff.\n\nFrom: Arjan van de Ven \u003carjan@linux.intel.com\u003e\n\nThis patch adds testcases for the CONFIG_DEBUG_RODATA configuration option\nas well as the NX CPU feature/mappings. Both testcases can move to tests/\nonce that patch gets merged into mainline.\n(I\u0027m half considering moving the rodata test into mm/init.c but I\u0027ll\nwait with that until init.c is unified)\n\nAs part of this I had to fix a not-quite-right alignment in the vmlinux.lds.h\nfor the RODATA sections, which lead to 1 page less being marked read only.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "a5a19c63f4e55e32dc0bc3d936d7f94793d8b380",
      "tree": "3aaf621cd79889ed2658de2c30fa2fea42c86cf5",
      "parents": [
        "6c435456dc91ace468b4e9d72ad0e13dafa22a45"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Jan 30 13:33:39 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:33:39 2008 +0100"
      },
      "message": "x86: demacro asm-x86/pgalloc_32.h\n\nConvert macros into inline functions, for better type-checking.\n\nThis patch required a little bit of fiddling with headers in order to\nmake __(pte|pmd)_free_tlb inline rather than macros.\nasm-generic/tlb.h includes asm/pgalloc.h, though it doesn\u0027t directly\nuse any pgalloc definitions.  I removed this include to avoid an\ninclude cycle, but it may cause secondary compile failures by things\ndepending on the indirect inclusion; arch/x86/mm/hugetlbpage.c was one\nsuch place; there may be others.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "dd5af90a7f3d79e04b7eace9a98644dbf2038f4d",
      "tree": "22327ba385c830b7be391c76821dc5ec26863f2e",
      "parents": [
        "3212bff370c2f22e4987c6679ba485654cefb178"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Wed Jan 30 13:33:32 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:33:32 2008 +0100"
      },
      "message": "x86/non-x86: percpu, node ids, apic ids x86.git fixup\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "acdac87202a408133ee8f7985076de9d2e0dc5ab",
      "tree": "55948448c7f179713fc8d1d1ae01ad53adec9c2b",
      "parents": [
        "5280e004fc22314122c84978c0b6a741cf96dc0f"
      ],
      "author": {
        "name": "travis@sgi.com",
        "email": "travis@sgi.com",
        "time": "Wed Jan 30 13:32:52 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:32:52 2008 +0100"
      },
      "message": "percpu: make the asm-generic/percpu.h more \"generic\"\n\n- add support for PER_CPU_ATTRIBUTES\n\n- fix generic smp percpu_modcopy to use per_cpu_offset() macro.\n\nAdd the ability to use generic/percpu even if the arch needs to override\nseveral aspects of its operations. This will enable the use of generic\npercpu.h for all arches.\n\nAn arch may define:\n\n__per_cpu_offset\tDo not use the generic pointer array. Arch must\n\t\t\tdefine per_cpu_offset(cpu) (used by x86_64, s390).\n\n__my_cpu_offset\t\tCan be defined to provide an optimized way to determine\n\t\t\tthe offset for variables of the currently executing\n\t\t\tprocessor. Used by ia64, x86_64, x86_32, sparc64, s/390.\n\nSHIFT_PTR(ptr, offset)\tIf an arch defines it then special handling\n\t\t\tof pointer arithmentic may be implemented. Used\n\t\t\tby s/390.\n\n(Some of these special percpu arch implementations may be later consolidated\nso that there are less cases to deal with.)\n\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5280e004fc22314122c84978c0b6a741cf96dc0f",
      "tree": "008b96d81a924be764629f62f98fa5f7c9e04773",
      "parents": [
        "b32ef636a59aad12f9f9b5dc34c93222842c58ba"
      ],
      "author": {
        "name": "travis@sgi.com",
        "email": "travis@sgi.com",
        "time": "Wed Jan 30 13:32:52 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:32:52 2008 +0100"
      },
      "message": "percpu: move arch XX_PER_CPU_XX definitions into linux/percpu.h\n\n- Special consideration for IA64: Add the ability to specify\n  arch specific per cpu flags\n\n- remove .data.percpu attribute from DEFINE_PER_CPU for non-smp case.\n\nThe arch definitions are all the same. So move them into linux/percpu.h.\n\nWe cannot move DECLARE_PER_CPU since some include files just include\nasm/percpu.h to avoid include recursion problems.\n\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b32ef636a59aad12f9f9b5dc34c93222842c58ba",
      "tree": "6857cac9a741be756608793ab1b481bfa32d2c2e",
      "parents": [
        "cf8fa920cb4271f17e0265c863d64bea1b31941a"
      ],
      "author": {
        "name": "travis@sgi.com",
        "email": "travis@sgi.com",
        "time": "Wed Jan 30 13:32:51 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:32:51 2008 +0100"
      },
      "message": "percpu: use a kconfig variable to signal arch specific percpu setup\n\nThe use of the __GENERIC_PERCPU is a bit problematic since arches\nmay want to run their own percpu setup while using the generic\npercpu definitions. Replace it through a kconfig variable.\n\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "79b4cc5ee7a8086ac2c9c0afa52e6d687ce1ffef",
      "tree": "8f22bbdb0d1532ec6f70400db17bbe2f7c8fbb99",
      "parents": [
        "3a6a62f96f168d192fb0cc9c0b5ee2584740b32d"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Wed Jan 30 13:32:50 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:32:50 2008 +0100"
      },
      "message": "debug: move WARN_ON() out of line\n\nA quick grep shows that there are currently 1145 instances of WARN_ON\nin the kernel. Currently, WARN_ON is pretty much entirely inlined,\nwhich makes it hard to enhance it without growing the size of the kernel\n(and getting Andrew unhappy).\n\nThis patch build on top of Olof\u0027s patch that introduces __WARN,\nand places the slowpath out of line. It also uses Ingo\u0027s suggestion\nto not use __FUNCTION__ but to use kallsyms to do the lookup;\nthis saves a ton of extra space since gcc doesn\u0027t need to store the function\nstring twice now:\n\n3936367  833603  624736 5394706  525112 vmlinux.before\n3917508  833603  624736 5375847  520767 vmlinux-slowpath\n\n15Kb savings...\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCC: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCC: Olof Johansson \u003colof@lixom.net\u003e\nAcked-by: Matt Meckall \u003cmpm@selenic.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "3a6a62f96f168d192fb0cc9c0b5ee2584740b32d",
      "tree": "8817fb64361a30604a8fcb8663326261a755ac59",
      "parents": [
        "f315decbd05fefbca09bd492ae54eaa334ba826b"
      ],
      "author": {
        "name": "Olof Johansson",
        "email": "olof@lixom.net",
        "time": "Wed Jan 30 13:32:50 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:32:50 2008 +0100"
      },
      "message": "debug: introduce __WARN()\n\nIntroduce __WARN() in the generic case, so the generic WARN_ON()\ncan use arch-specific code for when the condition is true.\n\nSigned-off-by: Olof Johansson \u003colof@lixom.net\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "5ea293a9048d3a58cb0c840fa719d85ad14cba47",
      "tree": "88d1dd1eece2cfcbd858ff2c00fb0240dcfab3c7",
      "parents": [
        "03bc26cfefd6db756e6bc7fcda11dc17ada7be16",
        "d3883ecebbf9e095b9e379dabbbe8b2c1ee7a41c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 29 22:46:14 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 29 22:46:14 2008 +1100"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild: (79 commits)\n  Remove references to \"make dep\"\n  kconfig: document use of HAVE_*\n  Introduce new section reference annotations tags: __ref, __refdata, __refconst\n  kbuild: warn about ld added unique sections\n  kbuild: add verbose option to Section mismatch reporting in modpost\n  kconfig: tristate choices with mixed tristate and boolean values\n  asm-generic/vmlix.lds.h: simplify __mem{init,exit}* dependencies\n  remove __attribute_used__\n  kbuild: support ARCH\u003dx86 in buildtar\n  kconfig: remove \"enable\"\n  kbuild: simplified warning report in modpost\n  kbuild: introduce a few helpers in modpost\n  kbuild: use simpler section mismatch warnings in modpost\n  kbuild: link vmlinux.o before kallsyms passes\n  kbuild: introduce new option to enhance section mismatch analysis\n  Use separate sections for __dev/__cpu/__mem code/data\n  compiler.h: introduce __section()\n  all archs: consolidate init and exit sections in vmlinux.lds.h\n  kbuild: check section names consistently in modpost\n  kbuild: introduce blacklisting in modpost\n  ...\n"
    },
    {
      "commit": "aa02ad67d9b308290fde390682cd039b29f7ab85",
      "tree": "1ebf910ab16e6081b5dd3ca526973f09cfd065c4",
      "parents": [
        "c549a95d40efd83fc054785dd1634e8b71fba890"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: Add ext4_find_next_bit()\n\nThis function is used by the ext4 multi block allocator patches.\n\nAlso add generic_find_next_le_bit\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "312b1485fb509c9bc32eda28ad29537896658cb8",
      "tree": "875ad50025dd230e7097a46cbab4e1a57a3696e1",
      "parents": [
        "e241a630374e06aecdae2884af8b652d3b4d6c37"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Mon Jan 28 20:21:15 2008 +0100"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Mon Jan 28 23:21:19 2008 +0100"
      },
      "message": "Introduce new section reference annotations tags: __ref, __refdata, __refconst\n\nToday we have the following annotations for functions/data\nreferencing __init/__exit functions / data:\n\n__init_refok     \u003d\u003e for init functions\n__initdata_refok \u003d\u003e for init data\n__exit_refok     \u003d\u003e for exit functions\n\nThere is really no difference between the __init and __exit\nversions and simplify it and to introduce a shorter annotation\nthe following new annotations are introduced:\n\n__ref      \u003d\u003e for functions (code) that\n              references __*init / __*exit\n__refdata  \u003d\u003e for variables\n__refconst \u003d\u003e for const variables\n\nWhit this annotation is it more obvious what the annotation\nis for and there is no longer the arbitary division\nbetween __init and __exit code.\n\nThe mechanishm is the same as before - a special section\nis created which is made part of the usual sections\nin the linker script.\n\nWe will start to see annotations like this:\n\n-static struct pci_serial_quirk pci_serial_quirks[] \u003d {\n+static const struct pci_serial_quirk pci_serial_quirks[] __refconst \u003d {\n-----------------\n-static struct notifier_block __cpuinitdata cpuid_class_cpu_notifier \u003d\n+static struct notifier_block cpuid_class_cpu_notifier __refdata \u003d\n----------------\n-static int threshold_cpu_callback(struct notifier_block *nfb,\n+static int __ref threshold_cpu_callback(struct notifier_block *nfb,\n\n[The above is just random samples].\n\nNote: No modifications were needed in modpost\nto support the new sections due to the newly introduced\nblacklisting.\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "1a3fb6d481689d0482eacadcbe3205b49b423c11",
      "tree": "11ebd92f8f75b4a1459e6be536548e1d9212cea6",
      "parents": [
        "3ff6eecca4e5c49a5d1dd8b58ea0e20102ce08f0"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Thu Jan 24 22:20:18 2008 +0100"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Mon Jan 28 23:21:18 2008 +0100"
      },
      "message": "asm-generic/vmlix.lds.h: simplify __mem{init,exit}* dependencies\n\nSimplify the dependencies on __mem{init,exit}* (ACPI_HOTPLUG_MEMORY requires\nMEMORY_HOTPLUG).\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "eb8f689046b857874e964463619f09df06d59fad",
      "tree": "ec726cd06764746a07689ede3b782c36a24d3e55",
      "parents": [
        "f3fe866d59d707c7a2bba0b23add078e19edb3dc"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Sun Jan 20 20:07:28 2008 +0100"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Mon Jan 28 23:21:17 2008 +0100"
      },
      "message": "Use separate sections for __dev/__cpu/__mem code/data\n\nIntroducing separate sections for __dev* (HOTPLUG),\n__cpu* (HOTPLUG_CPU) and __mem* (MEMORY_HOTPLUG)\nallows us to do a much more reliable Section mismatch\ncheck in modpost. We are no longer dependent on the actual\nconfiguration of for example HOTPLUG.\n\nThis has the effect that all users see much more\nSection mismatch warnings than before because they\nwere almost all hidden when HOTPLUG was enabled.\nThe advantage of this is that when building a piece\nof code then it is much more likely that the Section\nmismatch errors are spotted and the warnings will be\nfelt less random of nature.\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Adrian Bunk \u003cbunk@kernel.org\u003e\n"
    },
    {
      "commit": "01ba2bdc6b639764745ff678caf3fb9e5bcd745a",
      "tree": "c6e7f1925687485c331189a2d55ff4f2bb0a09df",
      "parents": [
        "6c5bd235bfd0b92188915465c7dfb377c1a4d451"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Sun Jan 20 14:15:03 2008 +0100"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Mon Jan 28 23:21:17 2008 +0100"
      },
      "message": "all archs: consolidate init and exit sections in vmlinux.lds.h\n\nThis patch consolidate all definitions of .init.text, .init.data\nand .exit.text, .exit.data section definitions in\nthe generic vmlinux.lds.h.\n\nThis is a preparational patch - alone it does not buy\nus much good.\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "78f2c7db6068fd6ef75b8c120f04a388848eacb5",
      "tree": "994e8082a01c78e691bacb90c0f8368823c87767",
      "parents": [
        "fa717060f1ab7eb6570f2fb49136f838fc9195a9"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jan 25 21:08:27 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:27 2008 +0100"
      },
      "message": "sched: SCHED_FIFO/SCHED_RR watchdog timer\n\nIntroduce a new rlimit that allows the user to set a runtime timeout on\nreal-time tasks their slice. Once this limit is exceeded the task will receive\nSIGXCPU.\n\nSo it measures runtime since the last sleep.\n\nInput and ideas by Thomas Gleixner and Lennart Poettering.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCC: Lennart Poettering \u003cmzxreary@0pointer.de\u003e\nCC: Michael Kerrisk \u003cmtk.manpages@googlemail.com\u003e\nCC: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "49eaaa1a6c950e7a92c4386c199b8ec950f840b9",
      "tree": "d2b718fc495f6dfa98fbe3e566c65cb0e98c6c3c",
      "parents": [
        "11ee29577cc1637f94d903a6ea322cf1ed8ce1b3"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 26 12:43:01 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 26 22:04:09 2007 -0800"
      },
      "message": "Revert quicklist need-\u003eflush fix\n\nDid not fix the reported issue. Apart from other weirdness this causes a\nbad link between the TLB flushing logic and the quicklists. If there is\nindeed an issue that an arch needs a tlb flush before free then the arch\ncode needs to set tlb-\u003eneed_flush before calling quicklist_free.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "421d99193537a6522aac2148286f08792167d5fd",
      "tree": "1d2d8e83ade8002be9d7284be720dc7cbdaccb1a",
      "parents": [
        "3811dbf67162bd08412f1b0e02e554f353e93bdb"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Dec 17 16:20:27 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Dec 17 19:28:17 2007 -0800"
      },
      "message": "quicklist: Set tlb-\u003eneed_flush if pages are remaining in quicklist 0\n\nThis ensures that the quicklists are drained. Otherwise draining may only\noccur when the processor reaches an idle state.\n\nFixes fatal leakage of pgd_t\u0027s on 2.6.22 and later.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nReported-by: Dhaval Giani \u003cdhaval@linux.vnet.ibm.com\u003e\nCc: \u003cstable@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": "58e1010da3c15e7bdf426b0a3d4b13dba1b7d055",
      "tree": "37a0b04d6b22ae6d0dc0f62dce4cb18cb5c1a4d0",
      "parents": [
        "bcbe4a076609e15ea84cbebd9cd8f317ed70ce92"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 26 21:21:49 2007 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 26 21:21:49 2007 +0100"
      },
      "message": "sched: fix RLIMIT_CPU comment\n\nDevan Lippman noticed that the RLIMIT_CPU comment in resource.h is\nincorrect: the field is in seconds, not msecs. We used msecs in\nearlier versions of the patch but that got changed.\n\nFound-by: Devan Lippman \u003cdevan.lippman@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8256e47cdc8923e9959eb1d7f95d80da538add80",
      "tree": "4702aa3ad7c9025f70314f1146e551b4e1dfcbb2",
      "parents": [
        "09cadedbdc01f1a4bea1f427d4fb4642eaa19da9"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Oct 18 23:41:06 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:54 2007 -0700"
      },
      "message": "Linux Kernel Markers\n\nThe marker activation functions sits in kernel/marker.c.  A hash table is used\nto keep track of the registered probes and armed markers, so the markers\nwithin a newly loaded module that should be active can be activated at module\nload time.\n\nmarker_query has been removed. marker_get_first, marker_get_next and\nmarker_release should be used as iterators on the markers.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nAcked-by: \"Frank Ch. Eigler\" \u003cfche@redhat.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Mike Mason \u003cmmlnx@us.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": "d05be13bcc6ec615fb2e9556a9b85d52800669b6",
      "tree": "e75cee7b28e2a22d94f29fdd44746ea14f4fc6b8",
      "parents": [
        "5159f40742508e03aed4273a9b3ef06f4e71929f"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Thu Oct 18 23:40:31 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:42 2007 -0700"
      },
      "message": "define first set of BIT* macros\n\ndefine first set of BIT* macros\n\n- move BITOP_MASK and BITOP_WORD from asm-generic/bitops/atomic.h to\n  include/linux/bitops.h and rename it to BIT_MASK and BIT_WORD\n- move BITS_TO_LONGS and BITS_PER_BYTE to bitops.h too and allow easily\n  define another BITS_TO_something (e.g. in event.c) by BITS_TO_TYPE macro\nRemaining (and common) BIT macro will be defined after all occurences and\nconflicts will be sorted out in the patches.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@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": "0624517d809b1cf53c977335c9bda4c216cbddee",
      "tree": "5791430160f4423cab3c6085baed815e10c421f7",
      "parents": [
        "1977f032722c27ee3730284582fd3991ad9ac81b"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Thu Oct 18 23:40:26 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:41 2007 -0700"
      },
      "message": "forbid asm/bitops.h direct inclusion\n\nforbid asm/bitops.h direct inclusion\n\nBecause of compile errors that may occur after bit changes if asm/bitops.h is\nincluded directly without e.g.  linux/kernel.h which includes linux/bitops.h,\nforbid direct inclusion of asm/bitops.h.  Thanks to Adrian Bunk.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\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": "26333576fd0d0b52f6e4025c5aded97e188bdd44",
      "tree": "a9c1f9518d940a8ef10453871f2899ca18d46efa",
      "parents": [
        "38048983e14c0fb6324175fbaf2be1baa842f5ee"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Thu Oct 18 03:06:39 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:29 2007 -0700"
      },
      "message": "bitops: introduce lock ops\n\nIntroduce test_and_set_bit_lock / clear_bit_unlock bitops with lock semantics.\nConvert all architectures to use the generic implementation.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nAcked-By: David Howells \u003cdhowells@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: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nCc: Bryan Wu \u003cbryan.wu@analog.com\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Greg Ungerer \u003cgerg@uclinux.org\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Matthew Wilcox \u003cwilly@debian.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Kazumoto Kojima \u003ckkojima@rr.iij4u.or.jp\u003e\nCc: Richard Curnow \u003crc@rc0.org.uk\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nCc: Miles Bader \u003cuclinux-v850@lsi.nec.co.jp\u003e\nCc: Andi Kleen \u003cak@muc.de\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": "cba4fbbff2e9722e93b28e18fa7714b9013cbdda",
      "tree": "6c070671e8df2d1e37fd50d7f2504d99a3f62c5f",
      "parents": [
        "4af3c9cc4fad54c3627e9afebf905aafde5690ed"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Oct 16 23:29:24 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:55 2007 -0700"
      },
      "message": "remove include/asm-*/ipc.h\n\nAll asm/ipc.h files do only #include \u003casm-generic/ipc.h\u003e.\n\nThis patch therefore removes all include/asm-*/ipc.h files and moves the\ncontents of include/asm-generic/ipc.h to include/linux/ipc.h.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\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": "4029a9177fb4a3410211d091505a7f8d03a7b15d",
      "tree": "0ecad3a0799acf1ed59e527790e1b9e3ebee0995",
      "parents": [
        "eb1f2930609bb01bb3a970f145b5004e5163742a"
      ],
      "author": {
        "name": "Olaf Hering",
        "email": "olaf@aepfle.de",
        "time": "Tue Oct 16 23:26:12 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:47 2007 -0700"
      },
      "message": "unexport asm/shmparam.h\n\nSHMLBA cant possible be used in userspace, see sparc versions of that header.\n\nDo not export asm/shmparam.h during make headers_install_all\nThis removes another uservisible place of PAGE_SIZE\n\nSigned-off-by: Olaf Hering \u003colaf@aepfle.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\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": "954ffcb35f5aca428661d29b96c4eee82b3c19cd",
      "tree": "2dd8aaf26a8ae81b461b6d5d824ae8744690e483",
      "parents": [
        "97ee052461446526e1de7236497e6f1b1ffedf8c"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue Oct 16 01:25:44 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:42:59 2007 -0700"
      },
      "message": "flush icache before set_pte() on ia64: flush icache at set_pte\n\nCurrent ia64 kernel flushes icache by lazy_mmu_prot_update() *after*\nset_pte().  This is too late.  This patch removes lazy_mmu_prot_update and\nadd modfied set_pte() for flushing if necessary.\n\nThis patch flush icache of a page when\n\tnew pte has exec bit.\n\t\u0026\u0026 new pte has present bit\n\t\u0026\u0026 new pte is user\u0027s page.\n\t\u0026\u0026 (old *ptep is not present\n            || new pte\u0027s pfn is not same to old *ptep\u0027s ptn)\n\t\u0026\u0026 new pte\u0027s page has no Pg_arch_1 bit.\n\t   Pg_arch_1 is set when a page is cache consistent.\n\nI think this condition checks are much easier to understand than considering\n\"Where sync_icache_dcache() should be inserted ?\".\n\npte_user() for ia64 was removed by http://lkml.org/lkml/2007/6/12/67 as\nclean-up. So, I added it again.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nAcked-by: 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": "8f6aac419bd590f535fb110875a51f7db2b62b5b",
      "tree": "64e73e9f7a4b5a68648a2b4b16e66307c3d8d3cf",
      "parents": [
        "540557b9439ec19668553830c90222f9fb0c2e95"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Tue Oct 16 01:24:13 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:42:51 2007 -0700"
      },
      "message": "Generic Virtual Memmap support for SPARSEMEM\n\nSPARSEMEM is a pretty nice framework that unifies quite a bit of code over all\nthe arches.  It would be great if it could be the default so that we can get\nrid of various forms of DISCONTIG and other variations on memory maps.  So far\nwhat has hindered this are the additional lookups that SPARSEMEM introduces\nfor virt_to_page and page_address.  This goes so far that the code to do this\nhas to be kept in a separate function and cannot be used inline.\n\nThis patch introduces a virtual memmap mode for SPARSEMEM, in which the memmap\nis mapped into a virtually contigious area, only the active sections are\nphysically backed.  This allows virt_to_page page_address and cohorts become\nsimple shift/add operations.  No page flag fields, no table lookups, nothing\ninvolving memory is required.\n\nThe two key operations pfn_to_page and page_to_page become:\n\n   #define __pfn_to_page(pfn)      (vmemmap + (pfn))\n   #define __page_to_pfn(page)     ((page) - vmemmap)\n\nBy having a virtual mapping for the memmap we allow simple access without\nwasting physical memory.  As kernel memory is typically already mapped 1:1\nthis introduces no additional overhead.  The virtual mapping must be big\nenough to allow a struct page to be allocated and mapped for all valid\nphysical pages.  This vill make a virtual memmap difficult to use on 32 bit\nplatforms that support 36 address bits.\n\nHowever, if there is enough virtual space available and the arch already maps\nits 1-1 kernel space using TLBs (f.e.  true of IA64 and x86_64) then this\ntechnique makes SPARSEMEM lookups even more efficient than CONFIG_FLATMEM.\nFLATMEM needs to read the contents of the mem_map variable to get the start of\nthe memmap and then add the offset to the required entry.  vmemmap is a\nconstant to which we can simply add the offset.\n\nThis patch has the potential to allow us to make SPARSMEM the default (and\neven the only) option for most systems.  It should be optimal on UP, SMP and\nNUMA on most platforms.  Then we may even be able to remove the other memory\nmodels: FLATMEM, DISCONTIG etc.\n\n[apw@shadowen.org: config cleanups, resplit code etc]\n[kamezawa.hiroyu@jp.fujitsu.com: Fix sparsemem_vmemmap init]\n[apw@shadowen.org: vmemmap: remove excess debugging]\n[apw@shadowen.org: simplify initialisation code and reduce duplication]\n[apw@shadowen.org: pull out the vmemmap code into its own file]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andy Whitcroft \u003capw@shadowen.org\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.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": "23ec23c2d3496d1cdf74f73d60ab1051405ca774",
      "tree": "ef8847acda750434ca6b7007a8c49194efd954b3",
      "parents": [
        "c5d6471ff9172e4d8f7a5b484b459c56904ae1f0"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Sat Oct 13 08:40:24 2007 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Oct 13 09:58:59 2007 -0700"
      },
      "message": "fix sparc32 breakage (result of vmlinux.lds.S bug)\n\nIn commit 4665079cbb2a3e17de82f2ab2940b9f97f37d65e (\"[NETNS]: Move some\ncode into __init section when CONFIG_NET_NS\u003dn\") we got a new section -\n.exit.text.refok (more of \u0027let\u0027s tell modpost that some bogus calls are\nnot bogus\u0027, a-la text.init.refok).\n\nUnfortunately, the commit in question forgot to add it to TEXT_TEXT,\nwith rather amusing results.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4743d0854faa5624148ac6cf3fe9692e977eefa1",
      "tree": "9d02345afbb7d299543e456eb12e0a2adc2de120",
      "parents": [
        "81ad1837b590775336f68eafcae8dab13a975b3a"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Wed Aug 22 23:12:50 2007 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:37 2007 -0400"
      },
      "message": "libata-portmap: Remove unused definitions\n\nWith the PCI layer properly handling legacy IDE and the kernel now using\nit these can go\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "b0052fcaefb829a29fdc6567274daf0b75329fc3",
      "tree": "195fc7052e5f3225aaa2d4ab12c63f599f4b3be1",
      "parents": [
        "0bc73c253ebb0430a6b6eb32765aac582fe263c5"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Thu Sep 13 01:16:31 2007 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Sep 12 09:08:05 2007 -0700"
      },
      "message": "Define termios_1 functions for powerpc, s390, avr32 and frv\n\nCommit f629307c857c030d5a3dd777fee37c8bb395e171 introduced uses of\nkernel_termios_to_user_termios_1 and user_termios_to_kernel_termios_1\non all architectures.  However, powerpc, s390, avr32 and frv don\u0027t\ncurrently define those functions since their termios struct didn\u0027t\nneed to be changed when the arbitrary baud rate stuff was added, and\nthus the kernel won\u0027t currently build on those architectures.\n\nThis adds definitions of kernel_termios_to_user_termios_1 and\nuser_termios_to_kernel_termios_1 to include/asm-generic/termios.h\nwhich are identical to kernel_termios_to_user_termios and\nuser_termios_to_kernel_termios respectively.  The definitions are the\nsame because the \"old\" termios and \"new\" termios are in fact the same\non these architectures (which are the same ones that use\nasm-generic/termios.h).\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Alan Cox \u003calan@redhat.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9535239f6bc99f68e0cfae44505ad402b53ed24c",
      "tree": "3805894887354ee777250a7593d4a61ec4b40d56",
      "parents": [
        "73c59afc65cfa50c3362b9ce1ec151a79c41dd8e"
      ],
      "author": {
        "name": "Greg Ungerer",
        "email": "gerg@snapgear.com",
        "time": "Fri Aug 10 13:01:20 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Aug 11 15:47:42 2007 -0700"
      },
      "message": "changing include/asm-generic/pgtable.h for non-mmu\n\nThere are some parts of include/asm-generic/pgtable.h that are relevant to\nthe non-mmu architectures.  To make it easier to include this from them I\nwould like to ifdef the relevant parts.\n\nWithout this there is a handful of functions that are referenced in here\nthat are not defined on many non-mmu architectures.  They could be defined\nout of course, as an alternative approach.\n\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": "8d4fbcfbe0a4bfc73e7f0297c59ae514e1f1436f",
      "tree": "f4fe8e2028620b8aeb298c78ee5dc9d6df07e708",
      "parents": [
        "2f63251ed0a803ddbe7bf2577b69d467aa872f68"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 31 21:12:07 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 31 21:12:07 2007 -0700"
      },
      "message": "Fix WARN_ON() on bitfield ops\n\nAlexey Dobriyan noticed that the new WARN_ON() semantics that were\nintroduced by commit 684f978347deb42d180373ac4c427f82ef963171 (to also\nreturn the value to be warned on) didn\u0027t compile when given a bitfield,\nbecause the typeof doesn\u0027t work for bitfields.\n\nSo instead of the typeof trick, use an \"int\" variable together with a\n\"!!(x)\" expression, as suggested by Al Viro.\n\nTo make matters more interesting, Paul Mackerras points out that that is\nsub-optimal on Power, but the old asm-coded comparison seems to be buggy\nanyway on 32-bit Power if the conditional was 64-bit, so I think there\nare more problems there.\n\nRegardless, the new WARN_ON() semantics may have been a bad idea.  But\nthis at least avoids the more serious complications.\n\nCc: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nCc: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Al Viro \u003cviro@ftp.linux.org.uk\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "937472b00b666ecbf1464502f857ec63b024af72",
      "tree": "b557078de19c3370488cfed8ce45b261518ee09d",
      "parents": [
        "07ff8ee79e254ac07205d2c9c9e8fbe2f4b3e6e8"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Tue Jul 31 00:39:11 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 31 15:39:42 2007 -0700"
      },
      "message": "use __val in __get_unaligned\n\nUse \"__val\" rather than \"val\" in the __get_unaligned macro in\nasm-generic/unaligned.h.  This way gcc wont warn if you happen to also name\nsomething in the same scope \"val\".\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cbe87121f1545bb3e98ae114519bf0c4db27d6ab",
      "tree": "5654badf0076dad480ae5832be943930d1cfe6a6",
      "parents": [
        "b38bd33a6bf5095736620ca8e85fe61820c2d312"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Thu Jul 19 01:48:36 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:47 2007 -0700"
      },
      "message": "i386: Put allocated ELF notes in read-only data segment\n\nThis changes the i386 linker script and the asm-generic macro it uses so that\nELF note sections with SHF_ALLOC set are linked into the kernel image along\nwith other read-only data.  The PT_NOTE also points to their location.\n\nThis paves the way for putting useful build-time information into ELF notes\nthat can be found easily later in a kernel memory dump.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\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": "5fb7dc37dc16fbc8b80d81318a582201ef7e280d",
      "tree": "4d6bb4441ece64380e7186ebadd35ad2f5486f9f",
      "parents": [
        "3d7e33825d8799115dd2495c9944badd3272a623"
      ],
      "author": {
        "name": "Fenghua Yu",
        "email": "fenghua.yu@intel.com",
        "time": "Thu Jul 19 01:48:12 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:44 2007 -0700"
      },
      "message": "define new percpu interface for shared data\n\nper cpu data section contains two types of data.  One set which is\nexclusively accessed by the local cpu and the other set which is per cpu,\nbut also shared by remote cpus.  In the current kernel, these two sets are\nnot clearely separated out.  This can potentially cause the same data\ncacheline shared between the two sets of data, which will result in\nunnecessary bouncing of the cacheline between cpus.\n\nOne way to fix the problem is to cacheline align the remotely accessed per\ncpu data, both at the beginning and at the end.  Because of the padding at\nboth ends, this will likely cause some memory wastage and also the\ninterface to achieve this is not clean.\n\nThis patch:\n\nMoves the remotely accessed per cpu data (which is currently marked\nas ____cacheline_aligned_in_smp) into a different section, where all the data\nelements are cacheline aligned. And as such, this differentiates the local\nonly data and remotely accessed data cleanly.\n\nSigned-off-by: Fenghua Yu \u003cfenghua.yu@intel.com\u003e\nAcked-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d37c6e1b67e8d7f3c5fceba491dcb09a15cb7772",
      "tree": "0475cc3e841e22994b3a779125d4cd90b52dc76d",
      "parents": [
        "cc040a8a0e8ba95fbb0ae1edcb9ec83623b422e3"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Tue Jul 17 08:49:35 2007 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 11:01:07 2007 -0700"
      },
      "message": "saner typechecking in generic unaligned.h\n\nVerify that types would match for assignment (under sizeof, so we are safe from\nside effects or any code actually getting generated), then explicitly cast\neverywhere to the fixed-sized types.  Kills a bunch of bogus warnings about\nconstants being truncated (gcc, sparse), finds a pile of endianness problems\nhidden by old noise (sparse).\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2a41de48b81e61fbe260ae5031ebcb6f935f35fb",
      "tree": "3e9697a535f09a5f3c06c61982c7565b858ff46c",
      "parents": [
        "13c22168b7276dffe49dc66675d5a78f6d288e0d"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Tue Jul 17 04:03:56 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:03 2007 -0700"
      },
      "message": "Fix sparse false positives re BUG_ON(ptr)\n\nsparse now warns if one compares pointers with integers. However, there are\nfalse positives, like:\n\n\tfs/filesystems.c:72:2: warning: Using plain integer as NULL pointer\n\nEvery time BUG_ON(ptr) is used, ptr is checked against integer zero.  Avoid\nthat and save ~70 false positives from allyesconfig run.\n\nmentioned by Al.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nAcked-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Josh Triplett \u003cjosh@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": "e21ea246bce5bb93dd822de420172ec280aed492",
      "tree": "d624d1257728d8d869d54420c83d4bf4c4e19189",
      "parents": [
        "f0e47c229b489e37ba7e4159ef7f9cf9ccd44e19"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Tue Jul 17 04:03:03 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:22:59 2007 -0700"
      },
      "message": "mm: remove ptep_test_and_clear_dirty and ptep_clear_flush_dirty\n\nNobody is using ptep_test_and_clear_dirty and ptep_clear_flush_dirty.  Remove\nthe functions from all architectures.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: 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": "f0e47c229b489e37ba7e4159ef7f9cf9ccd44e19",
      "tree": "52ec70d775bb7f7eafa6863829646ee49cbf427f",
      "parents": [
        "5ee403f584a67fb8725cca4d55218925b9295528"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Tue Jul 17 04:03:03 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:22:59 2007 -0700"
      },
      "message": "mm: remove ptep_establish()\n\nThe last user of ptep_establish in mm/ is long gone.  Remove the architecture\nprimitive as well.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: 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": "f23513e8d96cf5e6cf8d2ff0cb5dd6bbc33995e4",
      "tree": "6efce8fb88308ae4f4a65cc35a3669f32ff55248",
      "parents": [
        "4a2d44590a603be292addce9c263982043416666"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Sun Jul 15 23:40:32 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:45 2007 -0700"
      },
      "message": "Introduce O_CLOEXEC\n\nThe problem is as follows: in multi-threaded code (or more correctly: all\ncode using clone() with CLONE_FILES) we have a race when exec\u0027ing.\n\n   thread #1                       thread #2\n\n   fd\u003dopen()\n\n                                   fork + exec\n\n  fcntl(fd,F_SETFD,FD_CLOEXEC)\n\nIn some applications this can happen frequently.  Take a web browser.  One\nthread opens a file and another thread starts, say, an external PDF viewer.\n The result can even be a security issue if that open file descriptor\nrefers to a sensitive file and the external program can somehow be tricked\ninto using that descriptor.\n\nJust adding O_CLOEXEC support to open() doesn\u0027t solve the whole set of\nproblems.  There are other ways to create file descriptors (socket,\nepoll_create, Unix domain socket transfer, etc).  These can and should be\naddressed separately though.  open() is such an easy case that it makes not\nmuch sense putting the fix off.\n\nThe test program:\n\n#include \u003cerrno.h\u003e\n#include \u003cfcntl.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003cunistd.h\u003e\n\n#ifndef O_CLOEXEC\n# define O_CLOEXEC 02000000\n#endif\n\nint\nmain (int argc, char *argv[])\n{\n  int fd;\n  if (argc \u003e 1)\n    {\n      fd \u003d atol (argv[1]);\n      printf (\"child: fd \u003d %d\\n\", fd);\n      if (fcntl (fd, F_GETFD) \u003d\u003d 0 || errno !\u003d EBADF)\n        {\n          puts (\"file descriptor valid in child\");\n          return 1;\n        }\n      return 0;\n    }\n\n  fd \u003d open (\"/proc/self/exe\", O_RDONLY | O_CLOEXEC);\n  printf (\"in parent: new fd \u003d %d\\n\", fd);\n  char buf[20];\n  snprintf (buf, sizeof (buf), \"%d\", fd);\n  execl (\"/proc/self/exe\", argv[0], buf, NULL);\n  puts (\"execl failed\");\n  return 1;\n}\n\n[kyle@parisc-linux.org: parisc fix]\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Michael Kerrisk \u003cmtk-manpages@gmx.net\u003e\nCc: Chris Zankel \u003cchris@zankel.net\u003e\nSigned-off-by: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\nAcked-by: 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": "1b0fac45878bb88759eec347c273285195649ff7",
      "tree": "a9871a47ef98c90bac3f65a7f9309e87420c694c",
      "parents": [
        "9e7bf24b1b979db256ddc84d0d4ac6040d706da6"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Sun Jul 15 23:40:26 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:45 2007 -0700"
      },
      "message": "dma-mapping: prevent dma dependent code from linking on !HAS_DMA archs\n\nContinuing the work started in 411f0f3edc141a582190d3605cadd1d993abb6df ...\n\nThis enables code with a dma path, that compiles away, to build without\nrequiring additional code factoring.  It also prevents code that calls\ndma_alloc_coherent and dma_free_coherent from linking whereas previously\nthe code would hit a BUG() at run time.  Finally, it allows archs that set\n!HAS_DMA to delete their asm/dma-mapping.h file.\n\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: John W. Linville \u003clinville@tuxdriver.com\u003e\nCc: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\nCc: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nCc: \u003cgeert@linux-m68k.org\u003e\nCc: \u003czippel@linux-m68k.org\u003e\nCc: \u003cspyro@f2s.com\u003e\nCc: \u003cysato@users.sourceforge.jp\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ff80a77f20f811c0cc5b251d0f657cbc6f788385",
      "tree": "f3f45cd248803c31ae9a616969db5460085f39ac",
      "parents": [
        "5e7eaade55d53da856f0e07dc9c188f78f780192"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Mon Jul 09 18:52:00 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 09 18:52:00 2007 +0200"
      },
      "message": "sched: simplify sched_find_first_bit()\n\nsimplify sched_rt.c\u0027s sched_find_first_bit() function: there are\nonly 100 RT priority levels left.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8dab5241d06bfc9ee141ea78c56cde5070d7460d",
      "tree": "dd9dc3c64c17862b169f4cbe5fd4a108d960c920",
      "parents": [
        "679ce0ace6b1a07043bc3b405a34ddccad808886"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Sat Jun 16 10:16:12 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Jun 16 13:16:16 2007 -0700"
      },
      "message": "Rework ptep_set_access_flags and fix sun4c\n\nSome changes done a while ago to avoid pounding on ptep_set_access_flags and\nupdate_mmu_cache in some race situations break sun4c which requires\nupdate_mmu_cache() to always be called on minor faults.\n\nThis patch reworks ptep_set_access_flags() semantics, implementations and\ncallers so that it\u0027s now responsible for returning whether an update is\nnecessary or not (basically whether the PTE actually changed).  This allow\nfixing the sparc implementation to always return 1 on sun4c.\n\n[akpm@linux-foundation.org: fixes, cleanups]\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Mark Fortescue \u003cmark@mtfhpc.demon.co.uk\u003e\nAcked-by: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4096b46f01a362fe2cc83f6be25cc7be6bce2ab7",
      "tree": "7738ca7a7962dc88cc5b9e6dc3b789e73504a7c8",
      "parents": [
        "c420bc9f09a0926b708c3edb27eacba434a4f4ba"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Tue May 29 21:29:00 2007 +0200"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Tue May 29 21:29:00 2007 +0200"
      },
      "message": "sparc64: fix alignment bug in linker definition script\n\nThe RO_DATA section were hardcoded to a specific\nalignment in include/asm-generic/vmlinux.h.\nBut for sparc64 this did not match the PAGE_SIZE.\n\nIntroduce a new section definition named:\nRO_DATA that takes actual alignment as parameter.\nRODATA are provided for backward compatibility.\n\nOn top of this avoid hardcoding alignment for\nsparc64 in reset of the script\nFix is build-tested on sparc64 + x86_64.\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "8f53b6fcc49745c19bb2dd2972185ff398160162",
      "tree": "4d989201797bb261965724621aa6c179a345e4f4",
      "parents": [
        "d333fc8d3006296f2893d17817bc0f67cf87f353"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 24 10:13:43 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 24 10:13:43 2007 -0700"
      },
      "message": "Don\u0027t call a warnign a bug. It\u0027s a warning.\n\nChange the default printout message for WARN_ON() to say what it is, not\nsomething else.  I\u0027m tired of having people get all aflutter about a warning.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0e0d314e6a01bb14d303e35e6f7ba24b17020044",
      "tree": "596929a373bbbba7c2d7af4ae6e485a4c584b76f",
      "parents": [
        "ca967258b69eb65dcb07bbab90fdf964c6d2ec45"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Thu May 17 20:14:48 2007 +0200"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Sat May 19 09:11:58 2007 +0200"
      },
      "message": "kbuild: introduce __init_refok/__initdata_refok to supress section mismatch warnings\n\nThroughout the kernel there are a few legitimite references\nto init or exit sections. Most of these are covered by the\npatterns included in modpost but a few nees special attention.\nTo avoid hardcoding a lot of function names in modpost introduce\na marker so relevant function/data can be marked.\nWhen modpost see a reference to a init/exit function from\na function/data marked no warning will be issued.\n\nIdea from: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ca967258b69eb65dcb07bbab90fdf964c6d2ec45",
      "tree": "e02acc9e830fd76e411f742ac39a7c359d7e5ba9",
      "parents": [
        "7664709b44a13e2e0b545e2dd8e7b8797a1748dc"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Thu May 17 13:38:44 2007 +0200"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Sat May 19 09:11:57 2007 +0200"
      },
      "message": "all-archs: consolidate .data section definition in asm-generic\n\nWith this consolidation we can now modify the .data\nsection definition in one spot for all archs.\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "7664709b44a13e2e0b545e2dd8e7b8797a1748dc",
      "tree": "fcb8e87dd21f90a376fab8ad22a298021a2435e5",
      "parents": [
        "cd5477911fc9f5cc64678e2b95cdd606c59a11b5"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Sun May 13 00:31:33 2007 +0200"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Sat May 19 09:11:57 2007 +0200"
      },
      "message": "all-archs: consolidate .text section definition in asm-generic\n\nMove definition of .text section to asm-generic.\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "853da0022023c046e0a5ccc51d427745f0c94de7",
      "tree": "bc36f80f00aa11c3c239a80ecf04ba8238219ce8",
      "parents": [
        "5884c40668a928bba017eaf54e2eb3c01c8a98e6",
        "0a4ff8c2598b72f2fa9d50aae9e1809e684dbf41"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 09:57:16 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 09:57:16 2007 -0700"
      },
      "message": "Merge branch \u0027audit.b38\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current\n\n* \u0027audit.b38\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current:\n  [PATCH] Abnormal End of Processes\n  [PATCH] match audit name data\n  [PATCH] complete message queue auditing\n  [PATCH] audit inode for all xattr syscalls\n  [PATCH] initialize name osid\n  [PATCH] audit signal recipients\n  [PATCH] add SIGNAL syscall class (v3)\n  [PATCH] auditing ptrace\n"
    },
    {
      "commit": "04dd08b45be863f016df648a149ade1411608d00",
      "tree": "9787f5d7b1fb808873e68209df9496e54509dab4",
      "parents": [
        "99eaf3c45fe806c4a7f39b9be4a1bd0dfc617699"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Thu May 10 22:22:40 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 08:29:34 2007 -0700"
      },
      "message": "Consolidate asm/poll.h\n\nThese files are almost all the same.\n\nThis patch could be made even simpler if we don\u0027t mind POLLREMOVE turning\nup in a few architectures that didn\u0027t have it previously (which should be\nOK as POLLREMOVE is not used anywhere in the current tree).\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\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": "7f13da40e36c84d0d046b7adbd060af7d3717250",
      "tree": "3cf0c58f674be94a7237734367ee5c04a5f223bc",
      "parents": [
        "a5cb013da773a67ee48d1c19e96436c22a73a7eb"
      ],
      "author": {
        "name": "Amy Griffis",
        "email": "amy.griffis@hp.com",
        "time": "Thu Mar 29 18:00:37 2007 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri May 11 05:38:25 2007 -0400"
      },
      "message": "[PATCH] add SIGNAL syscall class (v3)\n\nAdd a syscall class for sending signals.\n\nSigned-off-by: Amy Griffis \u003camy.griffis@hp.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "beb7dd86a101263bf63a78c7c6d4da3849b35bd6",
      "tree": "9afe81ca9e92ab8aacc999ae118b27d547721f11",
      "parents": [
        "3dde6ad8fc3939d345a3768464ecff43c91d511a"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Wed May 09 07:14:03 2007 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Wed May 09 07:14:03 2007 +0200"
      },
      "message": "Fix misspellings collected by members of KJ list.\n\nFix the misspellings of \"propogate\", \"writting\" and (oh, the shame\n:-) \"kenrel\" in the source tree.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "5e97b9309baa76b476ec7e0d6e9c097edeb4142c",
      "tree": "f36f3410ce537babc60025ea499970d148c69b14",
      "parents": [
        "2856f5e31c1413bf6e4f1371e07e17078a5fee5e"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Tue May 08 00:34:40 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:20 2007 -0700"
      },
      "message": "local_t: architecture independent extension\n\nThis series extena and standardises local_t operations on each architecture,\nallowing a rich set of atomic operations to be done on per-cpu data with\nminimal performance impact.  On architectures where there seems to be no\ndifference between the SMP and UP operation (same memory barriers, same\nLOCKing), local.h simply includes asm-generic/local.h, which removes\nduplicated code from the current kernel tree.\n\nThis patch:\n\nlocal_t: architecture independent extension\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2856f5e31c1413bf6e4f1371e07e17078a5fee5e",
      "tree": "587dfe584f0913813d0cf2414a9378618143db15",
      "parents": [
        "79d365a306c3af53d8a732fec79b76c0b285d816"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "compudj@krystal.dyndns.org",
        "time": "Tue May 08 00:34:38 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:20 2007 -0700"
      },
      "message": "atomic.h: atomic_add_unless as inline. Remove system.h atomic.h circular dependency\n\natomic_add_unless as inline. Remove system.h atomic.h circular dependency.\nI agree (with Andi Kleen) this typeof is not needed and more error\nprone. All the original atomic.h code that uses cmpxchg (which includes\nthe atomic_add_unless) uses defines instead of inline functions,\nprobably to circumvent a circular dependency between system.h and\natomic.h on powerpc (which my patch addresses). Therefore, it makes\nsense to use inline functions that will provide type checking.\n\natomic_add_unless as inline. Remove system.h atomic.h circular dependency.\nDigging into the FRV architecture shows me that it is also affected by\nsuch a circular dependency. Here is the diff applying this against the\nrest of my atomic.h patches.\n\nIt applies over the atomic.h standardization patches.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bb2382c3e4395ab595278cc7b92ac3f2eaf23f66",
      "tree": "9a162bcdff0bc8a19b1ca26ac954a27b0178fb2c",
      "parents": [
        "e96e69942312314c061eb2fdd947a7a1211d62f8"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Tue May 08 00:34:19 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:19 2007 -0700"
      },
      "message": "atomic.h: complete atomic_long operations in asm-generic\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1eeb66a1bb973534dc3d064920a5ca683823372e",
      "tree": "19c22d611e6adefb352dbc107b859e4d13ba38c1",
      "parents": [
        "e3869792990f708c97be5877499cada70d469bd3"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue May 08 00:27:03 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:04 2007 -0700"
      },
      "message": "move die notifier handling to common code\n\nThis patch moves the die notifier handling to common code.  Previous\nvarious architectures had exactly the same code for it.  Note that the new\ncode is compiled unconditionally, this should be understood as an appel to\nthe other architecture maintainer to implement support for it aswell (aka\nsprinkling a notify_die or two in the proper place)\n\narm had a notifiy_die that did something totally different, I renamed it to\narm_notify_die as part of the patch and made it static to the file it\u0027s\ndeclared and used at.  avr32 used to pass slightly less information through\nthis interface and I brought it into line with the other architectures.\n\n[akpm@linux-foundation.org: build fix]\n[akpm@linux-foundation.org: fix vmalloc_sync_all bustage]\n[bryan.wu@analog.com: fix vmalloc_sync_all in nommu]\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Bryan Wu \u003cbryan.wu@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": "03df4f6ee997589a84d5f9492c6419183724c710",
      "tree": "94b79a8b18bab6032ce8e241c7a56fe007cd587c",
      "parents": [
        "21564fd2a3deb48200b595332f9ed4c9f311f2a7"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed May 02 19:27:17 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:17 2007 +0200"
      },
      "message": "[PATCH] i386: Clean up ELF note generation\n\nThree cleanups:\n\n1: ELF notes are never mapped, so there\u0027s no need to have any access\nflags in their phdr.\n\n2: When generating them from asm, tell the assembler to use a SHT_NOTE\nsection type.  There doesn\u0027t seem to be a way to do this from C.\n\n3: Use ANSI rather than traditional cpp behaviour to stringify the\nmacro argument.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "d6dd61c831226f9cd7750885da04d360d6455101",
      "tree": "30f84a429821d207f7de5dd6225d3d9515042c0a",
      "parents": [
        "5311ab62cdc7788784971ed816ce85e926f3e994"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed May 02 19:27:14 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:14 2007 +0200"
      },
      "message": "[PATCH] x86: PARAVIRT: add hooks to intercept mm creation and destruction\n\nAdd hooks to allow a paravirt implementation to track the lifetime of\nan mm.  Paravirtualization requires three hooks, but only two are\nneeded in common code.  They are:\n\narch_dup_mmap, which is called when a new mmap is created at fork\n\narch_exit_mmap, which is called when the last process reference to an\n  mm is dropped, which typically happens on exit and exec.\n\nThe third hook is activate_mm, which is called from the arch-specific\nactivate_mm() macro/function, and so doesn\u0027t need stub versions for\nother architectures.  It\u0027s called when an mm is first used.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: linux-arch@vger.kernel.org\nCc: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ae1ee11be77f51cedb6c569887dddc70c163ab6d",
      "tree": "e579a6a6d10c6835cab9af47a2795bf40f669da6",
      "parents": [
        "8f9aeca7a081d81c4c9862be1e04f15b5ab5461f"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed May 02 19:27:10 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:10 2007 +0200"
      },
      "message": "[PATCH] i386: Use per-cpu variables for GDT, PDA\n\nAllocating PDA and GDT at boot is a pain.  Using simple per-cpu variables adds\nhappiness (although we need the GDT page-aligned for Xen, which we do in a\nfollowup patch).\n\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "15c54033964a943de7b0763efd3bd0ede7326395",
      "tree": "840b292612d1b5396d5bab5bde537a9013db3ceb",
      "parents": [
        "ad5da3cf39a5b11a198929be1f2644e17ecd767e",
        "912a41a4ab935ce8c4308428ec13fc7f8b1f18f4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Apr 27 09:26:46 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Apr 27 09:26:46 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (448 commits)\n  [IPV4] nl_fib_lookup: Initialise res.r before fib_res_put(\u0026res)\n  [IPV6]: Fix thinko in ipv6_rthdr_rcv() changes.\n  [IPV4]: Add multipath cached to feature-removal-schedule.txt\n  [WIRELESS] cfg80211: Clarify locking comment.\n  [WIRELESS] cfg80211: Fix locking in wiphy_new.\n  [WEXT] net_device: Don\u0027t include wext bits if not required.\n  [WEXT]: Misc code cleanups.\n  [WEXT]: Reduce inline abuse.\n  [WEXT]: Move EXPORT_SYMBOL statements where they belong.\n  [WEXT]: Cleanup early ioctl call path.\n  [WEXT]: Remove options.\n  [WEXT]: Remove dead debug code.\n  [WEXT]: Clean up how wext is called.\n  [WEXT]: Move to net/wireless\n  [AFS]: Eliminate cmpxchg() usage in vlocation code.\n  [RXRPC]: Fix pointers passed to bitops.\n  [RXRPC]: Remove bogus atomic_* overrides.\n  [AFS]: Fix u64 printing in debug logging.\n  [AFS]: Add \"directory write\" support.\n  [AFS]: Implement the CB.InitCallBackState3 operation.\n  ...\n"
    },
    {
      "commit": "6c210482ae4a9a5bb9377ad250feaacec3faa3cd",
      "tree": "2eb89d89a22380298d64edad59010c1d0a59e5a4",
      "parents": [
        "2fc2d1e9ffcde78af7ab63ed640d9a4901797de2"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Apr 27 16:01:57 2007 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Apr 27 16:01:46 2007 +0200"
      },
      "message": "[S390] split page_test_and_clear_dirty.\n\nThe page_test_and_clear_dirty primitive really consists of two\noperations, page_test_dirty and the page_clear_dirty. The combination\nof the two is not an atomic operation, so it makes more sense to have\ntwo separate operations instead of one.\nIn addition to the improved readability of the s390 version of\nSetPageUptodate, it now avoids the page_test_dirty operation which is\nan insert-storage-key-extended (iske) instruction which is an expensive\noperation.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "3927f2e8f9afa3424bb51ca81f7abac01ffd0005",
      "tree": "da9e335169572e6c743c084edce6a802f9e667ee",
      "parents": [
        "9d729f72dca9406025bcfa9c1f660d71d9ef0ff5"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Sun Mar 25 19:54:23 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:33 2007 -0700"
      },
      "message": "[NET]: div64_64 consolidate (rev3)\n\nHere is the current version of the 64 bit divide common code.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "49f19710512c825aaea73b9207b3a848027cda1d",
      "tree": "06da31bd9a84273e12aa43f536f90eb8146ff92e",
      "parents": [
        "a5bfffac645a7b2d8119f8bbae34df5c94832799"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zach@vmware.com",
        "time": "Sun Apr 08 16:04:01 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Apr 08 19:47:55 2007 -0700"
      },
      "message": "[PATCH] Proper fix for highmem kmap_atomic functions for VMI for 2.6.21\n\nSince lazy MMU batching mode still allows interrupts to enter, it is\npossible for interrupt handlers to try to use kmap_atomic, which fails when\nlazy mode is active, since the PTE update to highmem will be delayed.  The\nbest workaround is to issue an explicit flush in kmap_atomic_functions\ncase; this is the only way nested PTE updates can happen in the interrupt\nhandler.\n\nThanks to Jeremy Fitzhardinge for noting the bug and suggestions on a fix.\n\nThis patch gets reverted again when we start 2.6.22 and the bug gets fixed\ndifferently.\n\nSigned-off-by: Zachary Amsden \u003czach@vmware.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "38f3323037de22bb0089d08be27be01196e7148b",
      "tree": "a4614cbaf4880b3f782b74df91bbfcac8c3308f2",
      "parents": [
        "5d6deb940f880140fbcf5ec42e92534e78785e99"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 06 19:38:01 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 06 19:38:01 2007 -0800"
      },
      "message": "Revert \"[PATCH] LOG2: Alter get_order() so that it can make use of ilog2() on a constant\"\n\nThis reverts commit 39d61db0edb34d60b83c5e0d62d0e906578cc707.\n\nThe commit was buggy in multiple ways:\n - the conversion to ilog2() was incorrect to begin with\n - it tested the wrong #defines, so on all architectures but FRV you\u0027d\n   never see the bug except for constant arguments.\n - the new \"get_order()\" macro used its arguments multiple times, and\n   didn\u0027t even parenthesize them properly\n - despite the comments, it was not true that you could use it for\n   constant initializers, since not all architectures even use the\n   generic page.h header file.\n\nAll of the problems are individually fixable, but it all boils down to:\nbetter just revert it, and re-do it from scratch.\n\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9226d125d94c7e4964dd41cc5e9ca2ff84091d01",
      "tree": "935d6e80ff843e1d7b54e0fd9386ef2e0d31aa3d",
      "parents": [
        "c119ecce894120790903ef535dac3e105f3d6cde"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zach@vmware.com",
        "time": "Tue Feb 13 13:26:21 2007 +0100"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Tue Feb 13 13:26:21 2007 +0100"
      },
      "message": "[PATCH] i386: paravirt CPU hypercall batching mode\n\nThe VMI ROM has a mode where hypercalls can be queued and batched.  This turns\nout to be a significant win during context switch, but must be done at a\nspecific point before side effects to CPU state are visible to subsequent\ninstructions.  This is similar to the MMU batching hooks already provided.\nThe same hooks could be used by the Xen backend to implement a context switch\nmulticall.\n\nTo explain a bit more about lazy modes in the paravirt patches, basically, the\nidea is that only one of lazy CPU or MMU mode can be active at any given time.\n Lazy MMU mode is similar to this lazy CPU mode, and allows for batching of\nmultiple PTE updates (say, inside a remap loop), but to avoid keeping some\nkind of state machine about when to flush cpu or mmu updates, we just allow\none or the other to be active.  Although there is no real reason a more\ncomprehensive scheme could not be implemented, there is also no demonstrated\nneed for this extra complexity.\n\nSigned-off-by: Zachary Amsden \u003czach@vmware.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\n"
    },
    {
      "commit": "4c20386c8d0719b42503efe65abe47ad3fb3d711",
      "tree": "9ec169c4c8548a9c2ac5c258c15020c346b969e1",
      "parents": [
        "9794f33ddedd878dd92fcf8b4834391840366919"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Mon Feb 12 00:53:11 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:34 2007 -0800"
      },
      "message": "[PATCH] GPIO core\n\nThis defines a simple and minimalist programming interface for GPIO APIs:\n\n  - Documentation/gpio.txt ... describes things (read it)\n\n  - include/asm-arm/gpio.h ... defines the ARM hook, which just punts\n    to \u003casm/arch/gpio.h\u003e for any implementation\n\n  - include/asm-generic/gpio.h ... implement \"can sleep\" variants as calling\n    the normal ones, for systems that don\u0027t handle i2c expanders.\n\nThe immediate need for such a cross-architecture API convention is to support\ndrivers that work the same on AT91 ARM and AVR32 AP7000 chips, which embed many\nof the same controllers but have different CPUs.  However, several other users\nhave been reported, including a driver for a hardware watchdog chip and some\nhandhelds.org multi-CPU button drivers.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "509cb37e173d4e39cec47238397e91b718730794",
      "tree": "c841817718d22ec410162c3c473fac42458886ad",
      "parents": [
        "9ede209e83693cf3f6b64f61ab4b65f2f809cb50"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Mon Feb 12 00:08:03 2007 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 20:06:39 2007 -0800"
      },
      "message": "[PATCH] one more iomap s390 build fix\n\nCommit 9ac7849e35f705830f7b016ff272b0ff1f7ff759 causes this on S390:\n\n  drivers/built-in.o: In function `dmam_noncoherent_release\u0027:\n    dma-mapping.c:(.text+0x1515c): undefined reference to `dma_free_noncoherent\u0027\n  drivers/built-in.o: In function `dmam_free_noncoherent\u0027:\n    undefined reference to `dma_free_noncoherent\u0027\n  drivers/built-in.o: In function `dmam_alloc_noncoherent\u0027:\n    undefined reference to `dma_alloc_noncoherent\u0027\n  make: *** [.tmp_vmlinux1] Error 1\n\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Jeff Garzik \u003cjeff@garzik.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "f05b6284ee5d3be51ebe22284fc4b25fc586f380"
}
