)]}'
{
  "log": [
    {
      "commit": "0aa817f078b655d0ae36669169d73a5c8a388016",
      "tree": "140acc4d0dc992b4d20394f6a6412a7c1bb3a306",
      "parents": [
        "3ec0974210fe1b7c0618ad6e39a882a4237d7de2"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed May 16 22:11:01 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 17 05:23:04 2007 -0700"
      },
      "message": "Slab allocators: define common size limitations\n\nCurrently we have a maze of configuration variables that determine the\nmaximum slab size.  Worst of all it seems to vary between SLAB and SLUB.\n\nSo define a common maximum size for kmalloc.  For conveniences sake we use\nthe maximum size ever supported which is 32 MB.  We limit the maximum size\nto a lower limit if MAX_ORDER does not allow such large allocations.\n\nFor many architectures this patch will have the effect of adding large\nkmalloc sizes.  x86_64 adds 5 new kmalloc sizes.  So a small amount of\nmemory will be needed for these caches (contemporary SLAB has dynamically\nsizeable node and cpu structure so the waste is less than in the past)\n\nMost architectures will then be able to allocate object with sizes up to\nMAX_ORDER.  We have had repeated breakage (in fact whenever we doubled the\nnumber of supported processors) on IA64 because one or the other struct\ngrew beyond what the slab allocators supported.  This will avoid future\nissues and f.e.  avoid fixes for 2k and 4k cpu support.\n\nCONFIG_LARGE_ALLOCS is no longer necessary so drop it.\n\nIt fixes sparc64 with SLAB.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-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": "a35afb830f8d71ec211531aeb9a621b09a2efb39",
      "tree": "198280081e1f8b2f6c450742a5075cc7904a3d58",
      "parents": [
        "5577bd8a85c8b7643a241789b14fafa9c8a6c7db"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed May 16 22:10:57 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 17 05:23:04 2007 -0700"
      },
      "message": "Remove SLAB_CTOR_CONSTRUCTOR\n\nSLAB_CTOR_CONSTRUCTOR is always specified. No point in checking it.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Anton Altaparmakov \u003caia21@cantab.net\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nCc: David Chinner \u003cdgc@sgi.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ade3aff25fb2dce76e2a9b53e1334bd0a174f739",
      "tree": "a10770c6eb13c6c6dc9b74d208fc25e66aafc3f1",
      "parents": [
        "0b44f7a5b5078d737b3f5914978aabb761254840"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Wed May 16 22:10:54 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 17 05:23:03 2007 -0700"
      },
      "message": "slub: fix handling of oversized slabs\n\nI\u0027m getting zillions of undefined references to __kmalloc_size_too_large on\nalpha.  For some reason alpha is building out-of-line copies of kmalloc_slab()\ninto lots of compilation units.\n\nIt turns out that gcc just isn\u0027t smart enough to work out that\n__builtin_contant_p(size)\u003d\u003dtrue implies that __builtin_contant_p(index)\u003d\u003dtrue.\n\nSo let\u0027s give it a bit of help.\n\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3ca12ee549f7837b8a685dddc9515f9fc28434ee",
      "tree": "30dcd051b8a08a6b529826ab6f449b15d62a0c12",
      "parents": [
        "9fbf09a09e8aa50c56e2c6dfacc27eff93ff4c93"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed May 16 22:10:52 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 17 05:23:03 2007 -0700"
      },
      "message": "SLAB: Move two remaining SLAB specific definitions to slab_def.h\n\nTwo definitions remained in slab.h that are particular to the SLAB allocator.\nMove to slab_def.h\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c59def9f222d44bb7e2f0a559f2906191a0862d7",
      "tree": "51bc0c12906b13887c6e53d1e06b48b411443129",
      "parents": [
        "afc0cedbe9138e3e8b38bfa1e4dfd01a2c537d62"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed May 16 22:10:50 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 17 05:23:03 2007 -0700"
      },
      "message": "Slab allocators: Drop support for destructors\n\nThere is no user of destructors left.  There is no reason why we should keep\nchecking for destructors calls in the slab allocators.\n\nThe RFC for this patch was discussed at\nhttp://marc.info/?l\u003dlinux-kernel\u0026m\u003d117882364330705\u0026w\u003d2\n\nDestructors were mainly used for list management which required them to take a\nspinlock.  Taking a spinlock in a destructor is a bit risky since the slab\nallocators may run the destructors anytime they decide a slab is no longer\nneeded.\n\nPatch drops destructor support.  Any attempt to use a destructor will BUG().\n\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b2cd64153b94473f6bd82448a68b8e8c041676ea",
      "tree": "327778fbc139079921eeb73bebf10af4327f79c8",
      "parents": [
        "b17bfca5f16a6090ee51250163e1720f6fe71515",
        "13b8d09f5de0aaa3153bbccc98baf247387823dc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 16 21:28:49 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 16 21:28:49 2007 -0700"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev\n\n* \u0027upstream-linus\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev:\n  libata: track spindown status and skip spindown_compat if possible\n  libata: fix shutdown warning message printing\n  libata-acpi: add ATA_FLAG_ACPI_SATA port flag\n  libata: during revalidation, check n_sectors after device is configured\n  libata: separate out ata_dev_reread_id()\n  pata_scc had been missed by ata_std_prereset() switch\n"
    },
    {
      "commit": "1abd727ed7abf5c19e7d1760671475cbecbccb0e",
      "tree": "0ec7364ea4171a39bdd00c6f140ec31a0602ca58",
      "parents": [
        "faab83bbcd9e001077e42a7c085f1e871997647f"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Tue May 15 23:57:03 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 16 21:19:15 2007 -0700"
      },
      "message": "SLUB: It is legit to allocate a slab of the maximum permitted size\n\nSorry I screwed up the comparison. It is only an error if we attempt\nto allocate a slab larger than the maximum allowed size.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "13b8d09f5de0aaa3153bbccc98baf247387823dc",
      "tree": "d35c90bd2460d7808595917ccf7c102229353365",
      "parents": [
        "da071b42f73dabbd0daf7ea4c3ff157d53b00648"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue May 15 12:29:22 2007 +0200"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed May 16 01:18:31 2007 -0400"
      },
      "message": "libata: track spindown status and skip spindown_compat if possible\n\nOur assumption that most distros issue STANDBYNOW seems wrong.  The\nupstream sysvinit and thus many distros including gentoo and opensuse\ndon\u0027t take any action for libata disks on spindown.  We can skip\ncompat handling for these distros so that they don\u0027t need to update\nanything to take advantage of kernel-side shutdown.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "3cadbcc09891b8544203f211dac13f9cc4e6832a",
      "tree": "ac85dba0648f6e2be0d057b9afca926d97e24828",
      "parents": [
        "6ddcd3b0201a7ad72294347636d2b4028ddbd95d"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue May 15 03:28:15 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed May 16 01:18:31 2007 -0400"
      },
      "message": "libata-acpi: add ATA_FLAG_ACPI_SATA port flag\n\nWhether a controller needs IDE or SATA ACPI hierarchy is determined by\nthe programming interface of the controller not by whether the\ncontroller is SATA or PATA, or it supports slave device or not.  This\npatch adds ATA_FLAG_ACPI_SATA port flags which tells libata-acpi that\nthe port needs SATA ACPI nodes, and sets the flag for ahci and\nsata_sil24.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "6ddcd3b0201a7ad72294347636d2b4028ddbd95d",
      "tree": "ef2d28ea1775693f632705ebe71ad3e451cd69f1",
      "parents": [
        "fe30911b34098db58c21d0f936f6c3f17f32deb8"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue May 15 03:28:15 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed May 16 01:18:30 2007 -0400"
      },
      "message": "libata: during revalidation, check n_sectors after device is configured\n\nDevice might be resized during ata_dev_configure() due to HPA or\n(later) ACPI _GTF.  Currently it\u0027s worked around by caching n_sectors\nbefore turning off HPA.  The cached original size is overwritten if\nthe device is reconfigured without being hardreset - which always\nhappens after configuring trasnfer mode.  If the device gets hardreset\nfor some reason after that, revalidation fails with -ENODEV.\n\nThis patch makes size checking more robust by moving n_sectors check\nfrom ata_dev_reread_id() to ata_dev_revalidate() after the device is\nfully configured.  No matter what happens during configuration, a\ndevice must have the same n_sectors after fully configured to be\ntreated as the same device.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "e089d43fb1ab8e39168c9f61d30aef5b8724d085",
      "tree": "d027ec95c300076a83804b99c4014920844c34e1",
      "parents": [
        "0e402c6ec4f32a9192a30c4a5b5ba6867c0be7bc",
        "e0ff9cd12a26259f8dd676124a188037e7e90b38"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 15 18:47:21 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 15 18:47:21 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6:\n  Use menuconfig objects: IDE\n  sl82c105: Switch to ref counting API\n  ide: remove ide_use_dma()\n  ide: add missing validity checks for identify words 62 and 63\n  ide: remove ide_dma_enable()\n  sl82c105: add speedproc() method and MWDMA0/1 support\n  cs5530/sc1200: add -\u003espeedproc support\n  cs5530/sc1200: DMA support cleanup\n  ide: use ide_tune_dma() part #2\n  cs5530/sc1200: add -\u003eudma_filter methods\n  ide: always disable DMA before tuning it\n  pdc202xx_new: use ide_tune_dma()\n  alim15x3: use ide_tune_dma()\n  sis5513: PIO mode setup fixes\n  serverworks: PIO mode setup fixes\n  pdc202xx_old: rewrite mode programming code (v2)\n"
    },
    {
      "commit": "122ab0887c36247bd4508c25e4fccf9264546fe2",
      "tree": "ae8645bf5fb8ce6dbbafda5789f91fa002f335b3",
      "parents": [
        "3649c06e66ad3589374e8765ed69eda65658735c"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed May 16 00:51:46 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed May 16 00:51:46 2007 +0200"
      },
      "message": "ide: remove ide_use_dma()\n\nide_use_dma() duplicates a lot of ide_max_dma_mode() functionality\nand as all users of ide_use_dma() were converted to use ide_tune_dma()\nnow it is possible to add missing checks to ide_tune_dma() and remove\nide_use_dma() completely, so do it.\n\nThere should be no functionality changes caused by this patch.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "4728d546d7137ad5350cc2e53d4748fd26f61a60",
      "tree": "73cd688f1f16b1d04a23958e7110ba3f70def531",
      "parents": [
        "46cedc9b773795b6190c31e5d32de5207b55a356"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed May 16 00:51:46 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed May 16 00:51:46 2007 +0200"
      },
      "message": "ide: remove ide_dma_enable()\n\n* check -\u003espeedproc return value in ide_tune_dma()\n* use ide_tune_dma() in cmd64x/cs5530/sc1200/siimage/sl82c105/scc_pata drivers\n* remove no longer needed ide_dma_enable()\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "0560551dca0c02a4b23f95a9c339882ff291e1c7",
      "tree": "af0fa695a2149b5632d91bd28620de10a0dcf2fa",
      "parents": [
        "1ca9bc4f2ae22741f2a545c1b0c3a042a2d71b11",
        "bbdfff86a8f0c91ad8b6dedf74bc14de4ba39679"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 15 12:10:26 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 15 12:10:26 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/davej/agpgart\n\n* master.kernel.org:/pub/scm/linux/kernel/git/davej/agpgart:\n  [AGPGART] Fix wrong ID in via-agp.c\n"
    },
    {
      "commit": "cfbf07f2a80b618c42a42c20d83647ea8fcceca0",
      "tree": "575c9834d1ed69459c79162042647008f2097123",
      "parents": [
        "6a3ee3d5529c5e66aedf91401bfac65c61998639"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Tue May 15 01:42:06 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 15 08:54:01 2007 -0700"
      },
      "message": "SLUB: CONFIG_LARGE_ALLOCS must consider MAX_ORDER limit\n\nTake MAX_ORDER into consideration when determining KMALLOC_SHIFT_HIGH.\nOtherwise we may run into a situation where we attempt to create general\nslabs larger than MAX_ORDER.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "838c41184fee5e151c09972f2ba90c16493af614",
      "tree": "72dd37c37031f1ed6c4c3ed43a45f3dce8dcf149",
      "parents": [
        "3bd2aad2103314a0a09614dc29926a1437db02f7"
      ],
      "author": {
        "name": "Prarit Bhargava",
        "email": "prarit@redhat.com",
        "time": "Tue May 15 01:41:43 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 15 08:54:00 2007 -0700"
      },
      "message": "Remove cpu hotplug defines for __INIT \u0026 __INITDATA\n\nAfter examining what was checked in and the code base I discovered that most\nof 86c0baf123e474b6eb404798926ecf62b426bf3a wasn\u0027t necessary anymore....\n\nSo here\u0027s a patch that reverts the last part of that changeset:\n\nRevert part of 86c0baf123e474b6eb404798926ecf62b426bf3a.\n\nThe kernel has moved forward to a state where the original change is not\nnecessary.  After porting forward, this final version of the patch was\napplied and broke non-x86 architectures.\n\nSigned-off-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "218f0aaee8a6b0e5772b95b154dea5b7701b33aa",
      "tree": "4fa48f46c89c1b88c49f086278cc9951409152fc",
      "parents": [
        "f0ee9aabb0520adea5937855a9575c08a97b16e7"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Tue May 15 01:41:02 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 15 08:54:00 2007 -0700"
      },
      "message": "nommu: add ioremap_page_range()\n\nlib/ioremap.c is presently only built in if CONFIG_MMU is set.  While this\nis reasonable, platforms that support both CONFIG_MMU\u003dy or n need to be\nable to call in to this regardless.\n\nAs none of the current nommu platforms do anything special with ioremap(),\nwe assume that it\u0027s always successful.\n\nThis fixes the SH-4 build with CONFIG_MMU\u003dn.\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3ec2ab5514dbd6b5c4c3437c6a3cd9e5a90e84ef",
      "tree": "44225691130bac645c033db1f80cc083597f1bb3",
      "parents": [
        "200cfbb36ce360f7943c62b6c09885c215bfc1f5",
        "90e07d9f54c61449dd48eff82e2354d0124d4f7e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 14 12:29:14 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 14 12:29:14 2007 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc:\n  pxamci: fix PXA27x MMC workaround for bad CRC with 136 bit response\n  mmc: use assigned major for block device\n  sdhci: handle dma boundary interrupts\n  mmc: au1xmmc command types check from data flags\n"
    },
    {
      "commit": "140ff8b0459cac5ade7a42131f561a9ee0fa3cc4",
      "tree": "17a1d6a1b4f0b922d376fb6245e2d7dc2b279cdd",
      "parents": [
        "a34be83a9cfa15d596bfeb498b13380f0544249f"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Mon May 14 13:47:47 2007 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 14 12:16:01 2007 -0700"
      },
      "message": "Declare another couple of compat syscalls.\n\ncompat_sys_signalfd and compat_sys_timerfd need declarations before\nPowerPC can wire them up.\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fe6b4c8840c5e23fe9b8696450cee8f2e8cebffd",
      "tree": "b5812c0950da7c1a32c3f098874aa26b2d4062e5",
      "parents": [
        "6ba736a10e4ae63b38ccfee9f22b3263a6e5d050"
      ],
      "author": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Mon May 14 17:27:29 2007 +0200"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Mon May 14 18:51:43 2007 +0200"
      },
      "message": "mmc: use assigned major for block device\n\nThe MMC block devices now have an assigned major. Make sure\nwe actually use it.\n\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "bbdfff86a8f0c91ad8b6dedf74bc14de4ba39679",
      "tree": "9e2b05dd3964921cd7f5ac4abdd35ba71b6b0830",
      "parents": [
        "705962ccc9d21a08b74b6b6e1d3cf10f98968a67"
      ],
      "author": {
        "name": "Gabriel Mansi",
        "email": "gabriel.mansi@gmail.com",
        "time": "Mon May 07 18:55:13 2007 -0300"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Sun May 13 17:41:47 2007 -0400"
      },
      "message": "[AGPGART] Fix wrong ID in via-agp.c\n\nthere is a wrong id in drivers/char/agp/via-agp.c\n#define PCI_DEVICE_ID_VIA_CX700         0x8324\nIt must be 0x0324\n\nNotice that PCI_DEVICE_ID_VIA_CX700 is also used in\ndrivers/i2c/busses/i2c-viapro.c and\ndrivers/ide/pci/via82cxxx.c\n\nSo, I think that constant must be renamed to avoid conflicting.\nI attached a proposed patch.\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "f7d02ae76ebbf5b8a9531fe150c49e126a397704",
      "tree": "bcfdcab6e70658d55a3c843694e04e938bf9168f",
      "parents": [
        "78db2ad6f4df9145bfd6aab1c0f1c56d615288ec",
        "158304ef09a28c7f2dd37d78f536a4e09ba084a1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat May 12 18:11:33 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat May 12 18:11:33 2007 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of master.kernel.org:/home/rmk/linux-2.6-arm\n\n* \u0027for-linus\u0027 of master.kernel.org:/home/rmk/linux-2.6-arm: (30 commits)\n  [ARM] Use new get_irqnr_preamble\n  [ARM] Ensure machine class menu is sorted alphabetically\n  [ARM] 4333/2: KS8695: Micrel Development board\n  [ARM] 4332/2: KS8695: Serial driver\n  [ARM] 4331/3: Support for Micrel/Kendin KS8695 processor\n  [ARM] 4371/1: AT91: Support for Atmel AT91SAM9RL-EK development board\n  [ARM] 4372/1: Define byte sizes in asm-arm/sizes.h\n  [ARM] 4370/3: AT91: Support for Atmel AT91SAM9RL processors.\n  [ARM] Update mach-types\n  [ARM] export symbol csum_partial_copy_from_user\n  [ARM] iop13xx: msi support\n  [ARM] stacktrace fix\n  [ARM] Spinlock initializer cleanup\n  [ARM] remove useless config option GENERIC_BUST_SPINLOCK\n  [ARM] 4303/3: base kernel support for TI DaVinci\n  [ARM] 4369/1: AT91: Fix circular dependency in header files\n  [ARM] 4368/1: S3C24xx: build fix\n  [ARM] 4364/1: AT91: LEDS on AT91SAM9261-EK\n  [ARM] Fix iop32x/iop33x build\n  [ARM] EBSA110: fix build errors caused by missing \"const\"\n  ...\n"
    },
    {
      "commit": "78db2ad6f4df9145bfd6aab1c0f1c56d615288ec",
      "tree": "e27a435c9baf6955f0edc50aa903599a7c465e4c",
      "parents": [
        "07002e995638b83a6987180f43722a0eb39d4932"
      ],
      "author": {
        "name": "Daniel Walker",
        "email": "dwalker@mvista.com",
        "time": "Sat May 12 16:28:35 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat May 12 18:11:06 2007 -0700"
      },
      "message": "include/linux: trivial repair whitespace damage\n\nAdding tabs where spaces currently are.\n\nSigned-off-by: Daniel Walker \u003cdwalker@mvista.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "823777181b4c0200923dcb026efa5b37f55c0ecf",
      "tree": "cd105b29f0fcbf977715963e120e3b1f919980d3",
      "parents": [
        "48aaae7a2fa46e1ed0d0b7677fde79ccfcb8c963"
      ],
      "author": {
        "name": "Henry Su",
        "email": "henry.su@amd.com",
        "time": "Thu May 10 22:48:50 2007 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri May 11 18:16:01 2007 -0400"
      },
      "message": "Add the combined mode for ATI SB700\n\nBesides those modes in ATI SB600 SATA controller, ATI SB700 supports one\nmore mode:the combined mode.\n\nThe combined mode is a Legacy IDE mode used for compatibility with some old\nOS without AHCI driver, but now it is not necessary for Linux since the\nkernel has supported AHCI.\n\nSigned-off-by: Luugi Marsan \u003cluugi.marsan@amd.com\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "e92351bb53c0849fabfa80be53cbf3b0aa166e54",
      "tree": "cb182d532feb99015e66c7377ecfaf9041153cc2",
      "parents": [
        "8575b814097af648dad284bd3087875a11b13d18"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sat May 05 23:50:38 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri May 11 18:12:42 2007 -0400"
      },
      "message": "libata-acpi: s/CONFIG_SATA_ACPI/CONFIG_ATA_ACPI/\n\nACPI applies to both SATA and PATA.  Drop the \u0027S\u0027 from the config\nvariable.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "f4d6d00466ef4879e4289f18c2f59210a06a7ada",
      "tree": "60a0ec3c2872f1f21c2b546af3e04990b3bfa60b",
      "parents": [
        "1626aeb881236c8cb022b5e4ca594146a951d669"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue May 01 11:50:15 2007 +0200"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri May 11 18:09:18 2007 -0400"
      },
      "message": "libata: ignore EH scheduling during initialization\n\nlibata enables SCSI host during ATA host activation which happens\nafter IRQ handler is registered and IRQ is enabled.  All ATA ports are\nin frozen state when IRQ is enabled but frozen ports may raise limited\nnumber of IRQs after being frozen - IOW, -\u003efreeze() is not responsible\nfor clearing pending IRQs.  During normal operation, the IRQ handler\nis responsible for clearing spurious IRQs on frozen ports and it\nusually doesn\u0027t require any extra code.\n\nUnfortunately, during host initialization, the IRQ handler can end up\nscheduling EH for a port whose SCSI host isn\u0027t initialized yet.  This\nresults in OOPS in the SCSI midlayer.  This is relatively short window\nand scheduling EH for probing is the first thing libata does after\ninitialization, so ignoring EH scheduling until initialization is\ncomplete solves the problem nicely.\n\nThis problem was spotted by Berck E. Nash in the following thread.\n\n  http://thread.gmane.org/gmane.linux.kernel/519412\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Berck E. Nash \u003cflyboy@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "1626aeb881236c8cb022b5e4ca594146a951d669",
      "tree": "30f3457e4b5d76e62ee192fcc0d52b0ee8a829df",
      "parents": [
        "920a4b1038e442700a1cfac77ea7e20bd615a2c3"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Fri May 04 12:43:58 2007 +0200"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri May 11 18:09:18 2007 -0400"
      },
      "message": "libata: clean up SFF init mess\n\nThe intention of using port_mask in SFF init helpers was to eventually\nsupport exoctic configurations such as combination of legacy and\nnative port on the same controller.  This never became actually\nnecessary and the related code always has been subtly broken one way\nor the other.  Now that new init model is in place, there is no reason\nto make common helpers capable of handling all corner cases.  Exotic\ncases can simply dealt within LLDs as necessary.\n\nThis patch removes port_mask handling in SFF init helpers.  SFF init\nhelpers don\u0027t take n_ports argument and interpret it into port_mask\nanymore.  All information is carried via port_info.  n_ports argument\nis dropped and always two ports are allocated.  LLD can tell SFF to\nskip certain port by marking it dummy.  Note that SFF code has been\ntreating unuvailable ports this way for a long time until recent\nbreakage fix from Linus and is consistent with how other drivers\nhandle with unavailable ports.\n\nThis fixes 1-port legacy host handling still broken after the recent\nnative mode fix and simplifies SFF init logic.  The following changes\nare made...\n\n* ata_pci_init_native_host() and ata_init_legacy_host() both now try\n  to initialized whatever they can and mark failed ports dummy.  They\n  return 0 if any port is successfully initialized.\n\n* ata_pci_prepare_native_host() and ata_pci_init_one() now doesn\u0027t\n  take n_ports argument.  All info should be specified via port_info\n  array.  Always two ports are allocated.\n\n* ata_pci_init_bmdma() exported to be used by LLDs in exotic cases.\n\n* port_info handling in all LLDs are standardized - all port_info\n  arrays are const stack variable named ppi.  Unless the second port\n  is different from the first, its port_info is specified as NULL\n  (tells libata that it\u0027s identical to the last non-NULL port_info).\n\n* pata_hpt37x/hpt3x2n: don\u0027t modify static variable directly.  Make an\n  on-stack copy instead as ata_piix does.\n\n* pata_uli: It has 4 ports instead of 2.  Don\u0027t use\n  ata_pci_prepare_native_host().  Allocate the host explicitly and use\n  init helpers.  It\u0027s simple enough.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "9666f4009c22f6520ac3fb8a19c9e32ab973e828",
      "tree": "eaac13cd5890af6298e5576a48c29891f0890bd1",
      "parents": [
        "0a3fd051c7036ef71b58863f8e5da7c3dabd9d3f"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Fri May 04 21:27:47 2007 +0200"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri May 11 18:01:03 2007 -0400"
      },
      "message": "libata: reimplement suspend/resume support using sdev-\u003emanage_start_stop\n\nReimplement suspend/resume support using sdev-\u003emanage_start_stop.\n\n* Device suspend/resume is now SCSI layer\u0027s responsibility and the\n  code is simplified a lot.\n\n* DPM is dropped.  This also simplifies code a lot.  Suspend/resume\n  status is port-wide now.\n\n* ata_scsi_device_suspend/resume() and ata_dev_ready() removed.\n\n* Resume now has to wait for disk to spin up before proceeding.  I\n  couldn\u0027t find easy way out as libata is in EH waiting for the\n  disk to be ready and sd is waiting for EH to complete to issue\n  START_STOP.\n\n* sdev-\u003emanage_start_stop is set to 1 in ata_scsi_slave_config().\n  This fixes spindown on shutdown and suspend-to-disk.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "2c7ee6ab7cb7261aacea91d41da8df1874772f3f",
      "tree": "63e24f302030571fc367fa4ae76308d660ac12ec",
      "parents": [
        "c53c9cf60e49119e97d38390849cac5b2f0a0981"
      ],
      "author": {
        "name": "Andrew Victor",
        "email": "andrew@sanpeople.com",
        "time": "Fri May 11 21:37:25 2007 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Fri May 11 22:02:52 2007 +0100"
      },
      "message": "[ARM] 4332/2: KS8695: Serial driver\n\nA driver for the KS8695 internal UART.\n\nBased on the 2.6.9 driver from Micrel.\n\nSigned-off-by: Andrew Victor \u003candrew@sanpeople.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "0a3fd051c7036ef71b58863f8e5da7c3dabd9d3f",
      "tree": "43388a81494ded94008afff66777f9f6e8cb5484",
      "parents": [
        "57a44415beee38d1afcd8e1b5fad66f3414d2dac",
        "c911d1e16dfc1f0338bbc245ff724322c0113395"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 12:58:37 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 12:58:37 2007 -0700"
      },
      "message": "Merge branch \u0027linus\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/perex/alsa\n\n* \u0027linus\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/perex/alsa: (122 commits)\n  [ALSA] version 1.0.14rc4\n  [ALSA] Add speaker pin sequencing to hda_codec.c:snd_hda_parse_pin_def_config()\n  [ALSA] hda-codec - Add ALC861VD Lenovo support\n  [ALSA] hda-codec - Fix connection list in generic parser\n  [ALSA] usb-audio: work around wrong wMaxPacketSize on ESI M4U\n  [ALSA] usb-audio: work around broken M-Audio MidiSport Uno firmware\n  [ALSA] usb-audio: explicitly match Logitech QuickCam\n  [ALSA] hda-codec - Fix a typo\n  [ALSA] hda-codec - Fix ALC880 uniwill auto-mutes\n  [ALSA] hda-codec - Fix AD1988 SPDIF playback route control\n  [ALSA] wm8750 typo fix\n  [ALSA] wavefront: only declare isapnp on CONFIG_PNP\n  [ALSA] hda-codec - bug fixes for stac92xx HDA codecs.\n  [ALSA] add MODULE_FIRMWARE entries\n  [ALSA] do not depend on FW_LOADER when internal firmware images are used\n  [ALSA] hda-codec - Fix resume of STAC92xx codecs\n  [ALSA] usbaudio - Revert the minimal period size fix patch\n  [ALSA] hda-codec - Add support for new HP DV series laptops\n  [ALSA] usb-audio - Fix the minimum period size per transfer mode\n  [ALSA] sound/pcmcia/vx/vxpocket.c: fix an if() condition\n  ...\n"
    },
    {
      "commit": "cabca0cb0d0e8579428d8f8c3f606e2f01d26d14",
      "tree": "a32426d345bab465488df20a228a495a12b26b8b",
      "parents": [
        "853da0022023c046e0a5ccc51d427745f0c94de7",
        "87c1efbfeac49849b981a7eac8cba42d4a49b2e9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 09:58:49 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 09:58:49 2007 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/data/git/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/data/git/linux-2.6-block:\n  Fix compile/link of init/do_mounts.c with !CONFIG_BLOCK\n  When stacked block devices are in-use (e.g. md or dm), the recursive calls\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": "5884c40668a928bba017eaf54e2eb3c01c8a98e6",
      "tree": "240bdf1b015f0bc2ce8c1811bd0b528c1ef386c2",
      "parents": [
        "ee54d2d87a8158d14434c1a3274bd7f713105836",
        "cdcb44e87bedcf5070eece61f89f9373a3810031"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 09:56:05 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 09:56:05 2007 -0700"
      },
      "message": "Merge branch \u0027upstream-fixes\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/jikos/hid\n\n* \u0027upstream-fixes\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/jikos/hid:\n  USB HID: hiddev - fix race between hiddev_send_event() and hiddev_release()\n  HID: add hooks for getkeycode() and setkeycode() methods\n  HID: switch to using input_dev-\u003edev.parent\n  USB HID: Logitech wheel 0x046d/0xc294 needs HID_QUIRK_NOGET quirk\n  USB HID: usb_buffer_free() cleanup\n  USB HID: report descriptor of Cypress USB barcode readers needs fixup\n  Bluetooth HID: HIDP - don\u0027t initialize force feedback\n  USB HID: update CONFIG_USB_HIDINPUT_POWERBOOK description\n  HID: add input mappings for non-working keys on Logitech S510 remote\n"
    },
    {
      "commit": "ee54d2d87a8158d14434c1a3274bd7f713105836",
      "tree": "cd3e1f6fc0a7fc920e4153c01f35ff7bd92d79da",
      "parents": [
        "bf61f8d357e5d71d74a3ca3be3cce52bf1a2c01a",
        "da0dd231436ba7e81789e93dd933d7a275e1709d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 09:10:19 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 09:10:19 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: (31 commits)\n  [NETFILTER]: xt_conntrack: add compat support\n  [NETFILTER]: iptable_raw: ignore short packets sent by SOCK_RAW sockets\n  [NETFILTER]: iptable_{filter,mangle}: more descriptive \"happy cracking\" message\n  [NETFILTER]: nf_nat: Clears helper private area when NATing\n  [NETFILTER]: ctnetlink: clear helper area and handle unchanged helper\n  [NETFILTER]: nf_conntrack: Removes unused destroy operation of l3proto\n  [NETFILTER]: nf_conntrack: Removes duplicated declarations\n  [NETFILTER]: nf_nat: remove unused argument of function allocating binding\n  [NETFILTER]: Clean up table initialization\n  [NET_SCHED]: Avoid requeue warning on dev_deactivate\n  [NET_SCHED]: Reread dev-\u003eqdisc for NETDEV_TX_OK\n  [NET_SCHED]: Rationalise return value of qdisc_restart\n  [NET]: Fix dev-\u003eqdisc race for NETDEV_TX_LOCKED case\n  [UDP]: Fix AF-specific references in AF-agnostic code.\n  [IrDA]: KingSun/DonShine USB IrDA dongle support.\n  [IPV6] ROUTE: Assign rt6i_idev for ip6_{prohibit,blk_hole}_entry.\n  [IPV6]: Do no rely on skb-\u003edst before it is assigned.\n  [IPV6]: Send ICMPv6 error on scope violations.\n  [SCTP]: Do not include ABORT chunk header in the notification.\n  [SCTP]: Correctly copy addresses in sctp_copy_laddrs\n  ...\n"
    },
    {
      "commit": "9c3060bedd84144653a2ad7bea32389f65598d40",
      "tree": "80336eb24be8458cda1f35ee752f05bc7c329fbb",
      "parents": [
        "fdb902b1225e1668315f38e96d2f439452c03a15"
      ],
      "author": {
        "name": "Davide Libenzi",
        "email": "davidel@xmailserver.org",
        "time": "Thu May 10 22:23:21 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 08:29:37 2007 -0700"
      },
      "message": "signal/timer/event: KAIO eventfd support example\n\nThis is an example about how to add eventfd support to the current KAIO code,\nin order to enable KAIO to post readiness events to a pollable fd (hence\ncompatible with POSIX select/poll).  The KAIO code simply signals the eventfd\nfd when events are ready, and this triggers a POLLIN in the fd.  This patch\nuses a reserved for future use member of the struct iocb to pass an eventfd\nfile descriptor, that KAIO will use to post events every time a request\ncompletes.  At that point, an aio_getevents() will return the completed result\nto a struct io_event.  I made a quick test program to verify the patch, and it\nruns fine here:\n\nhttp://www.xmailserver.org/eventfd-aio-test.c\n\nThe test program uses poll(2), but it\u0027d, of course, work with select and epoll\ntoo.\n\nThis can allow to schedule both block I/O and other poll-able devices\nrequests, and wait for results using select/poll/epoll.  In a typical\nscenario, an application would submit KAIO request using aio_submit(), and\nwill also use epoll_ctl() on the whole other class of devices (that with the\naddition of signals, timers and user events, now it\u0027s pretty much complete),\nand then would:\n\n\tepoll_wait(...);\n\tfor_each_event {\n\t\tif (curr_event_is_kaiofd) {\n\t\t\taio_getevents();\n\t\t\tdispatch_aio_events();\n\t\t} else {\n\t\t\tdispatch_epoll_event();\n\t\t}\n\t}\n\nSigned-off-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e1ad7468c77ddb94b0615d5f50fa255525fde0f0",
      "tree": "856be1a028fece7e1fa10b7b585096839913fe2e",
      "parents": [
        "83f5d1266926c75890f1bc4678e49d79483cb573"
      ],
      "author": {
        "name": "Davide Libenzi",
        "email": "davidel@xmailserver.org",
        "time": "Thu May 10 22:23:19 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 08:29:36 2007 -0700"
      },
      "message": "signal/timer/event: eventfd core\n\nThis is a very simple and light file descriptor, that can be used as event\nwait/dispatch by userspace (both wait and dispatch) and by the kernel\n(dispatch only).  It can be used instead of pipe(2) in all cases where those\nwould simply be used to signal events.  Their kernel overhead is much lower\nthan pipes, and they do not consume two fds.  When used in the kernel, it can\noffer an fd-bridge to enable, for example, functionalities like KAIO or\nsyslets/threadlets to signal to an fd the completion of certain operations.\nBut more in general, an eventfd can be used by the kernel to signal readiness,\nin a POSIX poll/select way, of interfaces that would otherwise be incompatible\nwith it.  The API is:\n\nint eventfd(unsigned int count);\n\nThe eventfd API accepts an initial \"count\" parameter, and returns an eventfd\nfd.  It supports poll(2) (POLLIN, POLLOUT, POLLERR), read(2) and write(2).\n\nThe POLLIN flag is raised when the internal counter is greater than zero.\n\nThe POLLOUT flag is raised when at least a value of \"1\" can be written to the\ninternal counter.\n\nThe POLLERR flag is raised when an overflow in the counter value is detected.\n\nThe write(2) operation can never overflow the counter, since it blocks (unless\nO_NONBLOCK is set, in which case -EAGAIN is returned).\n\nBut the eventfd_signal() function can do it, since it\u0027s supposed to not sleep\nduring its operation.\n\nThe read(2) function reads the __u64 counter value, and reset the internal\nvalue to zero.  If the value read is equal to (__u64) -1, an overflow happened\non the internal counter (due to 2^64 eventfd_signal() posts that has never\nbeen retired - unlickely, but possible).\n\nThe write(2) call writes an __u64 count value, and adds it to the current\ncounter.  The eventfd fd supports O_NONBLOCK also.\n\nOn the kernel side, we have:\n\nstruct file *eventfd_fget(int fd);\nint eventfd_signal(struct file *file, unsigned int n);\n\nThe eventfd_fget() should be called to get a struct file* from an eventfd fd\n(this is an fget() + check of f_op being an eventfd fops pointer).\n\nThe kernel can then call eventfd_signal() every time it wants to post an event\nto userspace.  The eventfd_signal() function can be called from any context.\nAn eventfd() simple test and bench is available here:\n\nhttp://www.xmailserver.org/eventfd-bench.c\n\nThis is the eventfd-based version of pipetest-4 (pipe(2) based):\n\nhttp://www.xmailserver.org/pipetest-4.c\n\nNot that performance matters much in the eventfd case, but eventfd-bench\nshows almost as double as performance than pipetest-4.\n\n[akpm@linux-foundation.org: fix i386 build]\n[akpm@linux-foundation.org: add sys_eventfd to sys_ni.c]\nSigned-off-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "83f5d1266926c75890f1bc4678e49d79483cb573",
      "tree": "ae97719503b7fe3688413655d89772bb8b644312",
      "parents": [
        "57ac8898508638ca6d15ecd8b911a431d673ff30"
      ],
      "author": {
        "name": "Davide Libenzi",
        "email": "davidel@xmailserver.org",
        "time": "Thu May 10 22:23:18 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 08:29:36 2007 -0700"
      },
      "message": "signal/timer/event: timerfd compat code\n\nThis patch implements the necessary compat code for the timerfd system call.\n\nSigned-off-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b215e283992899650c4271e7385c79e26fb9a88e",
      "tree": "3f950814510422606821f1b0b373d65e4d9ed303",
      "parents": [
        "6d18c9220965b437287c3a7e803725c24992ceac"
      ],
      "author": {
        "name": "Davide Libenzi",
        "email": "davidel@xmailserver.org",
        "time": "Thu May 10 22:23:16 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 08:29:36 2007 -0700"
      },
      "message": "signal/timer/event: timerfd core\n\nThis patch introduces a new system call for timers events delivered though\nfile descriptors.  This allows timer event to be used with standard POSIX\npoll(2), select(2) and read(2).  As a consequence of supporting the Linux\nf_op-\u003epoll subsystem, they can be used with epoll(2) too.\n\nThe system call is defined as:\n\nint timerfd(int ufd, int clockid, int flags, const struct itimerspec *utmr);\n\nThe \"ufd\" parameter allows for re-use (re-programming) of an existing timerfd\nw/out going through the close/open cycle (same as signalfd).  If \"ufd\" is -1,\ns new file descriptor will be created, otherwise the existing \"ufd\" will be\nre-programmed.\n\nThe \"clockid\" parameter is either CLOCK_MONOTONIC or CLOCK_REALTIME.  The time\nspecified in the \"utmr-\u003eit_value\" parameter is the expiry time for the timer.\n\nIf the TFD_TIMER_ABSTIME flag is set in \"flags\", this is an absolute time,\notherwise it\u0027s a relative time.\n\nIf the time specified in the \"utmr-\u003eit_interval\" is not zero (.tv_sec \u003d\u003d 0,\ntv_nsec \u003d\u003d 0), this is the period at which the following ticks should be\ngenerated.\n\nThe \"utmr-\u003eit_interval\" should be set to zero if only one tick is requested.\nSetting the \"utmr-\u003eit_value\" to zero will disable the timer, or will create a\ntimerfd without the timer enabled.\n\nThe function returns the new (or same, in case \"ufd\" is a valid timerfd\ndescriptor) file, or -1 in case of error.\n\nAs stated before, the timerfd file descriptor supports poll(2), select(2) and\nepoll(2).  When a timer event happened on the timerfd, a POLLIN mask will be\nreturned.\n\nThe read(2) call can be used, and it will return a u32 variable holding the\nnumber of \"ticks\" that happened on the interface since the last call to\nread(2).  The read(2) call supportes the O_NONBLOCK flag too, and EAGAIN will\nbe returned if no ticks happened.\n\nA quick test program, shows timerfd working correctly on my amd64 box:\n\nhttp://www.xmailserver.org/timerfd-test.c\n\n[akpm@linux-foundation.org: add sys_timerfd to sys_ni.c]\nSigned-off-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fba2afaaec790dc5ab4ae8827972f342211bbb86",
      "tree": "2694d4cd8c6b7d69a5569b92151d61a3d4af39b7",
      "parents": [
        "5dc8bf8132d59c03fe2562bce165c2f03f021687"
      ],
      "author": {
        "name": "Davide Libenzi",
        "email": "davidel@xmailserver.org",
        "time": "Thu May 10 22:23:13 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 08:29:36 2007 -0700"
      },
      "message": "signal/timer/event: signalfd core\n\nThis patch series implements the new signalfd() system call.\n\nI took part of the original Linus code (and you know how badly it can be\nbroken :), and I added even more breakage ;) Signals are fetched from the same\nsignal queue used by the process, so signalfd will compete with standard\nkernel delivery in dequeue_signal().  If you want to reliably fetch signals on\nthe signalfd file, you need to block them with sigprocmask(SIG_BLOCK).  This\nseems to be working fine on my Dual Opteron machine.  I made a quick test\nprogram for it:\n\nhttp://www.xmailserver.org/signafd-test.c\n\nThe signalfd() system call implements signal delivery into a file descriptor\nreceiver.  The signalfd file descriptor if created with the following API:\n\nint signalfd(int ufd, const sigset_t *mask, size_t masksize);\n\nThe \"ufd\" parameter allows to change an existing signalfd sigmask, w/out going\nto close/create cycle (Linus idea).  Use \"ufd\" \u003d\u003d -1 if you want a brand new\nsignalfd file.\n\nThe \"mask\" allows to specify the signal mask of signals that we are interested\nin.  The \"masksize\" parameter is the size of \"mask\".\n\nThe signalfd fd supports the poll(2) and read(2) system calls.  The poll(2)\nwill return POLLIN when signals are available to be dequeued.  As a direct\nconsequence of supporting the Linux poll subsystem, the signalfd fd can use\nused together with epoll(2) too.\n\nThe read(2) system call will return a \"struct signalfd_siginfo\" structure in\nthe userspace supplied buffer.  The return value is the number of bytes copied\nin the supplied buffer, or -1 in case of error.  The read(2) call can also\nreturn 0, in case the sighand structure to which the signalfd was attached,\nhas been orphaned.  The O_NONBLOCK flag is also supported, and read(2) will\nreturn -EAGAIN in case no signal is available.\n\nIf the size of the buffer passed to read(2) is lower than sizeof(struct\nsignalfd_siginfo), -EINVAL is returned.  A read from the signalfd can also\nreturn -ERESTARTSYS in case a signal hits the process.  The format of the\nstruct signalfd_siginfo is, and the valid fields depends of the (-\u003ecode \u0026\n__SI_MASK) value, in the same way a struct siginfo would:\n\nstruct signalfd_siginfo {\n\t__u32 signo;\t/* si_signo */\n\t__s32 err;\t/* si_errno */\n\t__s32 code;\t/* si_code */\n\t__u32 pid;\t/* si_pid */\n\t__u32 uid;\t/* si_uid */\n\t__s32 fd;\t/* si_fd */\n\t__u32 tid;\t/* si_fd */\n\t__u32 band;\t/* si_band */\n\t__u32 overrun;\t/* si_overrun */\n\t__u32 trapno;\t/* si_trapno */\n\t__s32 status;\t/* si_status */\n\t__s32 svint;\t/* si_int */\n\t__u64 svptr;\t/* si_ptr */\n\t__u64 utime;\t/* si_utime */\n\t__u64 stime;\t/* si_stime */\n\t__u64 addr;\t/* si_addr */\n};\n\n[akpm@linux-foundation.org: fix signalfd_copyinfo() on i386]\nSigned-off-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5dc8bf8132d59c03fe2562bce165c2f03f021687",
      "tree": "308e2acb2264c21c93d57b3fb9fb4869e162aa85",
      "parents": [
        "325aa33da784e5997c756a151bc46e9cc9b79db2"
      ],
      "author": {
        "name": "Davide Libenzi",
        "email": "davidel@xmailserver.org",
        "time": "Thu May 10 22:23:11 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 08:29:36 2007 -0700"
      },
      "message": "signal/timer/event fds: anonymous inode source\n\nThis patch add an anonymous inode source, to be used for files that need\nand inode only in order to create a file*. We do not care of having an\ninode for each file, and we do not even care of having different names in\nthe associated dentries (dentry names will be same for classes of file*).\nThis allow code reuse, and will be used by epoll, signalfd and timerfd\n(and whatever else there\u0027ll be).\n\nSigned-off-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "325aa33da784e5997c756a151bc46e9cc9b79db2",
      "tree": "0046d436780537739ba65eabff092f6094d1820a",
      "parents": [
        "fa0334f19f0e1a1e570fc2a160dfe53536599ade"
      ],
      "author": {
        "name": "Sukadev Bhattiprolu",
        "email": "sukadev@us.ibm.com",
        "time": "Thu May 10 22:23:10 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 08:29:36 2007 -0700"
      },
      "message": "Don\u0027t init pgrp and __session in INIT_SIGNALS\n\nRemove initialization of pgrp and __session in INIT_SIGNALS, as these are\nlater set by the call to __set_special_pids() in init/main.c by the patch:\n\n\texplicitly-set-pgid-and-sid-of-init-process.patch\n\nSigned-off-by: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Eric Biederman \u003cebiederm@xmission.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "820e45db2380eb1545fa2bc5d34b8b2f2933faeb",
      "tree": "426e89e9205e44559d949d9cdf8bf1035bdc3710",
      "parents": [
        "e713d0dab21a68500720e222fa02567fc7dfb14b"
      ],
      "author": {
        "name": "Sukadev Bhattiprolu",
        "email": "sukadev@us.ibm.com",
        "time": "Thu May 10 22:23:00 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 08:29:35 2007 -0700"
      },
      "message": "statically initialize struct pid for swapper\n\nStatically initialize a struct pid for the swapper process (pid_t \u003d\u003d 0) and\nattach it to init_task.  This is needed so task_pid(), task_pgrp() and\ntask_session() interfaces work on the swapper process also.\n\nSigned-off-by: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Eric Biederman \u003cebiederm@xmission.com\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: \u003ccontainers@lists.osdl.org\u003e\nAcked-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e713d0dab21a68500720e222fa02567fc7dfb14b",
      "tree": "a56f90ce94d9287b73da6db72ed0e73542a70a07",
      "parents": [
        "4ac24b3ba9016881b11646114bb5cd12cf23edd9"
      ],
      "author": {
        "name": "Sukadev Bhattiprolu",
        "email": "sukadev@us.ibm.com",
        "time": "Thu May 10 22:22:58 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 08:29:35 2007 -0700"
      },
      "message": "attach_pid() with struct pid parameter\n\nattach_pid() currently takes a pid_t and then uses find_pid() to find the\ncorresponding struct pid.  Sometimes we already have the struct pid.  We can\nthen skip find_pid() if attach_pid() were to take a struct pid parameter.\n\nSigned-off-by: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: \u003ccontainers@lists.osdl.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0ea971801625184a91a6d80ea85e53875caa0bf5",
      "tree": "6f4144b7ba809fccfe6d75314df8c348596c9a01",
      "parents": [
        "e10cc1df1d2014f68a4bdcf73f6dd122c4561f94"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu May 10 22:22:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 08:29:35 2007 -0700"
      },
      "message": "consolidate generic_writepages and mpage_writepages\n\nClean up massive code duplication between mpage_writepages() and\ngeneric_writepages().\n\nThe new generic function, write_cache_pages() takes a function pointer\nargument, which will be called for each page to be written.\n\nMaybe cifs_writepages() too can use this infrastructure, but I\u0027m not\ntouching that with a ten-foot pole.\n\nThe upcoming page writeback support in fuse will also want this.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nAcked-by: Christoph Hellwig \u003chch@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": "e10cc1df1d2014f68a4bdcf73f6dd122c4561f94",
      "tree": "e528fde48ca3b09168d8879a57fb220195c4e8ea",
      "parents": [
        "108f39a1b3b1e4b28ca8cc156f06171445499d21"
      ],
      "author": {
        "name": "Paul Fulghum",
        "email": "paulkf@microgate.com",
        "time": "Thu May 10 22:22:50 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 08:29:35 2007 -0700"
      },
      "message": "tty: add compat_ioctl\n\nAdd compat_ioctl method for tty code to allow processing of 32 bit ioctl\ncalls on 64 bit systems by tty core, tty drivers, and line disciplines.\n\nBased on patch by Arnd Bergmann:\nhttp://www.uwsg.iu.edu/hypermail/linux/kernel/0511.0/1732.html\n\n[akpm@linux-foundation.org: make things static]\nSigned-off-by: Paul Fulghum \u003cpaulkf@microgate.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "108f39a1b3b1e4b28ca8cc156f06171445499d21",
      "tree": "73eecb1b29b9ba256ae7bc11babfd2e5b34eb5a1",
      "parents": [
        "98091696653e8ac32a2653589923acd8198777ac"
      ],
      "author": {
        "name": "Rene Herman",
        "email": "rene.herman@gmail.com",
        "time": "Thu May 10 22:22:50 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 08:29:35 2007 -0700"
      },
      "message": "module_author: don\u0027t advise putting in an email address\n\nmodule_author: don\u0027t advise putting in an email address\n\nIt\u0027s information that\u0027s easily outdated and easily mistaken for a driver\ncontact which is a problem especially for modules with multiple current and\nnon-current authors as well as for modules with a maintainer who may not\neven be a module author.\n\nSigned-off-by: Rene Herman \u003crene.herman@gmail.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2d3fbbb391e280724f7f7804ab00ff61cf1b6a4c",
      "tree": "218b942ae24cd22c7b8309a650d3e7273db3796c",
      "parents": [
        "e1fa2e136ff64a3814a98c03d46320b9e80d29c8"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu May 10 22:22:46 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 08:29:34 2007 -0700"
      },
      "message": "Add hard_irq_disable()\n\nSome architectures, like powerpc, implement lazy disabling of interrupts.\nThat means that on those, local_irq_disable() doesn\u0027t actually disable\ninterrupts on the CPU, but only sets some per CPU flag which cause them to be\ndisabled only if an interrupt actually occurs.\n\nHowever, in some cases, such as stop_machine, we really want interrupts to be\nfully disabled.  For example, I have code using stop machine to do ECC error\ninjection, used to verify operations of the ECC hardware, that sort of thing.\nIt really needs to make sure that nothing is actually writing to memory while\nthe injection happens.  Similar examples can be found in other low level bits\nand pieces.\n\nThis patch implements a generic hard_irq_disable() function which is meant to\nbe called -after- local_irq_disable() and ensures that interrupts are fully\ndisabled on that CPU.  The default implementation is a nop, though powerpc\ndoes already provide an appropriate one.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2acdb1694494eb6f17b44b2b3065879af32d0d46",
      "tree": "c9d53e5082ac8e2e80aa228c95102661e0822978",
      "parents": [
        "4c64c30a5c96bb798cbd6097d4996205b5359fa2"
      ],
      "author": {
        "name": "Paul Fulghum",
        "email": "paulkf@microgate.com",
        "time": "Thu May 10 22:22:43 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 08:29:34 2007 -0700"
      },
      "message": "synclink_gt: add compat_ioctl\n\nAdd support for 32 bit ioctl on 64 bit systems for synclink_gt\n\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Paul Fulghum \u003cpaulkf@microgate.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "99eaf3c45fe806c4a7f39b9be4a1bd0dfc617699",
      "tree": "9da206b2faaae7dc3804df2adea4cbf7f117208c",
      "parents": [
        "6eaeeaba39e5fa3d52a0bb8de15e995516ae251a"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Thu May 10 22:22:39 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 08:29:34 2007 -0700"
      },
      "message": "lib/hexdump\n\nBased on ace_dump_mem() from Grant Likely for the Xilinx SystemACE\nCompactFlash interface.\n\nAdd print_hex_dump() \u0026 hex_dumper() to lib/hexdump.c and linux/kernel.h.\n\nThis patch adds the functions print_hex_dump() \u0026 hex_dumper().\nprint_hex_dump() can be used to perform a hex + ASCII dump of data to\nsyslog, in an easily viewable format, thus providing a common text hex dump\nformat.\n\nhex_dumper() provides a dump-to-memory function.  It converts one \"line\" of\noutput (16 bytes of input) at a time.\n\nExample usages:\n\tprint_hex_dump(KERN_DEBUG, DUMP_PREFIX_ADDRESS, frame-\u003edata, frame-\u003elen);\n\thex_dumper(frame-\u003edata, frame-\u003elen, linebuf, sizeof(linebuf));\n\nExample output using %DUMP_PREFIX_OFFSET:\n0009ab42: 40414243 44454647 48494a4b 4c4d4e4f-@ABCDEFG HIJKLMNO\nExample output using %DUMP_PREFIX_ADDRESS:\nffffffff88089af0: 70717273 74757677 78797a7b 7c7d7e7f-pqrstuvw xyz{|}~.\n\n[akpm@linux-foundation.org: cleanups, add export]\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6eaeeaba39e5fa3d52a0bb8de15e995516ae251a",
      "tree": "5b4052fabfe107ad5332cb758ad8d86ea5a87848",
      "parents": [
        "02239c29967418284c05d58971894d658575e78c"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Thu May 10 22:22:37 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 08:29:34 2007 -0700"
      },
      "message": "getrusage(): fill ru_inblock and ru_oublock fields if possible\n\nIf CONFIG_TASK_IO_ACCOUNTING is defined, we update io accounting counters for\neach task.\n\nThis patch permits reporting of values using the well known getrusage()\nsyscall, filling ru_inblock and ru_oublock instead of null values.\n\nAs TASK_IO_ACCOUNTING currently counts bytes counts, we approximate blocks\ncount doing : nr_blocks \u003d nr_bytes / 512\n\nExample of use :\n----------------------\nAfter patch is applied, /usr/bin/time command can now give a good\napproximation of IO that the process had to do.\n\n$ /usr/bin/time grep tototo /usr/include/*\nCommand exited with non-zero status 1\n0.00user 0.02system 0:02.11elapsed 1%CPU (0avgtext+0avgdata 0maxresident)k\n24288inputs+0outputs (0major+259minor)pagefaults 0swaps\n\n$ /usr/bin/time dd if\u003d/dev/zero of\u003d/tmp/testfile count\u003d1000\n1000+0 enregistrements lus\n1000+0 enregistrements écrits\n512000 octets (512 kB) copiés, 0,00326601 seconde, 157 MB/s\n0.00user 0.00system 0:00.00elapsed 80%CPU (0avgtext+0avgdata 0maxresident)k\n0inputs+3000outputs (0major+299minor)pagefaults 0swaps\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1f53aee0e0b398bad0c6ec2cd5ca2bccd4fbd56b",
      "tree": "f5e940d4da139d2628f4e4b9494fe54366e44ed4",
      "parents": [
        "1a236566ea320a05f3892d8dedd4b5c6bff8706b"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lg@opensource.wolfsonmicro.com",
        "time": "Mon Apr 16 19:17:44 2007 +0200"
      },
      "committer": {
        "name": "Jaroslav Kysela",
        "email": "perex@suse.cz",
        "time": "Fri May 11 16:56:02 2007 +0200"
      },
      "message": "[ALSA] SoC WM8753 codec support\n\nThis patch series adds support for the WM8753 codec as found on the\nOpenMoko Neo 1973 (other Neo 1973 and Samsung S3C24xx patches to follow\ntoday) as well other new devices.\nFeatures:-\n o HiFi and Voice DAI supported (inc runtime switching of DAI mode)\n o DAPM\n o All mixers\n o PLL calculator\n o 16,20 and 24bit samples.\n o WM8753 I2C ID added to include/linux/i2c-id.h\nFrom: Liam Girdwood \u003clg@opensource.wolfsonmicro.com\u003e\n\nSigned-off-by: Harald Welte \u003claforge@openmoko.org\u003e\nSigned-off-by: Graeme Gregory \u003cgg@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Seth Forshee \u003cseth.forshee@gmail.com\u003e\nSigned-off-by: Liam Girdwood \u003clg@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\nSigned-off-by: Jaroslav Kysela \u003cperex@suse.cz\u003e\n"
    },
    {
      "commit": "87c1efbfeac49849b981a7eac8cba42d4a49b2e9",
      "tree": "856b18b90a89c30bd2fa2a1982a3d7c6a15364d7",
      "parents": [
        "d89d87965dcbe6fe4f96a2a7e8421b3a75f634d1"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri May 11 13:29:54 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri May 11 13:29:54 2007 +0200"
      },
      "message": "Fix compile/link of init/do_mounts.c with !CONFIG_BLOCK\n\nWe need a stub function for when CONFIG_BLOCK isn\u0027t set.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "d89d87965dcbe6fe4f96a2a7e8421b3a75f634d1",
      "tree": "8e87952d6e016192220aa090a8121e357a951d8f",
      "parents": [
        "129a84de2347002f09721cda3155ccfd19fade40"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@suse.de",
        "time": "Tue May 01 09:53:42 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Fri May 11 13:28:37 2007 +0200"
      },
      "message": "When stacked block devices are in-use (e.g. md or dm), the recursive calls\n\nto generic_make_request can use up a lot of space, and we would rather they\ndidn\u0027t.\n\nAs generic_make_request is a void function, and as it is generally not\nexpected that it will have any effect immediately, it is safe to delay any\ncall to generic_make_request until there is sufficient stack space\navailable.\n\nAs -\u003ebi_next is reserved for the driver to use, it can have no valid value\nwhen generic_make_request is called, and as __make_request implicitly\nassumes it will be NULL (ELEVATOR_BACK_MERGE fork of switch) we can be\ncertain that all callers set it to NULL.  We can therefore safely use\nbi_next to link pending requests together, providing we clear it before\nmaking the real call.\n\nSo, we choose to allow each thread to only be active in one\ngeneric_make_request at a time.  If a subsequent (recursive) call is made,\nthe bio is linked into a per-thread list, and is handled when the active\ncall completes.\n\nAs the list of pending bios is per-thread, there are no locking issues to\nworry about.\n\nI say above that it is \"safe to delay any call...\".  There are, however,\nsome behaviours of a make_request_fn which would make it unsafe.  These\ninclude any behaviour that assumes anything will have changed after a\nrecursive call to generic_make_request.\n\nThese could include:\n - waiting for that call to finish and call it\u0027s bi_end_io function.\n   md use to sometimes do this (marking the superblock dirty before\n   completing a write) but doesn\u0027t any more\n - inspecting the bio for fields that generic_make_request might\n   change, such as bi_sector or bi_bdev.  It is hard to see a good\n   reason for this, and I don\u0027t think anyone actually does it.\n - inspecing the queue to see if, e.g. it is \u0027full\u0027 yet.  Again, I\n   think this is very unlikely to be useful, or to be done.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: \u003cdm-devel@redhat.com\u003e\n\nAlasdair G Kergon \u003cagk@redhat.com\u003e said:\n\n I can see nothing wrong with this in principle.\n\n For device-mapper at the moment though it\u0027s essential that, while the bio\n mappings may now get delayed, they still get processed in exactly\n the same order as they were passed to generic_make_request().\n\n My main concern is whether the timing changes implicit in this patch\n will make the rare data-corrupting races in the existing snapshot code\n more likely. (I\u0027m working on a fix for these races, but the unfinished\n patch is already several hundred lines long.)\n\n It would be helpful if some people on this mailing list would test\n this patch in various scenarios and report back.\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "0a4ff8c2598b72f2fa9d50aae9e1809e684dbf41",
      "tree": "309f2b2b5874692302862534cd9052a1d96018ba",
      "parents": [
        "5712e88f2b0f626a4857c24128810bbf8ce09537"
      ],
      "author": {
        "name": "Steve Grubb",
        "email": "sgrubb@redhat.com",
        "time": "Thu Apr 19 10:28:21 2007 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri May 11 05:38:26 2007 -0400"
      },
      "message": "[PATCH] Abnormal End of Processes\n\nHi,\n\nI have been working on some code that detects abnormal events based on audit\nsystem events. One kind of event that we currently have no visibility for is\nwhen a program terminates due to segfault - which should never happen on a\nproduction machine. And if it did, you\u0027d want to investigate it. Attached is a\npatch that collects these events and sends them into the audit system.\n\nSigned-off-by: Steve Grubb \u003csgrubb@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "4fc03b9beb2314f3adb9e72b7935a80c577954d1",
      "tree": "81e04534c582923fcdc8212497d1487ddae412a8",
      "parents": [
        "510f4006e7a82b37b53c17bbe64ec20f3a59302b"
      ],
      "author": {
        "name": "Amy Griffis",
        "email": "amy.griffis@hp.com",
        "time": "Tue Feb 13 14:15:01 2007 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri May 11 05:38:26 2007 -0400"
      },
      "message": "[PATCH] complete message queue auditing\n\nHandle the edge cases for POSIX message queue auditing. Collect inode\ninfo when opening an existing mq, and for send/receive operations. Remove\naudit_inode_update() as it has really evolved into the equivalent of\naudit_inode().\n\nSigned-off-by: Amy Griffis \u003camy.griffis@hp.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e54dc2431d740a79a6bd013babade99d71b1714f",
      "tree": "16b0990d5c16946239a17b332f54b5918fb03305",
      "parents": [
        "7f13da40e36c84d0d046b7adbd060af7d3717250"
      ],
      "author": {
        "name": "Amy Griffis",
        "email": "amy.griffis@hp.com",
        "time": "Thu Mar 29 18:01:04 2007 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri May 11 05:38:25 2007 -0400"
      },
      "message": "[PATCH] audit signal recipients\n\nWhen auditing syscalls that send signals, log the pid and security\ncontext for each target process. Optimize the data collection by\nadding a counter for signal-related rules, and avoiding allocating an\naux struct unless we have more than one target process. For process\ngroups, collect pid/context data in blocks of 16. Move the\naudit_signal_info() hook up in check_kill_permission() so we audit\nattempts where permission is denied.\n\nSigned-off-by: Amy Griffis \u003camy.griffis@hp.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\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": "a5cb013da773a67ee48d1c19e96436c22a73a7eb",
      "tree": "8832d105c4742674423bd50352b8a4805c44fecc",
      "parents": [
        "129a84de2347002f09721cda3155ccfd19fade40"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 20 13:58:35 2007 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri May 11 05:38:25 2007 -0400"
      },
      "message": "[PATCH] auditing ptrace\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3c2ad469c317147fc1de19579f8173ddb68a9e91",
      "tree": "ce2e5499e113d4fd5f5a4c158340549da1ce572b",
      "parents": [
        "41a23b0788610b27ecb4c4ee857f3fe7168f1070"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu May 10 14:14:16 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu May 10 23:47:43 2007 -0700"
      },
      "message": "[NETFILTER]: Clean up table initialization\n\n- move arp_tables initial table structure definitions to arp_tables.h\n  similar to ip_tables and ip6_tables\n\n- use C99 initializers\n\n- use initializer macros where possible\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "572a103ded0ad880f75ce83e99f0512fbb80b5b0",
      "tree": "b469715be284a13c3f603903cc9158baa7baa992",
      "parents": [
        "c33be3c362f1bc98f6e2d731a274ef138ae80741"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue May 08 18:34:17 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu May 10 23:45:07 2007 -0700"
      },
      "message": "[NET] link_watch: Move link watch list into net_device\n\nThese days the link watch mechanism is an integral part of the\nnetwork subsystem as it manages the carrier status.  So it now\nmakes sense to allocate some memory for it in net_device rather\nthan allocating it on demand.\n\nIn fact, this is necessary because we can\u0027t tolerate a memory\nallocation failure since that means we\u0027d have to potentially\nthrow a link up event away.\n\nIt also simplifies the code greatly.\n\nIn doing so I discovered a subtle race condition in the use\nof singleevent.  This race condition still exists (and is\nsomewhat magnified) without singleevent but it\u0027s now plugged\nthanks to an smp_mb__before_clear_bit.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "62933d36ac98360da45f43df989277df002b034b",
      "tree": "1164d4f10bb56b757f0507ed49d7aa4b17a9dc2b",
      "parents": [
        "0ab598099c18affd73a21482274c00e8119236be",
        "f64071200acc124bd0d641ef7d750f38fbf5f8b8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 10 13:32:24 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 10 13:32:24 2007 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc\n\n* \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (24 commits)\n  [POWERPC] Fix compile error with kexec and CONFIG_SMP\u003dn\n  [POWERPC] Split initrd logic out of early_init_dt_scan_chosen() to fix warning\n  [POWERPC] Fix warning in hpte_decode(), and generalize it\n  [POWERPC] Minor pSeries IOMMU debug cleanup\n  [POWERPC] PS3: Fix sys manager build error\n  [POWERPC] Assorted janitorial EEH cleanups\n  [POWERPC] We don\u0027t define CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID\n  [POWERPC] pmu_sys_suspended is only defined for PPC32\n  [POWERPC] Fix incorrect calculation of I/O window addresses\n  [POWERPC] celleb: Update celleb_defconfig\n  [POWERPC] celleb: Fix parsing of machine type hack command line option\n  [POWERPC] celleb: Fix PCI config space accesses to subordinate buses\n  [POWERPC] celleb: Fix support for multiple PCI domains\n  [POWERPC] Wire up sys_utimensat\n  [POWERPC] CPM_UART: Removed __init from cpm_uart_init_portdesc to fix warning\n  [POWERPC] User rheap from arch/powerpc/lib\n  [POWERPC] 83xx: Fix the PCI ranges in the MPC834x_MDS device tree.\n  [POWERPC] 83xx: Fix the PCI ranges in the MPC832x_MDS device tree.\n  [POWERPC] CPM_UART: cpm_uart_set_termios should take ktermios, not termios\n  [POWERPC] Change rheap functions to use ulongs instead of pointers\n  ...\n"
    },
    {
      "commit": "b526ca438b95a6d71210e0ffc79aabac8aba2b1e",
      "tree": "7b162fa7d99405c5ad0110b6f4a4db05ff9e48d5",
      "parents": [
        "9b6a51746ffe8d619f1097675d2dc5e303470024",
        "f685648e7d6520653fa2641840cccc58ba8ef8e0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 10 13:30:34 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 10 13:30:34 2007 -0700"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6:\n  acpi,msi-laptop: Fall back to EC polling mode for MSI laptop specific EC commands\n  sony-laptop: rename SONY_LAPTOP_OLD to a more meaningful SONYPI_COMPAT\n  asus-laptop: version bump and lindent\n  asus-laptop: fix light sens init\n  asus-laptop: add GPS support\n  asus-laptop: notify ALL events\n  ACPICA: Lindent\n  ACPI: created a dedicated workqueue for notify() execution\n  Revert \"ACPICA: fix AML mutex re-entrancy\"\n  Revert \"Execute AML Notify() requests on stack.\"\n  Revert \"ACPICA: revert \"acpi_serialize\" changes\"\n  ACPI: delete un-reliable concept of cooling mode\n  ACPI: thermal trip points are read-only\n"
    },
    {
      "commit": "9b6a51746ffe8d619f1097675d2dc5e303470024",
      "tree": "52668d7adc6f5c1d347d65072878cf1f82670364",
      "parents": [
        "fc0b60f1dc311a2f7443ce46305edd287b2d8947",
        "d79406dd140a3e6eed6f26b17f0c6620fe30b50c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 10 13:29:36 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 10 13:30:08 2007 -0700"
      },
      "message": "Merge branch \u0027juju\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6\n\n* \u0027juju\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: (138 commits)\n  firewire: Convert OHCI driver to use standard goto unwinding for error handling.\n  firewire: Always use parens with sizeof.\n  firewire: Drop single buffer request support.\n  firewire: Add a comment to describe why we split the sg list.\n  firewire: Return SCSI_MLQUEUE_HOST_BUSY for out of memory cases in queuecommand.\n  firewire: Handle the last few DMA mapping error cases.\n  firewire: Allocate scsi_host up front and allocate the sbp2_device as hostdata.\n  firewire: Provide module aliase for backwards compatibility.\n  firewire: Add to fw-core-y instead of assigning fw-core-objs in Makefile.\n  firewire: Break out shared IEEE1394 constant to separate header file.\n  firewire: Use linux/*.h instead of asm/*.h header files.\n  firewire: Uppercase most macro names.\n  firewire: Coding style cleanup: no spaces after function names.\n  firewire: Convert card_rwsem to a regular mutex.\n  firewire: Clean up comment style.\n  firewire: Use lib/ implementation of CRC ITU-T.\n  CRC ITU-T V.41\n  firewire: Rename fw-device-cdev.c to fw-cdev.c and move header to include/linux.\n  firewire: Future proof the iso ioctls by adding a handle for the iso context.\n  firewire: Add read/write and size annotations to IOC numbers.\n  ...\n\nAcked-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "218e180e7ea5334e1f94121940ba82cd1f0f4e58",
      "tree": "5b7aa47a2439c40b8b68a3bfd9e2f72bf07cf385",
      "parents": [
        "894b8788d7f265eb7c6f75a9a77cedeb48f51586"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Thu May 10 03:15:18 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 10 09:26:52 2007 -0700"
      },
      "message": "add upper-32-bits macro\n\nWe keep on getting \"right shift count \u003e\u003d width of type\" warnings when doing\nthings like\n\n\tsector_t s;\n\n\tx \u003d s \u003e\u003e 56;\n\nbecause with CONFIG_LBD\u003dn, s is only 32-bit.  Similar problems can occur with\ndma_addr_t\u0027s.\n\nSo add a simple wrapper function which code can use to avoid this warning.\nThe above example would become\n\n\tx \u003d upper_32_bits(s) \u003e\u003e 24;\n\nThe first user is in fact AFS.\n\nCc: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\nCc: \"Cameron, Steve\" \u003cSteve.Cameron@hp.com\u003e\nCc: \"Miller, Mike (OS Dev)\" \u003cMike.Miller@hp.com\u003e\nCc: Hisashi Hifumi \u003chifumi.hisashi@oss.ntt.co.jp\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "894b8788d7f265eb7c6f75a9a77cedeb48f51586",
      "tree": "4b00fa4704090876895b8a7528c6fe5e2201fc28",
      "parents": [
        "02b67325a6d34f2ae67484a8802b6ffc9ce9931d"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Thu May 10 03:15:16 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 10 09:26:52 2007 -0700"
      },
      "message": "slub: support concurrent local and remote frees and allocs on a slab\n\nAvoid atomic overhead in slab_alloc and slab_free\n\nSLUB needs to use the slab_lock for the per cpu slabs to synchronize with\npotential kfree operations.  This patch avoids that need by moving all free\nobjects onto a lockless_freelist.  The regular freelist continues to exist\nand will be used to free objects.  So while we consume the\nlockless_freelist the regular freelist may build up objects.\n\nIf we are out of objects on the lockless_freelist then we may check the\nregular freelist.  If it has objects then we move those over to the\nlockless_freelist and do this again.  There is a significant savings in\nterms of atomic operations that have to be performed.\n\nWe can even free directly to the lockless_freelist if we know that we are\nrunning on the same processor.  So this speeds up short lived objects.\nThey may be allocated and freed without taking the slab_lock.  This is\nparticular good for netperf.\n\nIn order to maximize the effect of the new faster hotpath we extract the\nhottest performance pieces into inlined functions.  These are then inlined\ninto kmem_cache_alloc and kmem_cache_free.  So hotpath allocation and\nfreeing no longer requires a subroutine call within SLUB.\n\n[I am not sure that it is worth doing this because it changes the easy to\nread structure of slub just to reduce atomic ops.  However, there is\nsomeone out there with a benchmark on 4 way and 8 way processor systems\nthat seems to show a 5% regression vs.  Slab.  Seems that the regression is\ndue to increased atomic operations use vs.  SLAB in SLUB).  I wonder if\nthis is applicable or discernable at all in a real workload?]\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4c5a443e80e6d85e5c84a56bf30b61fe84c1f292",
      "tree": "c5404475fe48376d9151c08c4cc37eb507fcd5e3",
      "parents": [
        "04dfb8dbd200c574b2f292146ef817d9745c8936"
      ],
      "author": {
        "name": "Kristian Høgsberg",
        "email": "krh@redhat.com",
        "time": "Mon May 07 20:33:37 2007 -0400"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu May 10 18:24:13 2007 +0200"
      },
      "message": "firewire: Break out shared IEEE1394 constant to separate header file.\n\nSigned-off-by: Kristian Hoegsberg \u003ckrh@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "04dfb8dbd200c574b2f292146ef817d9745c8936",
      "tree": "1eb9aa958e3a3d86ce76c5219d32af561410d3b2",
      "parents": [
        "a77754a75d58d534fd34a5add8ac1bb91d4ffc0f"
      ],
      "author": {
        "name": "Kristian Høgsberg",
        "email": "krh@redhat.com",
        "time": "Mon May 07 20:33:36 2007 -0400"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu May 10 18:24:13 2007 +0200"
      },
      "message": "firewire: Use linux/*.h instead of asm/*.h header files.\n\nSigned-off-by: Kristian Hoegsberg \u003ckrh@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "3e7cbae7c6dda18d427335b3ad98f1a0d40ef30c",
      "tree": "2ac604d8d6f4eb671e23c9b6a405c37b92fa8df3",
      "parents": [
        "9640d3d775aa325650c8fcdf49127542f77b2156"
      ],
      "author": {
        "name": "Ivo van Doorn",
        "email": "IvDoorn@gmail.com",
        "time": "Mon Jun 12 16:17:04 2006 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu May 10 18:24:13 2007 +0200"
      },
      "message": "CRC ITU-T V.41\n\nThis will add the CRC calculation according\nto the CRC ITU-T V.41 to the kernel lib/ folder.\n\nThis code has been derived from the rt2x00 driver,\ncurrently found only in the wireless-dev tree, but\nthis library is generic and could be used by more\ndrivers who currently use their own implementation.\n\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\n\nAlso useful for the new firewire stack.\n\nSigned-off-by: Kristian Hoegsberg \u003ckrh@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "49d687b636c1f7e9a14faab7bd654f9fb88ecd11",
      "tree": "eded43f542a7245f45de34609d158dcfad7c3f82",
      "parents": [
        "31e92e0a1f40ecbef415cd99dc886b14963dc594"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Thu May 10 02:19:51 2007 +1000"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Thu May 10 21:28:13 2007 +1000"
      },
      "message": "[POWERPC] pmu_sys_suspended is only defined for PPC32\n\nthus we get a link error on ppc64 with CONFIG_PM\u003dy.  This fixes it.\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "00eb43a1897a8845d0edb198cec69ac5f1f299dd",
      "tree": "32cab402e51882c7854eab20556f0da75525cdc7",
      "parents": [
        "a64e62a07097f67108f0b68bc15216c3a4a5299b"
      ],
      "author": {
        "name": "Lennart Poettering",
        "email": "mzxreary@0pointer.de",
        "time": "Fri May 04 14:16:19 2007 +0200"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Thu May 10 03:52:22 2007 -0400"
      },
      "message": "acpi,msi-laptop: Fall back to EC polling mode for MSI laptop specific EC commands\n\nThe ACPI EC that is used in MSI laptops knows some non-standard\ncommands for changing the screen brighntess and a few other things,\nwhich are used by the msi-laptop.c driver. Unfortunately for these\ncommands no GPE events for IBF and OBF are triggered. Since nowadays\nthe EC code uses the ec_intr\u003d1 mode by default, this causes these\noperations to timeout, although they don\u0027t fail. In result, all\noperations that you can do with the msi-laptop.c driver take more or\nless 1s to complete, which is awfully slow.\n\nIn one of the more recent kernels (2.6.20?) the EC subsystem has been\nrevamped. With that change the EC timeout has been increased. before\nthat increase the MSI EC accesses were slow -- but not *that* slow,\nhence I took notice of this limitation of the MSI EC hardware only very\nrecently.\n\nThe standard EC operations on the MSI EC as defined in the ACPI spec\nsupport GPE events properly.\n\nThe following patch adds a new argument \"force_poll\" to the\nec_transaction() function (and friends). If set to 1, the function\nwill poll for IBF/OBF even if ec_intr\u003d1 is enabled. If set to 0 the\ncurrent behaviour is used. The msi-laptop driver is modified to make\nuse of this new flag, so that OBF/IBF is polled for the special MSI EC\ntransactions -- but only for them.\n\nSigned-off-by: Lennart Poettering \u003cmzxreary@0pointer.de\u003e\nAcked-by: Alexey Starikovskiy \u003caystarik@gmail.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "de5603748af8bf7deac403e6ba92887f8d18e812",
      "tree": "fd93862c70ec0eeba5fe340d7519ab33a9cb1dff",
      "parents": [
        "b5f0adbcc4f16e378882d8f68fe3111df04911be",
        "225c7b1feef1b41170f7037a5b10a65cd8a42c54"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 19:40:09 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 19:40:09 2007 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband\n\n* \u0027for-linus\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband:\n  IB/mlx4: Add a driver Mellanox ConnectX InfiniBand adapters\n  IB: Put rlimit accounting struct in struct ib_umem\n  IB/uverbs: Export ib_umem_get()/ib_umem_release() to modules\n"
    },
    {
      "commit": "44ce6294d07555c3d313757105fd44b78208407f",
      "tree": "29659bee16a4d7111124c6f41289bc9c11669e70",
      "parents": [
        "497f050c42e46a4b1f6a9bcd8827fa5d97fe1feb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 18:51:36 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 18:51:36 2007 -0700"
      },
      "message": "Revert \"md: improve partition detection in md array\"\n\nThis reverts commit 5b479c91da90eef605f851508744bfe8269591a0.\n\nQuoth Neil Brown:\n\n  \"It causes an oops when auto-detecting raid arrays, and it doesn\u0027t\n   seem easy to fix.\n\n   The array may not be \u0027open\u0027 when do_md_run is called, so\n   bdev-\u003ebd_disk might be NULL, so bd_set_size can oops.\n\n   This whole approach of opening an md device before it has been\n   assembled just seems to get more and more painful.  I think I\u0027m going\n   to have to come up with something clever to provide both backward\n   comparability with usage expectation, and sane integration into the\n   rest of the kernel.\"\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3cb7396b7b26585b1ab7c1a8ca554ec103da5d37",
      "tree": "94720199f016045fe2a204ac8fd26c0029f4544c",
      "parents": [
        "d0b6e0e380d6a32d479120a8b5d98cdff936ec8c",
        "317a46a200e6514a1acf50ed30291160185a5c73"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 15:41:31 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 15:41:31 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6:\n  ide: fix PIO setup on resume for ATAPI devices\n  ide: legacy PCI bus order probing fixes\n  ide: add ide_proc_register_port()\n  ide: add \"initializing\" argument to ide_register_hw()\n  ide: cable detection fixes (take 2)\n  ide: move IDE settings handling to ide-proc.c\n  ide: split off ioctl handling from IDE settings (v2)\n  ide: make /proc/ide/ optional\n  ide: add ide_tune_dma() helper\n  ide: rework the code for selecting the best DMA transfer mode (v3)\n  ide: fix UDMA/MWDMA/SWDMA masks (v3)\n"
    },
    {
      "commit": "6d208b39c45edee5def6c201fcd51561c5a39828",
      "tree": "55645d2b6173e3161d12e5c9efdc4bd052b75b56",
      "parents": [
        "5cbf79cdb37be2aa2a1b4fa94144526b14557060"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu May 10 00:01:11 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu May 10 00:01:11 2007 +0200"
      },
      "message": "ide: legacy PCI bus order probing fixes\n\nIDE PCI host drivers should register themselves with IDE core only when\nIDE driver is built-in, otherwise (IDE driver is modular and thus IDE PCI\nhost drivers are also modular) the code has no effect and just complicates\nthe probing.\n\nFix it by adding new config option CONFIG_IDEPCI_PCIBUS (defined only when\nneeded and invisible to the user) and covering by #ifdef/#endif the code\nin question.  It turned out that \"ide\u003dreverse\" was silently accepted but did\nnothing in case when IDE driver was modular, this is fixed now.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n\n"
    },
    {
      "commit": "5cbf79cdb37be2aa2a1b4fa94144526b14557060",
      "tree": "1fcfbc1248b9904e5890cc593f018ee0a8a53238",
      "parents": [
        "869c56ee9de1b72cd3f8ab9cdfbd3601e55c61f2"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu May 10 00:01:11 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu May 10 00:01:11 2007 +0200"
      },
      "message": "ide: add ide_proc_register_port()\n\n* create_proc_ide_interfaces() tries to add /proc entries for every probed\n  and initialized IDE port, replace it by ide_proc_register_port() which does\n  it only for the given port (also rename destroy_proc_ide_interface() to\n  ide_proc_unregister_port() for consistency)\n  \n* convert {create,destroy}_proc_ide_interface[s]() users to use new functions\n\n* pmac driver depended on proc_ide_create() to add /proc port entries, fix it\n  \n* au1xxx-ide, swarm and cs5520 drivers depended indirectly on ide-generic\n  driver (CONFIG_IDE_GENERIC\u003dy) to add port /proc entries, fix them\n\n* there is now no need to add /proc entries for IDE ports in proc_ide_create()\n  so don\u0027t do it\n\n* proc_ide_create() needs now to be called before drivers are probed - fix it,\n  while at it make proc_ide_create() create /proc \"ide\" directory\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n\n"
    },
    {
      "commit": "869c56ee9de1b72cd3f8ab9cdfbd3601e55c61f2",
      "tree": "0f295ba89c774f9a20b2b089a29f288cd80b8094",
      "parents": [
        "7f8f48af0861c38c28d4abd550102643e0ea9e6a"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu May 10 00:01:10 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu May 10 00:01:10 2007 +0200"
      },
      "message": "ide: add \"initializing\" argument to ide_register_hw()\n\nAdd \"initializing\" argument to ide_register_hw() and use it instead of ide.c\nwide variable of the same name.  Update all users of ide_register_hw()\naccordingly.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n\n"
    },
    {
      "commit": "7f8f48af0861c38c28d4abd550102643e0ea9e6a",
      "tree": "6ec47ace87afbd96cc1144d423854b09d9f21d75",
      "parents": [
        "7662d046df09e80680b77b68de896beab45e675e"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu May 10 00:01:10 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu May 10 00:01:10 2007 +0200"
      },
      "message": "ide: cable detection fixes (take 2)\n\nTejun\u0027s recent eighty_ninty_three() fix has inspired me to do more thorough\nreview of the cable detection code...\n\n* print user-friendly warning about limiting the maximum transfer speed\n  to UDMA33 (and the reason behind it) when 80-wire cable is not detected,\n  also while at it cleanup eighty_ninty_three() a bit\n\n* use eighty_ninty_three() in ide_ata66_check(), this actually fixes 3 bugs:\n  - bit 14 (word 93 validity check) \u003d\u003d 1 \u0026\u0026 bit 13 (80-wire cable test) \u003d\u003d 1\n    were used as 80-wire cable present test for CONFIG_IDEDMA_IVB\u003dn case\n    (please see FIXME comment in eighty_ninty_three() for more details)\n  - CONFIG_IDEDMA_IVB\u003dy/n cases were interchanged\n  - check for SATA devices was missing\n\n* remove private cable warnings from pdc_202xx{old,new} drivers now that core\n  code provides this functionality (plus, in pdc202xx_new case the test could\n  give false warnings for ATAPI devices because pdc202xx_new driver doesn\u0027t\n  even support ATAPI DMA)\n\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n\n"
    },
    {
      "commit": "7662d046df09e80680b77b68de896beab45e675e",
      "tree": "ea2281c59399b3867fb37e1005a0f0e0d2170c5d",
      "parents": [
        "1497943ee692aa7519fa972d0e3a339649bf3a96"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu May 10 00:01:10 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu May 10 00:01:10 2007 +0200"
      },
      "message": "ide: move IDE settings handling to ide-proc.c\n\n* move\n\t__ide_add_setting()\n\tide_add_setting()\n\t__ide_remove_setting()\n\tauto_remove_settings()\n\tide_find_setting_by_name()\n\tide_read_setting()\n\tide_write_setting()\n\tset_xfer_rate()\n\tide_add_generic_settings()\n\tide_register_subdriver()\n\tide_unregister_subdriver()\n\n  from ide.c to ide-proc.c\n\n* set_{io_32bit,pio_mode,using_dma}() cannot be marked static now, fix it\n\n* rename ide_[un]register_subdriver() to ide_proc_[un]register_driver(),\n  update device drivers to use new names\n\n* add CONFIG_IDE_PROC_FS\u003dn versions of ide_proc_[un]register_driver()\n  and ide_add_generic_settings()\n\n* make ide_find_setting_by_name(), ide_{read,write}_setting()\n  and ide_{add,remove}_proc_entries() static\n\n* cover IDE settings code in device drivers with CONFIG_IDE_PROC_FS #ifdef,\n  also while at it cover with CONFIG_IDE_PROC_FS #ifdef ide_driver_t.proc\n\n* remove bogus comment from ide.h\n\n* cover with CONFIG_IDE_PROC_FS #ifdef .proc and .settings in ide_drive_t\n\nBesides saner code this patch results in the IDE core smaller by ~2 kB\n(on x86-32) and IDE disk driver by ~1 kB (ditto) when CONFIG_IDE_PROC_FS\u003dn.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "1497943ee692aa7519fa972d0e3a339649bf3a96",
      "tree": "dc70ee9731f66dd323ddb397380b62c0c2977add",
      "parents": [
        "ecfd80e4a514123070b4cfb674b817ba75055df2"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu May 10 00:01:10 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu May 10 00:01:10 2007 +0200"
      },
      "message": "ide: split off ioctl handling from IDE settings (v2)\n\n* do write permission and min/max checks in ide_procset_t functions\n\n* ide-disk.c: drive-\u003eid is always available so cleanup \"multcount\" setting\n  accordingly\n\n* ide-disk.c: \"address\" setting was incorrectly defined as type TYPE_INTA,\n  fix it by using type TYPE_BYTE and updating ide_drive_t-\u003eadressing field,\n  the bug didn\u0027t trigger because this IDE setting uses custom -\u003eset function\n\n* ide.c: add set_ksettings() for handling HDIO_SET_KEEPSETTINGS ioctl\n\n* ide.c: add set_unmaskirq() for handling HDIO_SET_UNMASKINTR ioctl\n\n* handle ioctls directly in generic_ide_ioclt() and idedisk_ioctl()\n  instead of using IDE settings to deal with them\n\n* remove no longer needed ide_find_setting_by_ioctl() and {read,write}_ioctl\n  fields from ide_settings_t, also remove now unused TYPE_INTA handling\n\nv2:\n* add missing EXPORT_SYMBOL_GPL(ide_setting_sem) needed now for ide-disk\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "ecfd80e4a514123070b4cfb674b817ba75055df2",
      "tree": "956baa39e22030d139803b7585bd71e91c637bb5",
      "parents": [
        "29e744d088e3555f4efbdf390f01088dd66993b6"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu May 10 00:01:09 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu May 10 00:01:09 2007 +0200"
      },
      "message": "ide: make /proc/ide/ optional\n\nAll important information/features should be already available through\nsysfs and ioctl interfaces.\n\nAdd CONFIG_IDE_PROC_FS (CONFIG_SCSI_PROC_FS rip-off) config option,\ndisabling it makes IDE driver ~5 kB smaller (on x86-32).\n\nWhile at it add CONFIG_PROC_FS\u003dn versions of proc_ide_{create,destroy}()\nand remove no longer needed #ifdefs.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "29e744d088e3555f4efbdf390f01088dd66993b6",
      "tree": "2747692efcef505872d29e0b62cb2345b0d64978",
      "parents": [
        "2d5eaa6dd744a641e75503232a01f52d0768884c"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu May 10 00:01:09 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu May 10 00:01:09 2007 +0200"
      },
      "message": "ide: add ide_tune_dma() helper\n\nAfter reworking the code responsible for selecting the best DMA\ntransfer mode it is now possible to add generic ide_tune_dma() helper.\n\nConvert some IDE PCI host drivers to use it (the ones left need more work).\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n\n"
    },
    {
      "commit": "2d5eaa6dd744a641e75503232a01f52d0768884c",
      "tree": "0736bd00ea3bd032d601d0a676c998cb043b877a",
      "parents": [
        "18137207236285989dfc0ee7f929b954199228f3"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu May 10 00:01:08 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu May 10 00:01:08 2007 +0200"
      },
      "message": "ide: rework the code for selecting the best DMA transfer mode (v3)\n\nDepends on the \"ide: fix UDMA/MWDMA/SWDMA masks\" patch.\n\n* add ide_hwif_t.udma_filter hook for filtering UDMA mask\n  (use it in alim15x3, hpt366, siimage and serverworks drivers)\n* add ide_max_dma_mode() for finding best DMA mode for the device\n  (loosely based on some older libata-core.c code)\n* convert ide_dma_speed() users to use ide_max_dma_mode()\n* make ide_rate_filter() take \"ide_drive_t *drive\" as an argument instead\n  of \"u8 mode\" and teach it to how to use UDMA mask to do filtering\n* use ide_rate_filter() in hpt366 driver\n* remove no longer needed ide_dma_speed() and *_ratemask()\n* unexport eighty_ninty_three()\n\nv2:\n* rename -\u003efilter_udma_mask to -\u003eudma_filter\n  [ Suggested by Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e. ]\n\nv3:\n* updated for scc_pata driver (fixes XFER_UDMA_6 filtering for user-space\n  originated transfer mode change requests when 100MHz clock is used)\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "18137207236285989dfc0ee7f929b954199228f3",
      "tree": "d55f1287ae64318190e18cb7a64ca514c76c3414",
      "parents": [
        "de372ecd80a42c4fb485c7232475301a18d05184"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu May 10 00:01:07 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu May 10 00:01:07 2007 +0200"
      },
      "message": "ide: fix UDMA/MWDMA/SWDMA masks (v3)\n\n* use 0x00 instead of 0x80 to disable -\u003e{ultra,mwdma,swdma}_mask\n* add udma_mask field to ide_pci_device_t and use it to initialize\n  -\u003eultra_mask in aec62xx, cmd64x, pdc202xx_{new,old} and piix drivers\n* fix UDMA masks to match with chipset specific *_ratemask()\n  (alim15x3, hpt366, serverworks and siimage drivers need UDMA mask\n   filtering method - done in the next patch)\n\nv2:\n* piix: fix cable detection for 82801AA_1 and 82372FB_1\n  [ Noticed by Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e. ]\n* cmd64x: use hwif-\u003ecds-\u003eudma_mask\n  [ Suggested by Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e. ]\n* aec62xx: fix newly introduced bug - check DMA status not command register\n  [ Noticed by Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e. ]\n\nv3:\n* piix: use hwif-\u003ecds-\u003eudma_mask\n  [ Suggested by Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e. ]\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n\n"
    },
    {
      "commit": "ba7cc09c9c9e29a57045dc5bbf843ac1cfad3283",
      "tree": "7e2d39269803b53ba048f3bad11cd6a1a38b35b9",
      "parents": [
        "d84c4124c4b6611301b402e8611b7e36de3bd351",
        "b7aa48be1e7a11e36448a7db58931bbf735d2718"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 13:10:11 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 13:10:11 2007 -0700"
      },
      "message": "Merge git://git.infradead.org/mtd-2.6\n\n* git://git.infradead.org/mtd-2.6: (21 commits)\n  [MTD] [CHIPS] Remove MTD_OBSOLETE_CHIPS (jedec, amd_flash, sharp)\n  [MTD] Delete allegedly obsolete \"bank_size\" field of mtd_info.\n  [MTD] Remove unnecessary user space check from mtd.h.\n  [MTD] [MAPS] Remove flash maps for no longer supported 405LP boards\n  [MTD] [MAPS] Fix missing printk() parameter in physmap_of.c MTD driver\n  [MTD] [NAND] platform NAND driver: add driver\n  [MTD] [NAND] platform NAND driver: update header\n  [JFFS2] Simplify and clean up jffs2_add_tn_to_tree() some more.\n  [JFFS2] Remove another bogus optimisation in jffs2_add_tn_to_tree()\n  [JFFS2] Remove broken insert_point optimisation in jffs2_add_tn_to_tree()\n  [JFFS2] Remember to calculate overlap on nodes which replace older nodes\n  [JFFS2] Don\u0027t advance c-\u003ewbuf_ofs to next eraseblock after wbuf flush\n  [MTD] [NAND] at91_nand.c: CMDLINE_PARTS support\n  [MTD] [NAND] Tidy up handling of page number in nand_block_bad()\n  [MTD] block2mtd_paramline[] mustn\u0027t be __initdata\n  [MTD] [NAND] Support multiple chips in CAFÉ driver\n  [MTD] [NAND] Rename cafe.c to cafe_nand.c and remove the multi-obj magic\n  [MTD] [NAND] Use rslib for CAFÉ ECC\n  [RSLIB] Support non-canonical GF representations\n  [JFFS2] Remove dead file histo_mips.h\n  ...\n"
    },
    {
      "commit": "aabded9c3aab5160ae2ca3dd1fa0fa37f3d510e4",
      "tree": "8544d546735bcb975b8dec296eb9b6dc6531fb2a",
      "parents": [
        "9a9136e270af14da506f66bcafcc506b86a86498",
        "f1a1eb299a8422c3e8d41753095bec44b2493398"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:56:01 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:56:01 2007 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc\n\n* \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc:\n  [POWERPC] Further fixes for the removal of 4level-fixup hack from ppc32\n  [POWERPC] EEH: log all PCI-X and PCI-E AER registers\n  [POWERPC] EEH: capture and log pci state on error\n  [POWERPC] EEH: Split up long error msg\n  [POWERPC] EEH: log error only after driver notification.\n  [POWERPC] fsl_soc: Make mac_addr const in fs_enet_of_init().\n  [POWERPC] Don\u0027t use SLAB/SLUB for PTE pages\n  [POWERPC] Spufs support for 64K LS mappings on 4K kernels\n  [POWERPC] Add ability to 4K kernel to hash in 64K pages\n  [POWERPC] Introduce address space \"slices\"\n  [POWERPC] Small fixes \u0026 cleanups in segment page size demotion\n  [POWERPC] iSeries: Make HVC_ISERIES the default\n  [POWERPC] iSeries: suppress build warning in lparmap.c\n  [POWERPC] Mark pages that don\u0027t exist as nosave\n  [POWERPC] swsusp: Introduce register_nosave_region_late\n"
    },
    {
      "commit": "9a9136e270af14da506f66bcafcc506b86a86498",
      "tree": "b4d0a6877d92635134b7a944d0032fbc43227fd2",
      "parents": [
        "3960208f9ca0cf6bdb31c21c59ac0526303f8b34",
        "7bb2acb76e8168ca5d0bde5a5a56585a11b3525a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:54:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:54:17 2007 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial: (25 commits)\n  sound: convert \"sound\" subdirectory to UTF-8\n  MAINTAINERS: Add cxacru website/mailing list\n  include files: convert \"include\" subdirectory to UTF-8\n  general: convert \"kernel\" subdirectory to UTF-8\n  documentation: convert the Documentation directory to UTF-8\n  Convert the toplevel files CREDITS and MAINTAINERS to UTF-8.\n  remove broken URLs from net drivers\u0027 output\n  Magic number prefix consistency change to Documentation/magic-number.txt\n  trivial: s/i_sem /i_mutex/\n  fix file specification in comments\n  drivers/base/platform.c: fix small typo in doc\n  misc doc and kconfig typos\n  Remove obsolete fat_cvf help text\n  Fix occurrences of \"the the \"\n  Fix minor typoes in kernel/module.c\n  Kconfig: Remove reference to external mqueue library\n  Kconfig: A couple of grammatical fixes in arch/i386/Kconfig\n  Correct comments in genrtc.c to refer to correct /proc file.\n  Fix more \"deprecated\" spellos.\n  Fix \"deprecated\" typoes.\n  ...\n\nFix trivial comment conflict in kernel/relay.c.\n"
    },
    {
      "commit": "5b479c91da90eef605f851508744bfe8269591a0",
      "tree": "d7c2844926d96d794d66b974b300eba2d047465e",
      "parents": [
        "08a02ecd28bad35a47357e611044dcbeab06e3d7"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed May 09 02:35:39 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:57 2007 -0700"
      },
      "message": "md: improve partition detection in md array\n\nmd currently uses -\u003emedia_changed to make sure rescan_partitions\nis call on md array after they are assembled.\n\nHowever that doesn\u0027t happen until the array is opened, which is later\nthan some people would like.\n\nSo use blkdev_ioctl to do the rescan immediately that the\narray has been assembled.\n\nThis means we can remove all the -\u003echange infrastructure as it was only used\nto trigger a partition rescan.\n\nSigned-off-by: Neil Brown \u003cneilb@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": "880169dd2edc4297b7811a0542be9766ca6945bc",
      "tree": "38f9ecb7507c37982291fa9f131682daf91c3c27",
      "parents": [
        "5a87ede94595f58934000e26e8b13398e63868b5"
      ],
      "author": {
        "name": "Haavard Skinnemoen",
        "email": "hskinnemoen@atmel.com",
        "time": "Wed May 09 02:35:33 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:57 2007 -0700"
      },
      "message": "fbdev: add support for AVR32\n\nProvide framebuffer page protection flags and definitions of\nfb_readl/fb_writel for AVR32.\n\nSigned-off-by: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nCc: \"Antonino A. Daplas\" \u003cadaplas@pol.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5a87ede94595f58934000e26e8b13398e63868b5",
      "tree": "e97b7e505753c8243ec10c008e9ff39e61c92d09",
      "parents": [
        "681e14730c73cc2c71af282c001de6bc71c22f00"
      ],
      "author": {
        "name": "Antonino A. Daplas",
        "email": "adaplas@gmail.com",
        "time": "Wed May 09 02:35:32 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:57 2007 -0700"
      },
      "message": "svgalib: move fb_get_caps to svgalib\n\nMove fb_get_caps() method to svgalib.c as svga_get_caps() so it can be used by\ns3fb, arkfb and vt8623fb.\n\nSigned-off-by: Antonino Daplas \u003cadaplas@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": "0d7ebbbc6eaa5539f78ab20ed6ff1725a4e332ef",
      "tree": "ddef8183ac6440e96678fd4d1159ee86619e2a97",
      "parents": [
        "f7e4217b007d1f73e7e3cf10ba4fea4a608c603f"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Wed May 09 02:35:27 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:56 2007 -0700"
      },
      "message": "compiler: introduce __used and __maybe_unused\n\n__used is defined to be __attribute__((unused)) for all pre-3.3 gcc\ncompilers to suppress warnings for unused functions because perhaps they\nare referenced only in inline assembly.  It is defined to be\n__attribute__((used)) for gcc 3.3 and later so that the code is still\nemitted for such functions.\n\n__maybe_unused is defined to be __attribute__((unused)) for both function\nand variable use if it could possibly be unreferenced due to the evaluation\nof preprocessor macros.  Function prototypes shall be marked with\n__maybe_unused if the actual definition of the function is dependant on\npreprocessor macros.\n\nNo update to compiler-intel.h is necessary because ICC supports both\n__attribute__((used)) and __attribute__((unused)) as specified by the gcc\nmanual.\n\n__attribute_used__ is deprecated and will be removed once all current\ncode is converted to using __used.\n\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f7e4217b007d1f73e7e3cf10ba4fea4a608c603f",
      "tree": "9c3932bb871d4b6727dc588e4d6c9987637aaee5",
      "parents": [
        "c9f4f06d3191bd91c1a081b54a6c8e913e7b8a83"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Wed May 09 02:35:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:56 2007 -0700"
      },
      "message": "rename thread_info to stack\n\nThis finally renames the thread_info field in task structure to stack, so that\nthe assumptions about this field are gone and archs have more freedom about\nplacing the thread_info structure.\n\nNonbroken archs which have a proper thread pointer can do the access to both\ncurrent thread and task structure via a single pointer.\n\nIt\u0027ll allow for a few more cleanups of the fork code, from which e.g.  ia64\ncould benefit.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\n[akpm@linux-foundation.org: build fix]\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: Ian Molton \u003cspyro@f2s.com\u003e\nCc: Haavard Skinnemoen \u003chskinnemoen@atmel.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: Ralf Baechle \u003cralf@linux-mips.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": "e61a1c1c4f240cec61300c8f27518c3e47570fd4",
      "tree": "479d3b921577eaa642c4b1071acfeb4cb8ecf8ab",
      "parents": [
        "b52f52a093bb1e841e014c2087b5bee7162da413"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Wed May 09 02:35:15 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:56 2007 -0700"
      },
      "message": "Allow arch to initialize arch field of the module structure\n\nThis will later allow an arch to add module specific information via linker\ngenerated tables instead of poking directly in the module object structure.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b52f52a093bb1e841e014c2087b5bee7162da413",
      "tree": "7b7135897195fc9d14473d3ab824d59a4b65e5ad",
      "parents": [
        "4037d452202e34214e8a939fa5621b2b3bbb45b7"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed May 09 02:35:15 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:56 2007 -0700"
      },
      "message": "clocksource: fix resume logic\n\nWe need to make sure that the clocksources are resumed, when timekeeping is\nresumed.  The current resume logic does not guarantee this.\n\nAdd a resume function pointer to the clocksource struct, so clocksource\ndrivers which need to reinitialize the clocksource can provide a resume\nfunction.\n\nAdd a resume function, which calls the maybe available clocksource resume\nfunctions and resets the watchdog function, so a stable TSC can be used\naccross suspend/resume.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\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": "4037d452202e34214e8a939fa5621b2b3bbb45b7",
      "tree": "31b59c0ca94fba4d53b6738b0bad3d1e9fde3063",
      "parents": [
        "77461ab33229d48614402decfb1b2eaa6d446861"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed May 09 02:35:14 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:56 2007 -0700"
      },
      "message": "Move remote node draining out of slab allocators\n\nCurrently the slab allocators contain callbacks into the page allocator to\nperform the draining of pagesets on remote nodes.  This requires SLUB to have\na whole subsystem in order to be compatible with SLAB.  Moving node draining\nout of the slab allocators avoids a section of code in SLUB.\n\nMove the node draining so that is is done when the vm statistics are updated.\nAt that point we are already touching all the cachelines with the pagesets of\na processor.\n\nAdd a expire counter there.  If we have to update per zone or global vm\nstatistics then assume that the pageset will require subsequent draining.\n\nThe expire counter will be decremented on each vm stats update pass until it\nreaches zero.  Then we will drain one batch from the pageset.  The draining\nwill cause vm counter updates which will then cause another expiration until\nthe pcp is empty.  So we will drain a batch every 3 seconds.\n\nNote that remote node draining is a somewhat esoteric feature that is required\non large NUMA systems because otherwise significant portions of system memory\ncan become trapped in pcp queues.  The number of pcp is determined by the\nnumber of processors and nodes in a system.  A system with 4 processors and 2\nnodes has 8 pcps which is okay.  But a system with 1024 processors and 512\nnodes has 512k pcps with a high potential for large amount of memory being\ncaught in them.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d1187ed21026fd512b87851d0ca26d9ae16f9059",
      "tree": "35d77758f134f3b69d3e00ca042a5d5ca6a59373",
      "parents": [
        "455c017ae3934797653549704c286e7bcc3a9397"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed May 09 02:35:12 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:56 2007 -0700"
      },
      "message": "vmstat: use our own timer events\n\nvmstat is currently using the cache reaper to periodically bring the\nstatistics up to date.  The cache reaper does only exists in SLUB as a way to\nprovide compatibility with SLAB.  This patch removes the vmstat calls from the\nslab allocators and provides its own handling.\n\nThe advantage is also that we can use a different frequency for the updates.\nRefreshing vm stats is a pretty fast job so we can run this every second and\nstagger this by only one tick.  This will lead to some overlap in large\nsystems.  F.e a system running at 250 HZ with 1024 processors will have 4 vm\nupdates occurring at once.\n\nHowever, the vm stats update only accesses per node information.  It is only\nnecessary to stagger the vm statistics updates per processor in each node.  Vm\ncounter updates occurring on distant nodes will not cause cacheline\ncontention.\n\nWe could implement an alternate approach that runs the first processor on each\nnode at the second and then each of the other processor on a node on a\nsubsequent tick.  That may be useful to keep a large amount of the second free\nof timer activity.  Maybe the timer folks will have some feedback on this one?\n\n[jirislaby@gmail.com: add missing break]\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8bb7844286fb8c9fce6f65d8288aeb09d03a5e0d",
      "tree": "f4e305edaedbde05774bb1e4acd89a9475661d2e",
      "parents": [
        "f37bc2712b54ec641e0c0c8634f1a4b61d9956c0"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed May 09 02:35:10 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:56 2007 -0700"
      },
      "message": "Add suspend-related notifications for CPU hotplug\n\nSince nonboot CPUs are now disabled after tasks and devices have been\nfrozen and the CPU hotplug infrastructure is used for this purpose, we need\nspecial CPU hotplug notifications that will help the CPU-hotplug-aware\nsubsystems distinguish normal CPU hotplug events from CPU hotplug events\nrelated to a system-wide suspend or resume operation in progress.  This\npatch introduces such notifications and causes them to be used during\nsuspend and resume transitions.  It also changes all of the\nCPU-hotplug-aware subsystems to take these notifications into consideration\n(for now they are handled in the same way as the corresponding \"normal\"\nones).\n\n[oleg@tv-sign.ru: cleanups]\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f37bc2712b54ec641e0c0c8634f1a4b61d9956c0",
      "tree": "0b73fd72a74115922e8e88bd56667c04b9299767",
      "parents": [
        "f2fff596955867d407cc7e8e426097bd9ad2be9b"
      ],
      "author": {
        "name": "Nate Diller",
        "email": "nate.diller@gmail.com",
        "time": "Wed May 09 02:35:09 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:56 2007 -0700"
      },
      "message": "fs: deprecate memclear_highpage_flush\n\nNow that all the in-tree users are converted over to zero_user_page(),\ndeprecate the old memclear_highpage_flush() call.\n\nSigned-off-by: Nate Diller \u003cnate.diller@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": "01f2705daf5a36208e69d7cf95db9c330f843af6",
      "tree": "2d2c7a042c2466ed985f6e0950450c099f02725f",
      "parents": [
        "38a23e311b6cd389b9d8af2ea6c28c8cffbe581c"
      ],
      "author": {
        "name": "Nate Diller",
        "email": "nate.diller@gmail.com",
        "time": "Wed May 09 02:35:07 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:55 2007 -0700"
      },
      "message": "fs: convert core functions to zero_user_page\n\nIt\u0027s very common for file systems to need to zero part or all of a page,\nthe simplist way is just to use kmap_atomic() and memset().  There\u0027s\nactually a library function in include/linux/highmem.h that does exactly\nthat, but it\u0027s confusingly named memclear_highpage_flush(), which is\ndescriptive of *how* it does the work rather than what the *purpose* is.\nSo this patchset renames the function to zero_user_page(), and calls it\nfrom the various places that currently open code it.\n\nThis first patch introduces the new function call, and converts all the\ncore kernel callsites, both the open-coded ones and the old\nmemclear_highpage_flush() ones.  Following this patch is a series of\nconversions for each file system individually, per AKPM, and finally a\npatch deprecating the old call.  The diffstat below shows the entire\npatchset.\n\n[akpm@linux-foundation.org: fix a few things]\nSigned-off-by: Nate Diller \u003cnate.diller@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": "34f01cc1f512fa783302982776895c73714ebbc2",
      "tree": "776b50ee9592803853b3b4c1845f8ba527b868b9",
      "parents": [
        "d0aa7a70bf03b9de9e995ab272293be1f7937822"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed May 09 02:35:04 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:55 2007 -0700"
      },
      "message": "FUTEX: new PRIVATE futexes\n\n  Analysis of current linux futex code :\n  --------------------------------------\n\nA central hash table futex_queues[] holds all contexts (futex_q) of waiting\nthreads.\n\nEach futex_wait()/futex_wait() has to obtain a spinlock on a hash slot to\nperform lookups or insert/deletion of a futex_q.\n\nWhen a futex_wait() is done, calling thread has to :\n\n1) - Obtain a read lock on mmap_sem to be able to validate the user pointer\n     (calling find_vma()). This validation tells us if the futex uses\n     an inode based store (mapped file), or mm based store (anonymous mem)\n\n2) - compute a hash key\n\n3) - Atomic increment of reference counter on an inode or a mm_struct\n\n4) - lock part of futex_queues[] hash table\n\n5) - perform the test on value of futex.\n\t(rollback is value !\u003d expected_value, returns EWOULDBLOCK)\n\t(various loops if test triggers mm faults)\n\n6) queue the context into hash table, release the lock got in 4)\n\n7) - release the read_lock on mmap_sem\n\n   \u003cblock\u003e\n\n8) Eventually unqueue the context (but rarely, as this part  may be done\n   by the futex_wake())\n\nFutexes were designed to improve scalability but current implementation has\nvarious problems :\n\n- Central hashtable :\n\n  This means scalability problems if many processes/threads want to use\n  futexes at the same time.\n  This means NUMA unbalance because this hashtable is located on one node.\n\n- Using mmap_sem on every futex() syscall :\n\n  Even if mmap_sem is a rw_semaphore, up_read()/down_read() are doing atomic\n  ops on mmap_sem, dirtying cache line :\n    - lot of cache line ping pongs on SMP configurations.\n\n  mmap_sem is also extensively used by mm code (page faults, mmap()/munmap())\n  Highly threaded processes might suffer from mmap_sem contention.\n\n  mmap_sem is also used by oprofile code. Enabling oprofile hurts threaded\n  programs because of contention on the mmap_sem cache line.\n\n- Using an atomic_inc()/atomic_dec() on inode ref counter or mm ref counter:\n  It\u0027s also a cache line ping pong on SMP. It also increases mmap_sem hold time\n  because of cache misses.\n\nMost of these scalability problems come from the fact that futexes are in\none global namespace.  As we use a central hash table, we must make sure\nthey are all using the same reference (given by the mm subsystem).  We\nchose to force all futexes be \u0027shared\u0027.  This has a cost.\n\nBut fact is POSIX defined PRIVATE and SHARED, allowing clear separation,\nand optimal performance if carefuly implemented.  Time has come for linux\nto have better threading performance.\n\nThe goal is to permit new futex commands to avoid :\n - Taking the mmap_sem semaphore, conflicting with other subsystems.\n - Modifying a ref_count on mm or an inode, still conflicting with mm or fs.\n\nThis is possible because, for one process using PTHREAD_PROCESS_PRIVATE\nfutexes, we only need to distinguish futexes by their virtual address, no\nmatter the underlying mm storage is.\n\nIf glibc wants to exploit this new infrastructure, it should use new\n_PRIVATE futex subcommands for PTHREAD_PROCESS_PRIVATE futexes.  And be\nprepared to fallback on old subcommands for old kernels.  Using one global\nvariable with the FUTEX_PRIVATE_FLAG or 0 value should be OK.\n\nPTHREAD_PROCESS_SHARED futexes should still use the old subcommands.\n\nCompatibility with old applications is preserved, they still hit the\nscalability problems, but new applications can fly :)\n\nNote : the same SHARED futex (mapped on a file) can be used by old binaries\n*and* new binaries, because both binaries will use the old subcommands.\n\nNote : Vast majority of futexes should be using PROCESS_PRIVATE semantic,\nas this is the default semantic. Almost all applications should benefit\nof this changes (new kernel and updated libc)\n\nSome bench results on a Pentium M 1.6 GHz (SMP kernel on a UP machine)\n\n/* calling futex_wait(addr, value) with value !\u003d *addr */\n433 cycles per futex(FUTEX_WAIT) call (mixing 2 futexes)\n424 cycles per futex(FUTEX_WAIT) call (using one futex)\n334 cycles per futex(FUTEX_WAIT_PRIVATE) call (mixing 2 futexes)\n334 cycles per futex(FUTEX_WAIT_PRIVATE) call (using one futex)\nFor reference :\n187 cycles per getppid() call\n188 cycles per umask() call\n181 cycles per ni_syscall() call\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nPierre Peiffer \u003cpierre.peiffer@bull.net\u003e\nCc: \"Ulrich Drepper\" \u003cdrepper@gmail.com\u003e\nCc: \"Nick Piggin\" \u003cnickpiggin@yahoo.com.au\u003e\nCc: \"Ingo Molnar\" \u003cmingo@elte.hu\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d0aa7a70bf03b9de9e995ab272293be1f7937822",
      "tree": "194b30b7b8374b946f166996cb99fb95eb3b7819",
      "parents": [
        "c19384b5b296905d4988c7c684ff540a0f9d65be"
      ],
      "author": {
        "name": "Pierre Peiffer",
        "email": "pierre.peiffer@bull.net",
        "time": "Wed May 09 02:35:02 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:55 2007 -0700"
      },
      "message": "futex_requeue_pi optimization\n\nThis patch provides the futex_requeue_pi functionality, which allows some\nthreads waiting on a normal futex to be requeued on the wait-queue of a\nPI-futex.\n\nThis provides an optimization, already used for (normal) futexes, to be used\nwith the PI-futexes.\n\nThis optimization is currently used by the glibc in pthread_broadcast, when\nusing \"normal\" mutexes.  With futex_requeue_pi, it can be used with\nPRIO_INHERIT mutexes too.\n\nSigned-off-by: Pierre Peiffer \u003cpierre.peiffer@bull.net\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "c19384b5b296905d4988c7c684ff540a0f9d65be"
}
