)]}'
{
  "log": [
    {
      "commit": "7dcf2a9fced59e58e4694cdcf15850c01fdba89b",
      "tree": "635476803ae017229f4a3dfaf7288d770b0dc1bf",
      "parents": [
        "44463f7dd6c8039904333e4374e5c6e9ad83006f"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Jul 01 19:27:16 2008 +0300"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Fri Jul 25 14:35:50 2008 -0400"
      },
      "message": "remove dummy asm/kvm.h files\n\nThis patch removes the dummy asm/kvm.h files on architectures not (yet)\nsupporting KVM and uses the same conditional headers installation as\nalready used for a.out.h .\n\nAlso removed are superfluous install rules in the s390 and x86 Kbuild\nfiles (they are already in Kbuild.asm).\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "b30f3ae50cd03ef2ff433a5030fbf88dd8323528",
      "tree": "ec140aa507d73eb5f4dfb8d46ccbd9dd80ca84e7",
      "parents": [
        "b5684b83b1e1579bbbc80e703e990c0cccf5892c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 15:43:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 16:12:40 2008 -0700"
      },
      "message": "x86-64: Clean up \u0027save/restore_i387()\u0027 usage\n\nSuresh Siddha wants to fix a possible FPU leakage in error conditions,\nbut the fact that save/restore_i387() are inlines in a header file makes\nthat harder to do than necessary.  So start off with an obvious cleanup.\n\nThis just moves the x86-64 version of save/restore_i387() out of the\nheader file, and moves it to the only file that it is actually used in:\narch/x86/kernel/signal_64.c.  So exposing it in a header file was wrong\nto begin with.\n\n[ Side note: I\u0027d like to fix up some of the games we play with the\n  32-bit version of these functions too, but that\u0027s a separate\n  matter.  The 32-bit versions are shared - under different names\n  at that! - by both the native x86-32 code and the x86-64 32-bit\n  compatibility code ]\n\nAcked-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b5684b83b1e1579bbbc80e703e990c0cccf5892c",
      "tree": "3f1b62b2320bce4d658d2ad0d4b77856499ac533",
      "parents": [
        "1481b9109fe771ec8b035d7760f42e36d2bed5d4",
        "1b8ebad87b459e2e1333fbf28005977245ff5402"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 14:55:09 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 14:55:09 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (76 commits)\n  ide: use proper printk() KERN_* levels in ide-probe.c\n  ide: fix for EATA SCSI HBA in ATA emulating mode\n  ide: remove stale comments from drivers/ide/Makefile\n  ide: enable local IRQs in all handlers for TASKFILE_NO_DATA data phase\n  ide-scsi: remove kmalloced struct request\n  ht6560b: remove old history\n  ht6560b: update email address\n  ide-cd: fix oops when using growisofs\n  gayle: release resources on ide_host_add() failure\n  palm_bk3710: add UltraDMA/100 support\n  ide: trivial sparse annotations\n  ide: ide-tape.c sparse annotations and unaligned access removal\n  ide: drop \u0027name\u0027 parameter from -\u003einit_chipset method\n  ide: prefix messages from IDE PCI host drivers by driver name\n  it821x: remove DECLARE_ITE_DEV() macro\n  it8213: remove DECLARE_ITE_DEV() macro\n  ide: include PCI device name in messages from IDE PCI host drivers\n  ide: remove \u003casm/ide.h\u003e for some archs\n  ide-generic: remove ide_default_{io_base,irq}() inlines (take 3)\n  ide-generic: is no longer needed on ppc32\n  ...\n"
    },
    {
      "commit": "5042d99795d3d817bef2f4cc46e953bee9bf7398",
      "tree": "9263e28b67093eca6edd221f04830e5841f67c57",
      "parents": [
        "5c402355adf8f920531f02099f4ec0d2bccd4c64",
        "f17a077e61b627e58db5926bc474cf308318dad9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 13:57:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 13:57:13 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:\n  PCI: fixup sparse endianness warnings in proc.c\n  PCI PM: make more PCI PM core functionality available to drivers\n  PCI/DMAR: don\u0027t assume presence of RMRRs\n  PCI hotplug: fix error path in pci_slot\u0027s register_slot\n"
    },
    {
      "commit": "a326b02b0c576001353dbc489154959b0889c6bf",
      "tree": "e56e768bcd078778fb4a0202a4be8e1a4460765f",
      "parents": [
        "ced3ec8aa7d0fa3300187ee47c144a22ccfc974e"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu Jul 24 22:53:33 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu Jul 24 22:53:33 2008 +0200"
      },
      "message": "ide: drop \u0027name\u0027 parameter from -\u003einit_chipset method\n\nThere should be no functional changes caused by this patch.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "2a8f7450f828eaee49d66f41f99ac2e54f1160a6",
      "tree": "e8762e9add74953a32ebd86c019638e5ed2d484d",
      "parents": [
        "f01d35d87f39ab794ddcdefadb79c11054bcbfbc"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu Jul 24 22:53:31 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu Jul 24 22:53:31 2008 +0200"
      },
      "message": "ide: remove \u003casm/ide.h\u003e for some archs\n\n* Remove \u003clinux/irq.h\u003e include from \u003casm-ia64.h\u003e (\u003clinux/ide.h\u003e includes\n  \u003clinux/interrupt.h\u003e which is enough).\n\n* Remove \u003casm/ide.h\u003e for alpha/blackfin/h8300/ia64/m32r/sh/x86/xtensa\n  (this leaves us with arm/frv/m68k/mips/mn10300/parisc/powerpc/sparc[64]).\n\nThere should be no functional changes caused by this patch.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "f01d35d87f39ab794ddcdefadb79c11054bcbfbc",
      "tree": "018c211b22e57819cc8456b4d85993bbdda92246",
      "parents": [
        "35bbac9a2f73a7e0967d0a1d3e3673e2590ef716"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu Jul 24 22:53:31 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu Jul 24 22:53:31 2008 +0200"
      },
      "message": "ide-generic: remove ide_default_{io_base,irq}() inlines (take 3)\n\nReplace ide_default_{io_base,irq}() inlines by legacy_{bases,irqs}[].\n\nv2:\nAdd missing zero-ing of hws[] (caught during testing by Borislav Petkov).\n\nv3:\nFix zero-oing of hws[] for _real_ this time.\n\nThere should be no functional changes caused by this patch.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "ffed0b6e1a6f5132681d4b521531d992f893190b",
      "tree": "35894dcc2e2458cedf382ad59d272f4c3a33817d",
      "parents": [
        "d83b8b85cd56a083d30df73f3fd5e4714591b910"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu Jul 24 22:53:30 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu Jul 24 22:53:30 2008 +0200"
      },
      "message": "ide-generic: remove broken PPC_PREP support\n\nPPC_PREP has been depending on BROKEN for some time now.\n\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "d83b8b85cd56a083d30df73f3fd5e4714591b910",
      "tree": "1fac379e8d909361ecbf934645463a00e706dafc",
      "parents": [
        "2c9d86438a0104800da2a8ecdc1e27baf38ba6a4"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu Jul 24 22:53:30 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu Jul 24 22:53:30 2008 +0200"
      },
      "message": "ide: define MAX_HWIFS in \u003clinux/ide.h\u003e\n\n* Now that ide_hwif_t instances are allocated dynamically\n  the difference between MAX_HWIFS \u003d\u003d 2 and MAX_HWIFS \u003d\u003d 10\n  is ~100 bytes (x86-32) so use MAX_HWIFS \u003d\u003d 10 on all archs\n  except these ones that use MAX_HWIFS \u003d\u003d 1.\n\n* Define MAX_HWIFS in \u003clinux/ide.h\u003e instead of \u003casm/ide.h\u003e.\n\n[ Please note that avr32/cris/v850 have no \u003casm/ide.h\u003e\n  and alpha/ia64/sh always define CONFIG_IDE_MAX_HWIFS. ]\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "2c9d86438a0104800da2a8ecdc1e27baf38ba6a4",
      "tree": "0767991fd5b57460d8f656a2391b11c1c9ac4800",
      "parents": [
        "b6cd7da5be2522b62bbc48d41b36c828b88e02fe"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu Jul 24 22:53:29 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu Jul 24 22:53:29 2008 +0200"
      },
      "message": "ide: remove \u003casm-cris/ide.h\u003e\n\nRemove \u003casm-cris/arch-v{10,32}/ide.h\u003e and \u003casm-cris/ide.h\u003e.\n\nThis has been a broken code for some time now and needs rewrite\nto match IDE core code / host driver model anyway.\n\nCc: Jesper Nilsson \u003cJesper.Nilsson@axis.com\u003e\nCc: Mikael Starvik \u003cmikael.starvik@axis.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "b6cd7da5be2522b62bbc48d41b36c828b88e02fe",
      "tree": "9c6089a431dfb7cd1539413656d343454607fdbe",
      "parents": [
        "dbdec839c4c2bfc8f2da8e50c06b9947e5ad0394"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu Jul 24 22:53:28 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu Jul 24 22:53:28 2008 +0200"
      },
      "message": "ide-generic: remove \"no_pci_devices()\" quirk from ide_default_io_base()\n\nSince the decision to probe for ISA ide2-6 is now left to the user\n\"no_pci_devices()\" quirk is no longer needed and may be removed.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "dbdec839c4c2bfc8f2da8e50c06b9947e5ad0394",
      "tree": "275b7dd6c07c5a6ecd0ee1b9c91b6a3ad407e2cc",
      "parents": [
        "ac32f3238c1d95a6ebea2c312160dbdbd61bf91c"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu Jul 24 22:53:28 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu Jul 24 22:53:28 2008 +0200"
      },
      "message": "ide-generic: minor fix for mips\n\nMove ide_probe_legacy() call to ide_generic_init() so it fails\nearly if necessary and returns the proper error value (nowadays\nide_default_io_base() is used only by ide-generic).\n\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "ac32f3238c1d95a6ebea2c312160dbdbd61bf91c",
      "tree": "92ac5f6b95a292d11782c1faec81dde8acc9af70",
      "parents": [
        "b0a62817961796f6dcef5f316134d8bc7279bf6e"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu Jul 24 22:53:27 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu Jul 24 22:53:27 2008 +0200"
      },
      "message": "ide-generic: fix ide_default_io_base() for m32r\n\nFix ide_default_io_base() to match ide_default_irq().\n\nCc: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "b0a62817961796f6dcef5f316134d8bc7279bf6e",
      "tree": "753dfba8a021be728d2a59ae4e0e16f4a3cd2f86",
      "parents": [
        "37c5ef56989717d871d048f98fb6411e7a17c43d"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu Jul 24 22:53:27 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu Jul 24 22:53:27 2008 +0200"
      },
      "message": "ide: fix \u003casm-xtensa/ide.h\u003e\n\n* Add missing \u003casm-generic/ide_iops.h\u003e include.\n\nWhile at it:\n\n* Remove needless ide_default_{irq,io_base}() inlines.\n\nCc: Chris Zankel \u003cchris@zankel.net\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "ef0b04276d8f719d754c092434fbd62c2aeb5307",
      "tree": "8e39ed4e4f35dcfcb83c0331a68d4e3a2deb823c",
      "parents": [
        "37525bebcfc15a1fe5a9cb50bf49b21bf43559c1"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu Jul 24 22:53:19 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu Jul 24 22:53:19 2008 +0200"
      },
      "message": "ide: add ide_pci_remove() helper\n\n* Add \u0027unsigned long host_flags\u0027 field to struct ide_host.\n\n* Set -\u003ehost_flags in ide_host_alloc_all().\n\n* Always set PCI dev\u0027s -\u003edriver_data in ide_pci_init_{one,two}().\n\n* Add ide_pci_remove() helper (the default implementation for\n  struct pci_driver\u0027s -\u003eremove method).\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "08da591e14cf87247ec09b17c350235157a92fc3",
      "tree": "d00a02154071c7013c31bc8dd1d3c12c86d5daca",
      "parents": [
        "6cdf6eb357c2681596b7b1672b92396ba82333d4"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu Jul 24 22:53:15 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu Jul 24 22:53:15 2008 +0200"
      },
      "message": "ide: add ide_device_{get,put}() helpers\n\n* Add \u0027struct ide_host *host\u0027 field to ide_hwif_t and set it\n  in ide_host_alloc_all().\n\n* Add ide_device_{get,put}() helpers loosely based on SCSI\u0027s\n  scsi_device_{get,put}() ones.\n\n* Convert IDE device drivers to use ide_device_{get,put}().\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "6cdf6eb357c2681596b7b1672b92396ba82333d4",
      "tree": "a6194373c64616ecb3d1af2c9247a32f50543f97",
      "parents": [
        "8c2eece50a368c7986bae0b3e52739558dd71b51"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu Jul 24 22:53:14 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu Jul 24 22:53:14 2008 +0200"
      },
      "message": "ide: add -\u003edev and -\u003ehost_priv fields to struct ide_host\n\n* Add \u0027struct device *dev[2]\u0027 and \u0027void *host_priv\u0027 fields\n  to struct ide_host.\n\n* Set -\u003edev[] in ide_host_alloc_all()/ide_setup_pci_device[s]().\n\n* Pass \u0027void *priv\u0027 argument to ide_setup_pci_device[s]()\n  and use it to set -\u003ehost_priv.\n\n* Set PCI dev\u0027s -\u003edriver_data to point to the struct ide_host\n  instance if PCI host driver wants to use -\u003ehost_priv.\n\n* Rename ide_setup_pci_device[s]() to ide_pci_init_{one,two}().\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "5c402355adf8f920531f02099f4ec0d2bccd4c64",
      "tree": "eba326f8df01efc0d384874839384040401f5b45",
      "parents": [
        "ecc8b655b38a880b578146895e0e1e2d477ca2c0",
        "2cc177364e4746becdf421f926fb967c047ccc32"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 12:56:07 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 12:56:07 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:\n  MAINTAINERS: Remove Glenn Streiff from NetEffect entry\n  mlx4_core: Improve error message when not enough UAR pages are available\n  IB/mlx4: Add support for memory management extensions and local DMA L_Key\n  IB/mthca: Keep free count for MTT buddy allocator\n  mlx4_core: Keep free count for MTT buddy allocator\n  mlx4_code: Add missing FW status return code\n  IB/mlx4: Rename struct mlx4_lso_seg to mlx4_wqe_lso_seg\n  mlx4_core: Add module parameter to enable QoS support\n  RDMA/iwcm: Remove IB_ACCESS_LOCAL_WRITE from remote QP attributes\n  IPoIB: Include err code in trace message for ib_sa_path_rec_get() failures\n  IB/sa_query: Check if sm_ah is NULL in ib_sa_remove_one()\n  IB/ehca: Release mutex in error path of alloc_small_queue_page()\n  IB/ehca: Use default value for Local CA ACK Delay if FW returns 0\n  IB/ehca: Filter PATH_MIG events if QP was never armed\n  IB/iser: Add support for RDMA_CM_EVENT_ADDR_CHANGE event\n  RDMA/cma: Add RDMA_CM_EVENT_TIMEWAIT_EXIT event\n  RDMA/cma: Add RDMA_CM_EVENT_ADDR_CHANGE event\n"
    },
    {
      "commit": "ecc8b655b38a880b578146895e0e1e2d477ca2c0",
      "tree": "4acce96bac00909fa9472f0c0669714243ea5bee",
      "parents": [
        "2528ce3237be4e900f5eaa455490146e1422e424",
        "e338125b8a886923ba8367207c144764dc352584"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 12:55:01 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 12:55:01 2008 -0700"
      },
      "message": "Merge branch \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  nohz: adjust tick_nohz_stop_sched_tick() call of s390 as well\n  nohz: prevent tick stop outside of the idle loop\n"
    },
    {
      "commit": "6044110742bc2ae0577b962985e7c63e0634b2e9",
      "tree": "ab32f95f2b073d2bfcdf39909a718aa69ad127c6",
      "parents": [
        "7540081c6b16dc941895bca840749cabfd0d3b48",
        "04bbe430f73c6c31bbd067349c029e907e153a8d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 12:33:51 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 12:33:51 2008 -0700"
      },
      "message": "Merge branch \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86: fix header export, asm-x86/processor-flags.h, CONFIG_* leaks\n  x86: BUILD_IRQ say .text to avoid .data.percpu\n  xen: don\u0027t use sysret for sysexit32\n  x86: call early_cpu_init at the same point\n"
    },
    {
      "commit": "7540081c6b16dc941895bca840749cabfd0d3b48",
      "tree": "9e6b2270d700bf99489b570aa2b4c2c0b6cd0ead",
      "parents": [
        "3fde80e94c2bbffbb13f5faa3340cf438440ebea",
        "b552068999b0b05087c454e525b30b785c79dc9b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 12:24:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 12:24:40 2008 -0700"
      },
      "message": "Merge branch \u0027semaphore\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc\n\n* \u0027semaphore\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc:\n  Remove __DECLARE_SEMAPHORE_GENERIC\n  Remove asm/semaphore.h\n  Remove use of asm/semaphore.h\n  Add missing semaphore.h includes\n  Remove mention of semaphores from kernel-locking\n"
    },
    {
      "commit": "3fde80e94c2bbffbb13f5faa3340cf438440ebea",
      "tree": "43eeac74dc34596772b9d9883e9208da8ae84184",
      "parents": [
        "ac9f80ad16e6e934b6c1f12f82d27889c0f9abcc",
        "9b0e74102494971ca37a425c63031fea68bb5b79"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 12:17:19 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 12:17:19 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:\n  m68knommu: put ColdFire head code into .text.head section\n  m68knommu: remove last use of CONFIG_FADS and CONFIG_RPXCLASSIC\n  m68knommu: remove RPXCLASSIC from the m68k tree\n  m68knommu: fec: remove FADS\n  m68knommu: MCF5307 PIT GENERIC_CLOCKEVENTS support\n  m68knommu: add read_barrier_depends() and irqs_disabled_flags()\n  m68knommu: add byteswap assembly opcode for ISA A+\n  m68knommu: add ffs and __ffs plattform which support ISA A+ or ISA C\n  m68knommu: add sched_clock() for the DMA timer\n  m68knommu: complete generic time\n  m68knommu: move code within time.c\n  m68knommu: m68knommu: add old stack trace method\n  m68knommu: Add Coldfire DMA Timer support\n  m68knommu: defconfig for M5407C3 board\n  m68knommu: defconfig for M5307C3 board\n  m68knommu: defconfig for M5275EVB board\n  m68knommu: defconfig for M5249EVB board\n  m68knommu: change to a configs directory for board configurations\n"
    },
    {
      "commit": "c54554d388369f7f88ddcbe285ca96f7fb8a2d4b",
      "tree": "5911607c237fc77d36787b813250ee64fdb41dd6",
      "parents": [
        "4378dcca8578b0fd0fba883a3354ad4820d4f85f",
        "fe3025b55c8ed06929afe94e9c9095fc19d15aa0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 12:16:02 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 12:16:02 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.o-hand.com/linux-rpurdie-leds\n\n* \u0027for-linus\u0027 of git://git.o-hand.com/linux-rpurdie-leds:\n  leds: Ensure led-\u003etrigger is set earlier\n  leds: Add support for Philips PCA955x I2C LED drivers\n  leds: Fix sparse warnings in leds-h1940 driver\n  leds: mark led_classdev.default_trigger as const\n  leds: fix unsigned value overflow in atmel pwm driver\n  leds: Add pca9532 platform data for Thecus N2100\n  leds: Add pca9532 led driver\n"
    },
    {
      "commit": "f9247273cb69ba101877e946d2d83044409cc8c5",
      "tree": "e173999eddfa9954550f221730feb8c03ebfc743",
      "parents": [
        "b340e8a57ef381e69c99a7a8ede61a6bf71a8014"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jul 24 17:22:13 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 11:50:15 2008 -0700"
      },
      "message": "UFS: add const to parser token table\n\nThis patch adds a \"const\" to the parser token table. I\u0027ve done an\nallmodconfig build to see if this produces any warnings/failures and the\npatch includes a fix for the only warning that was produced.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nAcked-by: Alexander Viro \u003caviro@redhat.com\u003e\nAcked-by: Evgeniy Dushistov \u003cdushistov@mail.ru\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5bb49fcd501aa9fd3d321a22b7c01d9b0db7ab36",
      "tree": "056028eae394c961fd45aade9a22f406d0b747bb",
      "parents": [
        "cba603bf514c101bf48f6adf393c3d00ed457a57"
      ],
      "author": {
        "name": "Philippe De Muyter",
        "email": "phdm@macqel.be",
        "time": "Wed Jul 23 21:31:50 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:41 2008 -0700"
      },
      "message": "video/fb: cleanup FB_MAJOR usage\n\nCurrently, linux/major.h defines a GRAPHDEV_MAJOR (29) that nobody uses,\nand linux/fb.h defines the real FB_MAJOR (also 29), that only fbmem.c\nneeds.  Drop GRAPHDEV_MAJOR from major.h, move FB_MAJOR definition from\nfb.h to major.h, and fix fbmem.c to use major.h\u0027s definition.\n\nSigned-off-by: Philippe De Muyter \u003cphdm@macqel.be\u003e\nCc: Krzysztof Helt \u003ckrzysztof.h1@poczta.fm\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": "3e074058d72486676f6fdf6fe803200c62dcb403",
      "tree": "de9d8c426198e9a10a04593abe8011c1e1822564",
      "parents": [
        "2d04a4a72d7e1519b4838f24bdd4b5d0f3f426dc"
      ],
      "author": {
        "name": "Hans-Christian Egtvedt",
        "email": "hans-christian.egtvedt@atmel.com",
        "time": "Wed Jul 23 21:31:48 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:41 2008 -0700"
      },
      "message": "fbdev: LCD backlight driver using Atmel PWM driver\n\nThis patch adds a platform driver using the ATMEL PWM driver to control a\nbacklight which requires a PWM signal and optional GPIO signal for discrete\non/off signal.  It has been tested on Favr-32 board from EarthLCD.\n\nThe driver is configurable by supplying a struct with the platform data.  See\nthe include/linux/atmel-pwm-bl.h for details.\n\nThe board code for Favr-32 will be submitted to the AVR32 kernel list.\n\nSigned-off-by: Hans-Christian Egtvedt \u003chans-christian.egtvedt@atmel.com\u003e\nCc: Krzysztof Helt \u003ckrzysztof.h1@poczta.fm\u003e\nCc: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4a25e41831ee851c1365d8b41decc22493b18e6d",
      "tree": "0612f52c1588f314df12a26059418a462ac69acc",
      "parents": [
        "c6b044d6bab5e2878d408666469362fc200a889a"
      ],
      "author": {
        "name": "Nobuhiro Iwamatsu",
        "email": "iwamatsu.nobuhiro@renesas.com",
        "time": "Wed Jul 23 21:31:46 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:41 2008 -0700"
      },
      "message": "video: sh7760fb: SH7760/SH7763 LCDC framebuffer driver\n\nFramebuffer driver for the SH7760/SH7763 integrated LCD controller.\n\nSigned-off-by: Manuel Lauss \u003cmano@roarinelk.homelinux.net\u003e\nSigned-off-by: Nobuhiro Iwamatsu \u003ciwamatsu.nobuhiro@renesas.com\u003e\nReviewed-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Krzysztof Helt \u003ckrzysztof.h1@poczta.fm\u003e\nCc: \"Antonino A. Daplas\" \u003cadaplas@pol.net\u003e\nCc: Siegfried Schaefer \u003cs.schaefer@schaefer-edv.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c6b044d6bab5e2878d408666469362fc200a889a",
      "tree": "a3602353fa55bcfbce9f28c628ac623029059530",
      "parents": [
        "1ca6b62f8ca668ccfab0da9112c0125ef82343bd"
      ],
      "author": {
        "name": "Krzysztof Helt",
        "email": "krzysztof.h1@wp.pl",
        "time": "Wed Jul 23 21:31:45 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:41 2008 -0700"
      },
      "message": "neofb: drop the xtimings structure\n\nRemove the xtimings structure which only stored some values to be used\nlater (mostly once).  Calculate and use these values in places they are\nneeded.\n\nSigned-off-by: Krzysztof Helt \u003ckrzysztof.h1@wp.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c25826a7cf1c61b5c6e6db8365172eb97ef39ef3",
      "tree": "804f258dd954ae0de2d141ac04e48acfd9f74315",
      "parents": [
        "0c531360ed504aa0ce995fcb8ef08e82b6534d0b"
      ],
      "author": {
        "name": "Ben Dooks",
        "email": "ben-linux@fluff.org",
        "time": "Wed Jul 23 21:31:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:40 2008 -0700"
      },
      "message": "lcd: add platform_lcd driver\n\nAdd a platform_lcd driver to allow boards with simple lcd power controls\nto register themselves easily.\n\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Ben Dooks \u003cben-linux@fluff.org\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0c531360ed504aa0ce995fcb8ef08e82b6534d0b",
      "tree": "9062cea313b833c57f3284653608d39df580a323",
      "parents": [
        "cccb6d3c149603b9c15d3c460dff317455df1766"
      ],
      "author": {
        "name": "Ben Dooks",
        "email": "ben-linux@fluff.org",
        "time": "Wed Jul 23 21:31:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:40 2008 -0700"
      },
      "message": "lcd: add lcd_device to check_fb() entry in lcd_ops\n\nAdd the lcd_device being checked to the check_fb entry of lcd_ops.  This\nensures that any driver using this to check against it\u0027s own state can do\nso, and also makes all the calls in lcd_ops more orthogonal in their\narguments.\n\nSigned-off-by: Ben Dooks \u003cben-linux@fluff.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cccb6d3c149603b9c15d3c460dff317455df1766",
      "tree": "f10a0e1a546d4a80cac95092b544544473da533f",
      "parents": [
        "d05254190dd1a4751284f4a51efb70fcc16c45a4"
      ],
      "author": {
        "name": "Ben Dooks",
        "email": "ben-linux@fluff.org",
        "time": "Wed Jul 23 21:31:37 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:40 2008 -0700"
      },
      "message": "fb: add support for the ILI9320 video display controller\n\nProvide support for the ILI9320 display controller chip which is found in\nmany LCD displays.  Included with this is support for an example LCD using\nthis chip, the VGG2432A4.\n\nSigned-off-by: Ben Dooks \u003cben-linux@fluff.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "206c5d69d0540024faffd423fc703f1e457332d7",
      "tree": "d635ae03771773eaae3f56bcd967dd5781244a5a",
      "parents": [
        "968910bd03b226ed410d092c2da59dffe5bfe8de"
      ],
      "author": {
        "name": "Ben Dooks",
        "email": "ben-linux@fluff.org",
        "time": "Wed Jul 23 21:31:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:40 2008 -0700"
      },
      "message": "sm501: add inversion controls for VBIASEN and FPEN\n\nAdd flags to allow the driver to invert the sense of both VBIASEN and FPEN\nsignals comming from the SM501.\n\nSigned-off-by: Ben Dooks \u003cben-linux@fluff.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cfb4f5d1750e05f43902197713c50c29e7dfbc99",
      "tree": "b3661d617cf17fcd2ec672719360608d61f7faec",
      "parents": [
        "c2c12155cf05bf3e25eeae5711beffc634505400"
      ],
      "author": {
        "name": "Magnus Damm",
        "email": "magnus.damm@gmail.com",
        "time": "Wed Jul 23 21:31:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:38 2008 -0700"
      },
      "message": "fbdev: SuperH Mobile LCDC Driver\n\nThis is the SuperH Mobile LCDC frame buffer driver V2, adding support for\nthe LCDC block found in SuperH Mobile processors.  The hardware supports\nup to two LCD panels per LCDC block, and both RGB and SYS interfaces can\nbe used to hook up LCD panels/modules.\n\nThe device driver is a regular platform driver, so LCD configuration and\nboard specific hooks are passed to the driver using platform data.  LCD\nmodules using SYS interface often require special configuration using the\nSYS bus, and to solve this cleanly the driver provides SYS interface\noperations to the board code.\n\nTested on sh7723 and sh7722 processors with a SYS16A QVGA panel and WVGA\npanels using RGB16 and RGB18 interfaces.\n\nSigned-off-by: Magnus Damm \u003cdamm@igel.co.jp\u003e\nAcked-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nReviewed-by: Krzysztof Helt \u003ckrzysztof.h1@poczta.fm\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d22579b837358cbef12ccca5adaf7e93ae09ab7a",
      "tree": "9da030058cc894372e7d5d0356447d1f6a14804b",
      "parents": [
        "77a6e7abb09de0e85a15e2fe42c21ffc59847759"
      ],
      "author": {
        "name": "Nicolas Ferre",
        "email": "nicolas.ferre@atmel.com",
        "time": "Wed Jul 23 21:31:20 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:37 2008 -0700"
      },
      "message": "atmel_lcdfb: FIFO underflow management\n\nManage atmel_lcdfb FIFO underflow\n\nResetting the LCD and DMA allows to fix screen shifting after a FIFO\nunderflow.  It follows reset sequence from errata \"LCD Screen Shifting\nAfter a Reset\".\n\nSigned-off-by: Nicolas Ferre \u003cnicolas.ferre@atmel.com\u003e\nCc: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nCc: Andrew Victor \u003clinux@maxim.org.za\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0292be4a382957016e8b574dc292779cfb49e029",
      "tree": "dc583df0ad19e5fc2f7cfa294cbd6ade9ad4a87b",
      "parents": [
        "6280fd4f9c2683a4d2f096320dd74ded4e5106ad"
      ],
      "author": {
        "name": "Krzysztof Helt",
        "email": "krzysztof.h1@wp.pl",
        "time": "Wed Jul 23 21:31:08 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:36 2008 -0700"
      },
      "message": "tridentfb: add imageblit acceleration for Blade3D family\n\nAdd imageblit acceleration for the Blade3D family of cores.  The code is\nbased on code from the cyblafb driver.\n\nIt is a step toward assimilating back the cyblafb driver into the\ntridentfb driver.  The cyblafb driver handles a subfamily of the Trident\nBlade3d cores.\n\nSigned-off-by: Krzysztof Helt \u003ckrzysztof.h1@wp.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5cf138457af20b0ef79d8c249381927718ca1417",
      "tree": "074c1dcf0682d41f2af44710f40d34b7cdbe190a",
      "parents": [
        "01a2d9ed85c945fc8a672622780533a1a0b7caf5"
      ],
      "author": {
        "name": "Krzysztof Helt",
        "email": "krzysztof.h1@wp.pl",
        "time": "Wed Jul 23 21:31:05 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:36 2008 -0700"
      },
      "message": "tridentfb: source code improvements\n\nThis patch contains general source code improvments:\n - more simple functions are inline\n - removes some meaningless output and the VERSION\n   string as it is no use\n - eng_par is moved into the tridentfb_par\n - removed small section of code for CyberBladeXPAi1\n   which is maybe right for only one resolution\n   and refresh rate and is probably redundant now\n - other minor improvements\n\nSigned-off-by: Krzysztof Helt \u003ckrzysztof.h1@wp.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "01a2d9ed85c945fc8a672622780533a1a0b7caf5",
      "tree": "4f1f29a479d1dd4e8921223c2abed28bcc980a2a",
      "parents": [
        "34dec24317d6824b7db172bb0072b909a9c376f2"
      ],
      "author": {
        "name": "Krzysztof Helt",
        "email": "krzysztof.h1@wp.pl",
        "time": "Wed Jul 23 21:31:04 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:36 2008 -0700"
      },
      "message": "tridentfb: acceleration constants change\n\nThis patch replaces deprecated constant FB_ACCELF_TEXT with\nFBINFO_HWACCEL_DISABLED and adds constants for Trident families of\naccelerators.\n\nThe FBINFO_HWACCEL_DISABLED is correctly used so noaccel parameter works\nnow.\n\nSigned-off-by: Krzysztof Helt \u003ckrzysztof.h1@wp.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "49b1f4b44bcdc47a10d2b354b269305043ef2a32",
      "tree": "cad5923a13f7fd051fd7d7b903778ce36f9985e8",
      "parents": [
        "bcac2d5fe36238dcfc955b49f9db10ad3ae3e53c"
      ],
      "author": {
        "name": "Krzysztof Helt",
        "email": "krzysztof.h1@wp.pl",
        "time": "Wed Jul 23 21:31:02 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:36 2008 -0700"
      },
      "message": "tridentfb: acceleration code improvements\n\nThis patch brings various acceleration improvements:\n- set  copyarea/fillrect for non-accelerated framebuffer (fix)\n- remove 15 bpp depth handling to simplify code as it hardly\n  works (15 bpp handling was obviously missing in some switches)\n- add fb_sync call and move waiting before accelerated function\n  to make acceleration more asynchronous to cpu (few % of speed\n  improvement)\n- add cpu_relax() call in waiting loops\n- make longer register names and name more registers\n- move registers\u0027 definition to header\n- general code improvements (shortening, simplifying)\n\nSigned-off-by: Krzysztof Helt \u003ckrzysztof.h1@wp.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a0d922562d56073f147a4de2983bee499dd2a10e",
      "tree": "86fce6fb130a67888c89644416fa4e78c0f1fb7e",
      "parents": [
        "0e73a47f094a919e2edeaa88e840cd0400adc423"
      ],
      "author": {
        "name": "Krzysztof Helt",
        "email": "krzysztof.h1@wp.pl",
        "time": "Wed Jul 23 21:30:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:35 2008 -0700"
      },
      "message": "tridentfb: add TGUI 9440 support\n\nAdd support for TGUI 9440 chip.\n\nSigned-off-by: Krzysztof Helt \u003ckrzysztof.h1@wp.pl\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": "0e73a47f094a919e2edeaa88e840cd0400adc423",
      "tree": "4eeb0ac9c9d0e41ea42aa5dfb8fb3873a99ef271",
      "parents": [
        "3876ae8beb2c7c19e21279b9603b1244fcd744dd"
      ],
      "author": {
        "name": "Krzysztof Helt",
        "email": "krzysztof.h1@wp.pl",
        "time": "Wed Jul 23 21:30:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:35 2008 -0700"
      },
      "message": "tridentfb: improved register values on TGUI 9680\n\nImproved values for some registers after Xorg Trident driver.  The main\nproblem was that values set by BIOS have been ignored.\n\nThis patch completely remove random pixels (\"snow\") on the TGUI 9680 and\n9440 (not supported yet by the driver).  It does not help with the \"snow\"\non 3DImage and Blade3D cards.\n\nThere is also small improvement in timing calculations (hblank start and\nvblank start)\n\nSigned-off-by: Krzysztof Helt \u003ckrzysztof.h1@wp.pl\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": "10172ed6dc4d40ff42bf5ce2dd2f65f401a93696",
      "tree": "e13cd83ce12cec10a1074db56b9cb289f161e095",
      "parents": [
        "d9cad04bcde00411976402eda726199ac13b29ca"
      ],
      "author": {
        "name": "Krzysztof Helt",
        "email": "krzysztof.h1@wp.pl",
        "time": "Wed Jul 23 21:30:54 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:35 2008 -0700"
      },
      "message": "tridentfb: make use of functions and constants from the vga.h\n\nMake use of functions and constants from the vga.h header to compact the code\nand make it more readable.\n\nSigned-off-by: Krzysztof Helt \u003ckrzysztof.h1@wp.pl\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": "e0759a5fbba12e0f2c9149d85bea1ec7df0178fd",
      "tree": "4bd8e62eefb57379cb152c641622f8ebb04ac119",
      "parents": [
        "6eed8e1ec8532a6cd10c8b27236bde023c52c56a"
      ],
      "author": {
        "name": "Krzysztof Helt",
        "email": "krzysztof.h1@wp.pl",
        "time": "Wed Jul 23 21:30:53 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:35 2008 -0700"
      },
      "message": "tridentfb: convert is_blade and is_xp macros into functions\n\nThis patch converts the is_blade() and is_xp() macros into local functions.\n\nSigned-off-by: Krzysztof Helt \u003ckrzysztof.h1@wp.pl\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": "6eed8e1ec8532a6cd10c8b27236bde023c52c56a",
      "tree": "d992c96807c7e2e25666d09a154316241ba6de8f",
      "parents": [
        "122e8ad3cbf172043ea93f2db8e107fa9f9b0192"
      ],
      "author": {
        "name": "Krzysztof Helt",
        "email": "krzysztof.h1@wp.pl",
        "time": "Wed Jul 23 21:30:53 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:35 2008 -0700"
      },
      "message": "tridentfb: move global flat panel variable into structure\n\nThis patch moves flat panel indicator into tridentfb_par structure and removes\nrelated global variables and macros.\n\nSigned-off-by: Krzysztof Helt \u003ckrzysztof.h1@wp.pl\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": "d3de851a445123f24ad8ece18662014b5e8a8b4e",
      "tree": "44ef8b43208ba8a071fcd4d4b22e76c55881836d",
      "parents": [
        "53e84b672c1a8190af2b376c35c7a39cf1214f59"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Wed Jul 23 21:30:37 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:33 2008 -0700"
      },
      "message": "rtc: BCD codeshrink\n\nThis updates \u003clinux/bcd.h\u003e to define the key routines as constant\nfunctions, which the macros will then call.  Newer code can now call\nbcd2bin() instead of SCREAMING BCD2BIN() TO THE FOUR WINDS.\n\nThis lets each driver shrink their codespace by using N function calls to\na single (global) copy of those routines, instead of N inlined copies of\nthese functions per driver.\n\nThese routines aren\u0027t used in speed-critical code.  Almost all callers are\nin the RTC framework.  Typical per-driver savings is near 300 bytes.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nAcked-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "53e84b672c1a8190af2b376c35c7a39cf1214f59",
      "tree": "660b29a2ecde189abf799ff3bb5c142434707638",
      "parents": [
        "8fc2c767b06067b417c565c4e75731e68ed41fd8"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Wed Jul 23 21:30:36 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:33 2008 -0700"
      },
      "message": "rtc: ds1305/ds1306 driver\n\nSupport the Dallas/Maxim DS1305 and DS1306 RTC chips.  These use SPI, and\nsupport alarms, NVRAM, and a trickle charger for use when their backup\npower supply is a supercap or rechargeable cell.\n\nThis basic driver doesn\u0027t yet support suspend/resume or wakealarms.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5ad31a575157147b43fa84ef1e21471661653878",
      "tree": "c4a42d45957362aa8391938ae3e11496321c19d8",
      "parents": [
        "53f1b1433da7eac2607a4a0898a221a4485fd732"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Wed Jul 23 21:30:33 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:33 2008 -0700"
      },
      "message": "rtc: remove BKL for ioctl()\n\nRemove implicit use of BKL in ioctl() from the RTC framework.\n\nInstead, the rtc-\u003eops_lock is used.  That\u0027s the same lock that already\nprotects the RTC operations when they\u0027re issued through the exported\nrtc_*() calls in drivers/rtc/interface.c ...  making this a bugfix, not\njust a cleanup, since both ioctl calls and set_alarm() need to update IRQ\nenable flags and that implies a common lock (which RTC drivers as a rule\ndo not provide on their own).\n\nA new comment at the declaration of \"struct rtc_class_ops\" summarizes\ncurrent locking rules.  It\u0027s not clear to me that the exceptions listed\nthere should exist ...  if not, those are pre-existing problems which can\nbe fixed in a patch that doesn\u0027t relate to BKL removal.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Jonathan Corbet \u003ccorbet@lwn.net\u003e\nAcked-by: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "aa55ddf340c9fa3f303ee16bbf35887e42c50304",
      "tree": "62194eef352ef852e6da1a9a3b685d2f56ac9c3b",
      "parents": [
        "06a3598552dc3b2b30eb18bd53bbac2a901489d7"
      ],
      "author": {
        "name": "Ian Kent",
        "email": "raven@themaw.net",
        "time": "Wed Jul 23 21:30:29 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:33 2008 -0700"
      },
      "message": "autofs4: remove unused ioctls\n\nThe ioctls AUTOFS_IOC_TOGGLEREGHOST and AUTOFS_IOC_ASKREGHOST were added\nseveral years ago but what they were intended for has never been\nimplemented (as far as I\u0027m aware noone uses them) so remove them.\n\nSigned-off-by: Ian Kent \u003craven@themaw.net\u003e\nReviewed-by: Jeff Moyer \u003cjmoyer@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": "3a93a159c61e38a12f7ecbb3a25cf3f012abcf7a",
      "tree": "e0511aab3bdf590633987f9f8e0de1f9d0f72342",
      "parents": [
        "4ef754b7d7971a704d5b1b4608839da1bae37e5e"
      ],
      "author": {
        "name": "Manuel Lauss",
        "email": "mano@roarinelk.homelinux.net",
        "time": "Wed Jul 23 21:29:56 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:30 2008 -0700"
      },
      "message": "spi: au1550_spi: proper platform device\n\nRemove the Au1550 resource table and instead extract MMIO/IRQ/DMA\nresources from platform resource information like any well-behaved\nplatform driver.\n\nSigned-off-by: Manuel Lauss \u003cmano@roarinelk.homelinux.net\u003e\nSigned-off-by: Jan Nikitenko \u003cjan.nikitenko@gmail.com\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "102eb97564c73ea73645b38599c5cbe6f54b030c",
      "tree": "c054ffd980f35d14c569204fc4dcd995544817d3",
      "parents": [
        "6291fe2abce4689d6ee7cbaea16692c79bf0d01b"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed Jul 23 21:29:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:30 2008 -0700"
      },
      "message": "spi: make spi_board_info.modalias a char array\n\nCurrently, \u0027modalias\u0027 in the spi_device structure is a \u0027const char *\u0027.\nThe spi_new_device() function fills in the modalias value from a passed in\nspi_board_info data block.  Since it is a pointer copy, the new spi_device\nremains dependent on the spi_board_info structure after the new spi_device\nis registered (no other fields in spi_device directly depend on the\nspi_board_info structure; all of the other data is copied).\n\nThis causes a problem when dynamically propulating the list of attached\nSPI devices.  For example, in arch/powerpc, the list of SPI devices can be\npopulated from data in the device tree.  With the current code, the device\ntree adapter must kmalloc() a new spi_board_info structure for each new\nSPI device it finds in the device tree, and there is no simple mechanism\nin place for keeping track of these allocations.\n\nThis patch changes modalias from a \u0027const char *\u0027 to a fixed char array.\nBy copying the modalias string instead of referencing it, the dependency\non the spi_board_info structure is eliminated and an outside caller does\nnot need to maintain a separate spi_board_info allocation for each device.\n\nIf searched through the code to the best of my ability for any references\nto modalias which may be affected by this change and haven\u0027t found\nanything.  It has been tested with the lite5200b platform in arch/powerpc.\n\n[dbrownell@users.sourceforge.net: cope with linux-next changes: KOBJ_NAME_LEN obliterated, etc]\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9fe5ad9c8cef9ad5873d8ee55d1cf00d9b607df0",
      "tree": "49fb04cf552192e566d2aa6e18f40585230cba5a",
      "parents": [
        "e38b36f325153eaadd1c2a7abc5762079233e540"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Wed Jul 23 21:29:43 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:29 2008 -0700"
      },
      "message": "flag parameters add-on: remove epoll_create size param\n\nRemove the size parameter from the new epoll_create syscall and renames the\nsyscall itself.  The updated test program follows.\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n#include \u003cfcntl.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003ctime.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003csys/syscall.h\u003e\n\n#ifndef __NR_epoll_create2\n# ifdef __x86_64__\n#  define __NR_epoll_create2 291\n# elif defined __i386__\n#  define __NR_epoll_create2 329\n# else\n#  error \"need __NR_epoll_create2\"\n# endif\n#endif\n\n#define EPOLL_CLOEXEC O_CLOEXEC\n\nint\nmain (void)\n{\n  int fd \u003d syscall (__NR_epoll_create2, 0);\n  if (fd \u003d\u003d -1)\n    {\n      puts (\"epoll_create2(0) failed\");\n      return 1;\n    }\n  int coe \u003d fcntl (fd, F_GETFD);\n  if (coe \u003d\u003d -1)\n    {\n      puts (\"fcntl failed\");\n      return 1;\n    }\n  if (coe \u0026 FD_CLOEXEC)\n    {\n      puts (\"epoll_create2(0) set close-on-exec flag\");\n      return 1;\n    }\n  close (fd);\n\n  fd \u003d syscall (__NR_epoll_create2, EPOLL_CLOEXEC);\n  if (fd \u003d\u003d -1)\n    {\n      puts (\"epoll_create2(EPOLL_CLOEXEC) failed\");\n      return 1;\n    }\n  coe \u003d fcntl (fd, F_GETFD);\n  if (coe \u003d\u003d -1)\n    {\n      puts (\"fcntl failed\");\n      return 1;\n    }\n  if ((coe \u0026 FD_CLOEXEC) \u003d\u003d 0)\n    {\n      puts (\"epoll_create2(EPOLL_CLOEXEC) set close-on-exec flag\");\n      return 1;\n    }\n  close (fd);\n\n  puts (\"OK\");\n\n  return 0;\n}\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nAcked-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@googlemail.com\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "510df2dd482496083e1c3b1a8c9b6afd5fa4c7d7",
      "tree": "cb6fe277b361e13c100d20db5e3689d0e3abca45",
      "parents": [
        "be61a86d7237dd80510615f38ae21d6e1e98660c"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Wed Jul 23 21:29:41 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:29 2008 -0700"
      },
      "message": "flag parameters: NONBLOCK in inotify_init\n\nThis patch adds non-blocking support for inotify_init1.  The\nadditional changes needed are minimal.\n\nThe following test must be adjusted for architectures other than x86 and\nx86-64 and in case the syscall numbers changed.\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n#include \u003cfcntl.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003csys/syscall.h\u003e\n\n#ifndef __NR_inotify_init1\n# ifdef __x86_64__\n#  define __NR_inotify_init1 294\n# elif defined __i386__\n#  define __NR_inotify_init1 332\n# else\n#  error \"need __NR_inotify_init1\"\n# endif\n#endif\n\n#define IN_NONBLOCK O_NONBLOCK\n\nint\nmain (void)\n{\n  int fd \u003d syscall (__NR_inotify_init1, 0);\n  if (fd \u003d\u003d -1)\n    {\n      puts (\"inotify_init1(0) failed\");\n      return 1;\n    }\n  int fl \u003d fcntl (fd, F_GETFL);\n  if (fl \u003d\u003d -1)\n    {\n      puts (\"fcntl failed\");\n      return 1;\n    }\n  if (fl \u0026 O_NONBLOCK)\n    {\n      puts (\"inotify_init1(0) set non-blocking mode\");\n      return 1;\n    }\n  close (fd);\n\n  fd \u003d syscall (__NR_inotify_init1, IN_NONBLOCK);\n  if (fd \u003d\u003d -1)\n    {\n      puts (\"inotify_init1(IN_NONBLOCK) failed\");\n      return 1;\n    }\n  fl \u003d fcntl (fd, F_GETFL);\n  if (fl \u003d\u003d -1)\n    {\n      puts (\"fcntl failed\");\n      return 1;\n    }\n  if ((fl \u0026 O_NONBLOCK) \u003d\u003d 0)\n    {\n      puts (\"inotify_init1(IN_NONBLOCK) set non-blocking mode\");\n      return 1;\n    }\n  close (fd);\n\n  puts (\"OK\");\n\n  return 0;\n}\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nAcked-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@googlemail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "be61a86d7237dd80510615f38ae21d6e1e98660c",
      "tree": "3dfe6c8275c724533f88525970a4065ae795f6e3",
      "parents": [
        "6b1ef0e60d42f2fdaec26baee8327eb156347b4f"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Wed Jul 23 21:29:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:29 2008 -0700"
      },
      "message": "flag parameters: NONBLOCK in pipe\n\nThis patch adds O_NONBLOCK support to pipe2.  It is minimally more involved\nthan the patches for eventfd et.al but still trivial.  The interfaces of the\ncreate_write_pipe and create_read_pipe helper functions were changed and the\none other caller as well.\n\nThe following test must be adjusted for architectures other than x86 and\nx86-64 and in case the syscall numbers changed.\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n#include \u003cfcntl.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003csys/syscall.h\u003e\n\n#ifndef __NR_pipe2\n# ifdef __x86_64__\n#  define __NR_pipe2 293\n# elif defined __i386__\n#  define __NR_pipe2 331\n# else\n#  error \"need __NR_pipe2\"\n# endif\n#endif\n\nint\nmain (void)\n{\n  int fds[2];\n  if (syscall (__NR_pipe2, fds, 0) \u003d\u003d -1)\n    {\n      puts (\"pipe2(0) failed\");\n      return 1;\n    }\n  for (int i \u003d 0; i \u003c 2; ++i)\n    {\n      int fl \u003d fcntl (fds[i], F_GETFL);\n      if (fl \u003d\u003d -1)\n        {\n          puts (\"fcntl failed\");\n          return 1;\n        }\n      if (fl \u0026 O_NONBLOCK)\n        {\n          printf (\"pipe2(0) set non-blocking mode for fds[%d]\\n\", i);\n          return 1;\n        }\n      close (fds[i]);\n    }\n\n  if (syscall (__NR_pipe2, fds, O_NONBLOCK) \u003d\u003d -1)\n    {\n      puts (\"pipe2(O_NONBLOCK) failed\");\n      return 1;\n    }\n  for (int i \u003d 0; i \u003c 2; ++i)\n    {\n      int fl \u003d fcntl (fds[i], F_GETFL);\n      if (fl \u003d\u003d -1)\n        {\n          puts (\"fcntl failed\");\n          return 1;\n        }\n      if ((fl \u0026 O_NONBLOCK) \u003d\u003d 0)\n        {\n          printf (\"pipe2(O_NONBLOCK) does not set non-blocking mode for fds[%d]\\n\", i);\n          return 1;\n        }\n      close (fds[i]);\n    }\n\n  puts (\"OK\");\n\n  return 0;\n}\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nAcked-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@googlemail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6b1ef0e60d42f2fdaec26baee8327eb156347b4f",
      "tree": "84f7e417f0c1f637ed10d42406276cff83849d69",
      "parents": [
        "e7d476dfdf0bcfed478a207aecfdc84f81efecaf"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Wed Jul 23 21:29:39 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:29 2008 -0700"
      },
      "message": "flag parameters: NONBLOCK in timerfd_create\n\nThis patch adds support for the TFD_NONBLOCK flag to timerfd_create.  The\nadditional changes needed are minimal.\n\nThe following test must be adjusted for architectures other than x86 and\nx86-64 and in case the syscall numbers changed.\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n#include \u003cfcntl.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003ctime.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003csys/syscall.h\u003e\n\n#ifndef __NR_timerfd_create\n# ifdef __x86_64__\n#  define __NR_timerfd_create 283\n# elif defined __i386__\n#  define __NR_timerfd_create 322\n# else\n#  error \"need __NR_timerfd_create\"\n# endif\n#endif\n\n#define TFD_NONBLOCK O_NONBLOCK\n\nint\nmain (void)\n{\n  int fd \u003d syscall (__NR_timerfd_create, CLOCK_REALTIME, 0);\n  if (fd \u003d\u003d -1)\n    {\n      puts (\"timerfd_create(0) failed\");\n      return 1;\n    }\n  int fl \u003d fcntl (fd, F_GETFL);\n  if (fl \u003d\u003d -1)\n    {\n      puts (\"fcntl failed\");\n      return 1;\n    }\n  if (fl \u0026 O_NONBLOCK)\n    {\n      puts (\"timerfd_create(0) set non-blocking mode\");\n      return 1;\n    }\n  close (fd);\n\n  fd \u003d syscall (__NR_timerfd_create, CLOCK_REALTIME, TFD_NONBLOCK);\n  if (fd \u003d\u003d -1)\n    {\n      puts (\"timerfd_create(TFD_NONBLOCK) failed\");\n      return 1;\n    }\n  fl \u003d fcntl (fd, F_GETFL);\n  if (fl \u003d\u003d -1)\n    {\n      puts (\"fcntl failed\");\n      return 1;\n    }\n  if ((fl \u0026 O_NONBLOCK) \u003d\u003d 0)\n    {\n      puts (\"timerfd_create(TFD_NONBLOCK) set non-blocking mode\");\n      return 1;\n    }\n  close (fd);\n\n  puts (\"OK\");\n\n  return 0;\n}\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nAcked-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@googlemail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e7d476dfdf0bcfed478a207aecfdc84f81efecaf",
      "tree": "8adc7f4cf562cd0e283d4abdaa0633686a59d8b2",
      "parents": [
        "5fb5e04926a54bc1c22bba7ca166840f4476196f"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Wed Jul 23 21:29:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:29 2008 -0700"
      },
      "message": "flag parameters: NONBLOCK in eventfd\n\nThis patch adds support for the EFD_NONBLOCK flag to eventfd2.  The\nadditional changes needed are minimal.\n\nThe following test must be adjusted for architectures other than x86 and\nx86-64 and in case the syscall numbers changed.\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n#include \u003cfcntl.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003csys/syscall.h\u003e\n\n#ifndef __NR_eventfd2\n# ifdef __x86_64__\n#  define __NR_eventfd2 290\n# elif defined __i386__\n#  define __NR_eventfd2 328\n# else\n#  error \"need __NR_eventfd2\"\n# endif\n#endif\n\n#define EFD_NONBLOCK O_NONBLOCK\n\nint\nmain (void)\n{\n  int fd \u003d syscall (__NR_eventfd2, 1, 0);\n  if (fd \u003d\u003d -1)\n    {\n      puts (\"eventfd2(0) failed\");\n      return 1;\n    }\n  int fl \u003d fcntl (fd, F_GETFL);\n  if (fl \u003d\u003d -1)\n    {\n      puts (\"fcntl failed\");\n      return 1;\n    }\n  if (fl \u0026 O_NONBLOCK)\n    {\n      puts (\"eventfd2(0) sets non-blocking mode\");\n      return 1;\n    }\n  close (fd);\n\n  fd \u003d syscall (__NR_eventfd2, 1, EFD_NONBLOCK);\n  if (fd \u003d\u003d -1)\n    {\n      puts (\"eventfd2(EFD_NONBLOCK) failed\");\n      return 1;\n    }\n  fl \u003d fcntl (fd, F_GETFL);\n  if (fl \u003d\u003d -1)\n    {\n      puts (\"fcntl failed\");\n      return 1;\n    }\n  if ((fl \u0026 O_NONBLOCK) \u003d\u003d 0)\n    {\n      puts (\"eventfd2(EFD_NONBLOCK) does not set non-blocking mode\");\n      return 1;\n    }\n  close (fd);\n\n  puts (\"OK\");\n\n  return 0;\n}\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nAcked-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@googlemail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5fb5e04926a54bc1c22bba7ca166840f4476196f",
      "tree": "999cf1d58e85ca801a03baeba114b9e8d2734249",
      "parents": [
        "77d2720059618b9b6e827a8b73831eb6c6fad63c"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Wed Jul 23 21:29:37 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:29 2008 -0700"
      },
      "message": "flag parameters: NONBLOCK in signalfd\n\nThis patch adds support for the SFD_NONBLOCK flag to signalfd4.  The\nadditional changes needed are minimal.\n\nThe following test must be adjusted for architectures other than x86 and\nx86-64 and in case the syscall numbers changed.\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n#include \u003cfcntl.h\u003e\n#include \u003csignal.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003csys/syscall.h\u003e\n\n#ifndef __NR_signalfd4\n# ifdef __x86_64__\n#  define __NR_signalfd4 289\n# elif defined __i386__\n#  define __NR_signalfd4 327\n# else\n#  error \"need __NR_signalfd4\"\n# endif\n#endif\n\n#define SFD_NONBLOCK O_NONBLOCK\n\nint\nmain (void)\n{\n  sigset_t ss;\n  sigemptyset (\u0026ss);\n  sigaddset (\u0026ss, SIGUSR1);\n  int fd \u003d syscall (__NR_signalfd4, -1, \u0026ss, 8, 0);\n  if (fd \u003d\u003d -1)\n    {\n      puts (\"signalfd4(0) failed\");\n      return 1;\n    }\n  int fl \u003d fcntl (fd, F_GETFL);\n  if (fl \u003d\u003d -1)\n    {\n      puts (\"fcntl failed\");\n      return 1;\n    }\n  if (fl \u0026 O_NONBLOCK)\n    {\n      puts (\"signalfd4(0) set non-blocking mode\");\n      return 1;\n    }\n  close (fd);\n\n  fd \u003d syscall (__NR_signalfd4, -1, \u0026ss, 8, SFD_NONBLOCK);\n  if (fd \u003d\u003d -1)\n    {\n      puts (\"signalfd4(SFD_NONBLOCK) failed\");\n      return 1;\n    }\n  fl \u003d fcntl (fd, F_GETFL);\n  if (fl \u003d\u003d -1)\n    {\n      puts (\"fcntl failed\");\n      return 1;\n    }\n  if ((fl \u0026 O_NONBLOCK) \u003d\u003d 0)\n    {\n      puts (\"signalfd4(SFD_NONBLOCK) does not set non-blocking mode\");\n      return 1;\n    }\n  close (fd);\n\n  puts (\"OK\");\n\n  return 0;\n}\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nAcked-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@googlemail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "77d2720059618b9b6e827a8b73831eb6c6fad63c",
      "tree": "c8a08caa9a864c546fda2e043d5232c377d210c6",
      "parents": [
        "99829b832997d907c30669bfd17da32151e18f04"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Wed Jul 23 21:29:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:29 2008 -0700"
      },
      "message": "flag parameters: NONBLOCK in socket and socketpair\n\nThis patch introduces support for the SOCK_NONBLOCK flag in socket,\nsocketpair, and  paccept.  To do this the internal function sock_attach_fd\ngets an additional parameter which it uses to set the appropriate flag for\nthe file descriptor.\n\nGiven that in modern, scalable programs almost all socket connections are\nnon-blocking and the minimal additional cost for the new functionality\nI see no reason not to add this code.\n\nThe following test must be adjusted for architectures other than x86 and\nx86-64 and in case the syscall numbers changed.\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n#include \u003cfcntl.h\u003e\n#include \u003cpthread.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003cnetinet/in.h\u003e\n#include \u003csys/socket.h\u003e\n#include \u003csys/syscall.h\u003e\n\n#ifndef __NR_paccept\n# ifdef __x86_64__\n#  define __NR_paccept 288\n# elif defined __i386__\n#  define SYS_PACCEPT 18\n#  define USE_SOCKETCALL 1\n# else\n#  error \"need __NR_paccept\"\n# endif\n#endif\n\n#ifdef USE_SOCKETCALL\n# define paccept(fd, addr, addrlen, mask, flags) \\\n  ({ long args[6] \u003d { \\\n       (long) fd, (long) addr, (long) addrlen, (long) mask, 8, (long) flags }; \\\n     syscall (__NR_socketcall, SYS_PACCEPT, args); })\n#else\n# define paccept(fd, addr, addrlen, mask, flags) \\\n  syscall (__NR_paccept, fd, addr, addrlen, mask, 8, flags)\n#endif\n\n#define PORT 57392\n\n#define SOCK_NONBLOCK O_NONBLOCK\n\nstatic pthread_barrier_t b;\n\nstatic void *\ntf (void *arg)\n{\n  pthread_barrier_wait (\u0026b);\n  int s \u003d socket (AF_INET, SOCK_STREAM, 0);\n  struct sockaddr_in sin;\n  sin.sin_family \u003d AF_INET;\n  sin.sin_addr.s_addr \u003d htonl (INADDR_LOOPBACK);\n  sin.sin_port \u003d htons (PORT);\n  connect (s, (const struct sockaddr *) \u0026sin, sizeof (sin));\n  close (s);\n  pthread_barrier_wait (\u0026b);\n\n  pthread_barrier_wait (\u0026b);\n  s \u003d socket (AF_INET, SOCK_STREAM, 0);\n  sin.sin_port \u003d htons (PORT);\n  connect (s, (const struct sockaddr *) \u0026sin, sizeof (sin));\n  close (s);\n  pthread_barrier_wait (\u0026b);\n\n  return NULL;\n}\n\nint\nmain (void)\n{\n  int fd;\n  fd \u003d socket (PF_INET, SOCK_STREAM, 0);\n  if (fd \u003d\u003d -1)\n    {\n      puts (\"socket(0) failed\");\n      return 1;\n    }\n  int fl \u003d fcntl (fd, F_GETFL);\n  if (fl \u003d\u003d -1)\n    {\n      puts (\"fcntl failed\");\n      return 1;\n    }\n  if (fl \u0026 O_NONBLOCK)\n    {\n      puts (\"socket(0) set non-blocking mode\");\n      return 1;\n    }\n  close (fd);\n\n  fd \u003d socket (PF_INET, SOCK_STREAM|SOCK_NONBLOCK, 0);\n  if (fd \u003d\u003d -1)\n    {\n      puts (\"socket(SOCK_NONBLOCK) failed\");\n      return 1;\n    }\n  fl \u003d fcntl (fd, F_GETFL);\n  if (fl \u003d\u003d -1)\n    {\n      puts (\"fcntl failed\");\n      return 1;\n    }\n  if ((fl \u0026 O_NONBLOCK) \u003d\u003d 0)\n    {\n      puts (\"socket(SOCK_NONBLOCK) does not set non-blocking mode\");\n      return 1;\n    }\n  close (fd);\n\n  int fds[2];\n  if (socketpair (PF_UNIX, SOCK_STREAM, 0, fds) \u003d\u003d -1)\n    {\n      puts (\"socketpair(0) failed\");\n      return 1;\n    }\n  for (int i \u003d 0; i \u003c 2; ++i)\n    {\n      fl \u003d fcntl (fds[i], F_GETFL);\n      if (fl \u003d\u003d -1)\n        {\n          puts (\"fcntl failed\");\n          return 1;\n        }\n      if (fl \u0026 O_NONBLOCK)\n        {\n          printf (\"socketpair(0) set non-blocking mode for fds[%d]\\n\", i);\n          return 1;\n        }\n      close (fds[i]);\n    }\n\n  if (socketpair (PF_UNIX, SOCK_STREAM|SOCK_NONBLOCK, 0, fds) \u003d\u003d -1)\n    {\n      puts (\"socketpair(SOCK_NONBLOCK) failed\");\n      return 1;\n    }\n  for (int i \u003d 0; i \u003c 2; ++i)\n    {\n      fl \u003d fcntl (fds[i], F_GETFL);\n      if (fl \u003d\u003d -1)\n        {\n          puts (\"fcntl failed\");\n          return 1;\n        }\n      if ((fl \u0026 O_NONBLOCK) \u003d\u003d 0)\n        {\n          printf (\"socketpair(SOCK_NONBLOCK) does not set non-blocking mode for fds[%d]\\n\", i);\n          return 1;\n        }\n      close (fds[i]);\n    }\n\n  pthread_barrier_init (\u0026b, NULL, 2);\n\n  struct sockaddr_in sin;\n  pthread_t th;\n  if (pthread_create (\u0026th, NULL, tf, NULL) !\u003d 0)\n    {\n      puts (\"pthread_create failed\");\n      return 1;\n    }\n\n  int s \u003d socket (AF_INET, SOCK_STREAM, 0);\n  int reuse \u003d 1;\n  setsockopt (s, SOL_SOCKET, SO_REUSEADDR, \u0026reuse, sizeof (reuse));\n  sin.sin_family \u003d AF_INET;\n  sin.sin_addr.s_addr \u003d htonl (INADDR_LOOPBACK);\n  sin.sin_port \u003d htons (PORT);\n  bind (s, (struct sockaddr *) \u0026sin, sizeof (sin));\n  listen (s, SOMAXCONN);\n\n  pthread_barrier_wait (\u0026b);\n\n  int s2 \u003d paccept (s, NULL, 0, NULL, 0);\n  if (s2 \u003c 0)\n    {\n      puts (\"paccept(0) failed\");\n      return 1;\n    }\n\n  fl \u003d fcntl (s2, F_GETFL);\n  if (fl \u0026 O_NONBLOCK)\n    {\n      puts (\"paccept(0) set non-blocking mode\");\n      return 1;\n    }\n  close (s2);\n  close (s);\n\n  pthread_barrier_wait (\u0026b);\n\n  s \u003d socket (AF_INET, SOCK_STREAM, 0);\n  sin.sin_port \u003d htons (PORT);\n  setsockopt (s, SOL_SOCKET, SO_REUSEADDR, \u0026reuse, sizeof (reuse));\n  bind (s, (struct sockaddr *) \u0026sin, sizeof (sin));\n  listen (s, SOMAXCONN);\n\n  pthread_barrier_wait (\u0026b);\n\n  s2 \u003d paccept (s, NULL, 0, NULL, SOCK_NONBLOCK);\n  if (s2 \u003c 0)\n    {\n      puts (\"paccept(SOCK_NONBLOCK) failed\");\n      return 1;\n    }\n\n  fl \u003d fcntl (s2, F_GETFL);\n  if ((fl \u0026 O_NONBLOCK) \u003d\u003d 0)\n    {\n      puts (\"paccept(SOCK_NONBLOCK) does not set non-blocking mode\");\n      return 1;\n    }\n  close (s2);\n  close (s);\n\n  pthread_barrier_wait (\u0026b);\n  puts (\"OK\");\n\n  return 0;\n}\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nAcked-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@googlemail.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": "4006553b06306b34054529477b06b68a1c66249b",
      "tree": "d4ebbe4a5294b0cec69fe4908b7b7c569f4ece03",
      "parents": [
        "ed8cae8ba01348bfd83333f4648dd807b04d7f08"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Wed Jul 23 21:29:32 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:28 2008 -0700"
      },
      "message": "flag parameters: inotify_init\n\nThis patch introduces the new syscall inotify_init1 (note: the 1 stands for\nthe one parameter the syscall takes, as opposed to no parameter before).  The\nvalues accepted for this parameter are function-specific and defined in the\ninotify.h header.  Here the values must match the O_* flags, though.  In this\npatch CLOEXEC support is introduced.\n\nThe following test must be adjusted for architectures other than x86 and\nx86-64 and in case the syscall numbers changed.\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n#include \u003cfcntl.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003csys/syscall.h\u003e\n\n#ifndef __NR_inotify_init1\n# ifdef __x86_64__\n#  define __NR_inotify_init1 294\n# elif defined __i386__\n#  define __NR_inotify_init1 332\n# else\n#  error \"need __NR_inotify_init1\"\n# endif\n#endif\n\n#define IN_CLOEXEC O_CLOEXEC\n\nint\nmain (void)\n{\n  int fd;\n  fd \u003d syscall (__NR_inotify_init1, 0);\n  if (fd \u003d\u003d -1)\n    {\n      puts (\"inotify_init1(0) failed\");\n      return 1;\n    }\n  int coe \u003d fcntl (fd, F_GETFD);\n  if (coe \u003d\u003d -1)\n    {\n      puts (\"fcntl failed\");\n      return 1;\n    }\n  if (coe \u0026 FD_CLOEXEC)\n    {\n      puts (\"inotify_init1(0) set close-on-exit\");\n      return 1;\n    }\n  close (fd);\n\n  fd \u003d syscall (__NR_inotify_init1, IN_CLOEXEC);\n  if (fd \u003d\u003d -1)\n    {\n      puts (\"inotify_init1(IN_CLOEXEC) failed\");\n      return 1;\n    }\n  coe \u003d fcntl (fd, F_GETFD);\n  if (coe \u003d\u003d -1)\n    {\n      puts (\"fcntl failed\");\n      return 1;\n    }\n  if ((coe \u0026 FD_CLOEXEC) \u003d\u003d 0)\n    {\n      puts (\"inotify_init1(O_CLOEXEC) does not set close-on-exit\");\n      return 1;\n    }\n  close (fd);\n\n  puts (\"OK\");\n\n  return 0;\n}\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n[akpm@linux-foundation.org: add sys_ni stub]\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nAcked-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@googlemail.com\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ed8cae8ba01348bfd83333f4648dd807b04d7f08",
      "tree": "c71a1c8e771c1c55728bb7c40612fbdcefbc858a",
      "parents": [
        "336dd1f70ff62d7dd8655228caed4c5bfc818c56"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Wed Jul 23 21:29:30 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:28 2008 -0700"
      },
      "message": "flag parameters: pipe\n\nThis patch introduces the new syscall pipe2 which is like pipe but it also\ntakes an additional parameter which takes a flag value.  This patch implements\nthe handling of O_CLOEXEC for the flag.  I did not add support for the new\nsyscall for the architectures which have a special sys_pipe implementation.  I\nthink the maintainers of those archs have the chance to go with the unified\nimplementation but that\u0027s up to them.\n\nThe implementation introduces do_pipe_flags.  I did that instead of changing\nall callers of do_pipe because some of the callers are written in assembler.\nI would probably screw up changing the assembly code.  To avoid breaking code\ndo_pipe is now a small wrapper around do_pipe_flags.  Once all callers are\nchanged over to do_pipe_flags the old do_pipe function can be removed.\n\nThe following test must be adjusted for architectures other than x86 and\nx86-64 and in case the syscall numbers changed.\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n#include \u003cfcntl.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003csys/syscall.h\u003e\n\n#ifndef __NR_pipe2\n# ifdef __x86_64__\n#  define __NR_pipe2 293\n# elif defined __i386__\n#  define __NR_pipe2 331\n# else\n#  error \"need __NR_pipe2\"\n# endif\n#endif\n\nint\nmain (void)\n{\n  int fd[2];\n  if (syscall (__NR_pipe2, fd, 0) !\u003d 0)\n    {\n      puts (\"pipe2(0) failed\");\n      return 1;\n    }\n  for (int i \u003d 0; i \u003c 2; ++i)\n    {\n      int coe \u003d fcntl (fd[i], F_GETFD);\n      if (coe \u003d\u003d -1)\n        {\n          puts (\"fcntl failed\");\n          return 1;\n        }\n      if (coe \u0026 FD_CLOEXEC)\n        {\n          printf (\"pipe2(0) set close-on-exit for fd[%d]\\n\", i);\n          return 1;\n        }\n    }\n  close (fd[0]);\n  close (fd[1]);\n\n  if (syscall (__NR_pipe2, fd, O_CLOEXEC) !\u003d 0)\n    {\n      puts (\"pipe2(O_CLOEXEC) failed\");\n      return 1;\n    }\n  for (int i \u003d 0; i \u003c 2; ++i)\n    {\n      int coe \u003d fcntl (fd[i], F_GETFD);\n      if (coe \u003d\u003d -1)\n        {\n          puts (\"fcntl failed\");\n          return 1;\n        }\n      if ((coe \u0026 FD_CLOEXEC) \u003d\u003d 0)\n        {\n          printf (\"pipe2(O_CLOEXEC) does not set close-on-exit for fd[%d]\\n\", i);\n          return 1;\n        }\n    }\n  close (fd[0]);\n  close (fd[1]);\n\n  puts (\"OK\");\n\n  return 0;\n}\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nAcked-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@googlemail.com\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "336dd1f70ff62d7dd8655228caed4c5bfc818c56",
      "tree": "1441b76ea5f08f44167f41867f3555ac53712ebb",
      "parents": [
        "a0998b50c3f0b8fdd265c63e0032f86ebe377dbf"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Wed Jul 23 21:29:29 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:28 2008 -0700"
      },
      "message": "flag parameters: dup2\n\nThis patch adds the new dup3 syscall.  It extends the old dup2 syscall by one\nparameter which is meant to hold a flag value.  Support for the O_CLOEXEC flag\nis added in this patch.\n\nThe following test must be adjusted for architectures other than x86 and\nx86-64 and in case the syscall numbers changed.\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n#include \u003cfcntl.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003ctime.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003csys/syscall.h\u003e\n\n#ifndef __NR_dup3\n# ifdef __x86_64__\n#  define __NR_dup3 292\n# elif defined __i386__\n#  define __NR_dup3 330\n# else\n#  error \"need __NR_dup3\"\n# endif\n#endif\n\nint\nmain (void)\n{\n  int fd \u003d syscall (__NR_dup3, 1, 4, 0);\n  if (fd \u003d\u003d -1)\n    {\n      puts (\"dup3(0) failed\");\n      return 1;\n    }\n  int coe \u003d fcntl (fd, F_GETFD);\n  if (coe \u003d\u003d -1)\n    {\n      puts (\"fcntl failed\");\n      return 1;\n    }\n  if (coe \u0026 FD_CLOEXEC)\n    {\n      puts (\"dup3(0) set close-on-exec flag\");\n      return 1;\n    }\n  close (fd);\n\n  fd \u003d syscall (__NR_dup3, 1, 4, O_CLOEXEC);\n  if (fd \u003d\u003d -1)\n    {\n      puts (\"dup3(O_CLOEXEC) failed\");\n      return 1;\n    }\n  coe \u003d fcntl (fd, F_GETFD);\n  if (coe \u003d\u003d -1)\n    {\n      puts (\"fcntl failed\");\n      return 1;\n    }\n  if ((coe \u0026 FD_CLOEXEC) \u003d\u003d 0)\n    {\n      puts (\"dup3(O_CLOEXEC) set close-on-exec flag\");\n      return 1;\n    }\n  close (fd);\n\n  puts (\"OK\");\n\n  return 0;\n}\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nAcked-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@googlemail.com\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a0998b50c3f0b8fdd265c63e0032f86ebe377dbf",
      "tree": "9132ecb7ef925374edabcaeea44e0287eb5043f4",
      "parents": [
        "11fcb6c14676023d0bd437841f5dcd670e7990a0"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Wed Jul 23 21:29:27 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:28 2008 -0700"
      },
      "message": "flag parameters: epoll_create\n\nThis patch adds the new epoll_create2 syscall.  It extends the old epoll_create\nsyscall by one parameter which is meant to hold a flag value.  In this\npatch the only flag support is EPOLL_CLOEXEC which causes the close-on-exec\nflag for the returned file descriptor to be set.\n\nA new name EPOLL_CLOEXEC is introduced which in this implementation must\nhave the same value as O_CLOEXEC.\n\nThe following test must be adjusted for architectures other than x86 and\nx86-64 and in case the syscall numbers changed.\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n#include \u003cfcntl.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003ctime.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003csys/syscall.h\u003e\n\n#ifndef __NR_epoll_create2\n# ifdef __x86_64__\n#  define __NR_epoll_create2 291\n# elif defined __i386__\n#  define __NR_epoll_create2 329\n# else\n#  error \"need __NR_epoll_create2\"\n# endif\n#endif\n\n#define EPOLL_CLOEXEC O_CLOEXEC\n\nint\nmain (void)\n{\n  int fd \u003d syscall (__NR_epoll_create2, 1, 0);\n  if (fd \u003d\u003d -1)\n    {\n      puts (\"epoll_create2(0) failed\");\n      return 1;\n    }\n  int coe \u003d fcntl (fd, F_GETFD);\n  if (coe \u003d\u003d -1)\n    {\n      puts (\"fcntl failed\");\n      return 1;\n    }\n  if (coe \u0026 FD_CLOEXEC)\n    {\n      puts (\"epoll_create2(0) set close-on-exec flag\");\n      return 1;\n    }\n  close (fd);\n\n  fd \u003d syscall (__NR_epoll_create2, 1, EPOLL_CLOEXEC);\n  if (fd \u003d\u003d -1)\n    {\n      puts (\"epoll_create2(EPOLL_CLOEXEC) failed\");\n      return 1;\n    }\n  coe \u003d fcntl (fd, F_GETFD);\n  if (coe \u003d\u003d -1)\n    {\n      puts (\"fcntl failed\");\n      return 1;\n    }\n  if ((coe \u0026 FD_CLOEXEC) \u003d\u003d 0)\n    {\n      puts (\"epoll_create2(EPOLL_CLOEXEC) set close-on-exec flag\");\n      return 1;\n    }\n  close (fd);\n\n  puts (\"OK\");\n\n  return 0;\n}\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nAcked-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@googlemail.com\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "11fcb6c14676023d0bd437841f5dcd670e7990a0",
      "tree": "7b98614739715734d9cdd74f94982e110c953fc0",
      "parents": [
        "b087498eb5605673b0f260a7620d91818cd72304"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Wed Jul 23 21:29:26 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:27 2008 -0700"
      },
      "message": "flag parameters: timerfd_create\n\nThe timerfd_create syscall already has a flags parameter.  It just is\nunused so far.  This patch changes this by introducing the TFD_CLOEXEC\nflag to set the close-on-exec flag for the returned file descriptor.\n\nA new name TFD_CLOEXEC is introduced which in this implementation must\nhave the same value as O_CLOEXEC.\n\nThe following test must be adjusted for architectures other than x86 and\nx86-64 and in case the syscall numbers changed.\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n#include \u003cfcntl.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003ctime.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003csys/syscall.h\u003e\n\n#ifndef __NR_timerfd_create\n# ifdef __x86_64__\n#  define __NR_timerfd_create 283\n# elif defined __i386__\n#  define __NR_timerfd_create 322\n# else\n#  error \"need __NR_timerfd_create\"\n# endif\n#endif\n\n#define TFD_CLOEXEC O_CLOEXEC\n\nint\nmain (void)\n{\n  int fd \u003d syscall (__NR_timerfd_create, CLOCK_REALTIME, 0);\n  if (fd \u003d\u003d -1)\n    {\n      puts (\"timerfd_create(0) failed\");\n      return 1;\n    }\n  int coe \u003d fcntl (fd, F_GETFD);\n  if (coe \u003d\u003d -1)\n    {\n      puts (\"fcntl failed\");\n      return 1;\n    }\n  if (coe \u0026 FD_CLOEXEC)\n    {\n      puts (\"timerfd_create(0) set close-on-exec flag\");\n      return 1;\n    }\n  close (fd);\n\n  fd \u003d syscall (__NR_timerfd_create, CLOCK_REALTIME, TFD_CLOEXEC);\n  if (fd \u003d\u003d -1)\n    {\n      puts (\"timerfd_create(TFD_CLOEXEC) failed\");\n      return 1;\n    }\n  coe \u003d fcntl (fd, F_GETFD);\n  if (coe \u003d\u003d -1)\n    {\n      puts (\"fcntl failed\");\n      return 1;\n    }\n  if ((coe \u0026 FD_CLOEXEC) \u003d\u003d 0)\n    {\n      puts (\"timerfd_create(TFD_CLOEXEC) set close-on-exec flag\");\n      return 1;\n    }\n  close (fd);\n\n  puts (\"OK\");\n\n  return 0;\n}\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nAcked-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@googlemail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b087498eb5605673b0f260a7620d91818cd72304",
      "tree": "977d9dbcd326a9582dfc5ad000995d26886c872e",
      "parents": [
        "9deb27baedb79759c3ab9435a7d8b841842d56e9"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Wed Jul 23 21:29:25 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:27 2008 -0700"
      },
      "message": "flag parameters: eventfd\n\nThis patch adds the new eventfd2 syscall.  It extends the old eventfd\nsyscall by one parameter which is meant to hold a flag value.  In this\npatch the only flag support is EFD_CLOEXEC which causes the close-on-exec\nflag for the returned file descriptor to be set.\n\nA new name EFD_CLOEXEC is introduced which in this implementation must\nhave the same value as O_CLOEXEC.\n\nThe following test must be adjusted for architectures other than x86 and\nx86-64 and in case the syscall numbers changed.\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n#include \u003cfcntl.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003csys/syscall.h\u003e\n\n#ifndef __NR_eventfd2\n# ifdef __x86_64__\n#  define __NR_eventfd2 290\n# elif defined __i386__\n#  define __NR_eventfd2 328\n# else\n#  error \"need __NR_eventfd2\"\n# endif\n#endif\n\n#define EFD_CLOEXEC O_CLOEXEC\n\nint\nmain (void)\n{\n  int fd \u003d syscall (__NR_eventfd2, 1, 0);\n  if (fd \u003d\u003d -1)\n    {\n      puts (\"eventfd2(0) failed\");\n      return 1;\n    }\n  int coe \u003d fcntl (fd, F_GETFD);\n  if (coe \u003d\u003d -1)\n    {\n      puts (\"fcntl failed\");\n      return 1;\n    }\n  if (coe \u0026 FD_CLOEXEC)\n    {\n      puts (\"eventfd2(0) sets close-on-exec flag\");\n      return 1;\n    }\n  close (fd);\n\n  fd \u003d syscall (__NR_eventfd2, 1, EFD_CLOEXEC);\n  if (fd \u003d\u003d -1)\n    {\n      puts (\"eventfd2(EFD_CLOEXEC) failed\");\n      return 1;\n    }\n  coe \u003d fcntl (fd, F_GETFD);\n  if (coe \u003d\u003d -1)\n    {\n      puts (\"fcntl failed\");\n      return 1;\n    }\n  if ((coe \u0026 FD_CLOEXEC) \u003d\u003d 0)\n    {\n      puts (\"eventfd2(EFD_CLOEXEC) does not set close-on-exec flag\");\n      return 1;\n    }\n  close (fd);\n\n  puts (\"OK\");\n\n  return 0;\n}\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n[akpm@linux-foundation.org: add sys_ni stub]\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nAcked-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@googlemail.com\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9deb27baedb79759c3ab9435a7d8b841842d56e9",
      "tree": "1c88393ba30db851ca0bb93c4e656d4e5dbb22b9",
      "parents": [
        "7d9dbca34240ebb6ff88d8a29c6c7bffd098f0c1"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Wed Jul 23 21:29:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:27 2008 -0700"
      },
      "message": "flag parameters: signalfd\n\nThis patch adds the new signalfd4 syscall.  It extends the old signalfd\nsyscall by one parameter which is meant to hold a flag value.  In this\npatch the only flag support is SFD_CLOEXEC which causes the close-on-exec\nflag for the returned file descriptor to be set.\n\nA new name SFD_CLOEXEC is introduced which in this implementation must\nhave the same value as O_CLOEXEC.\n\nThe following test must be adjusted for architectures other than x86 and\nx86-64 and in case the syscall numbers changed.\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n#include \u003cfcntl.h\u003e\n#include \u003csignal.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003csys/syscall.h\u003e\n\n#ifndef __NR_signalfd4\n# ifdef __x86_64__\n#  define __NR_signalfd4 289\n# elif defined __i386__\n#  define __NR_signalfd4 327\n# else\n#  error \"need __NR_signalfd4\"\n# endif\n#endif\n\n#define SFD_CLOEXEC O_CLOEXEC\n\nint\nmain (void)\n{\n  sigset_t ss;\n  sigemptyset (\u0026ss);\n  sigaddset (\u0026ss, SIGUSR1);\n  int fd \u003d syscall (__NR_signalfd4, -1, \u0026ss, 8, 0);\n  if (fd \u003d\u003d -1)\n    {\n      puts (\"signalfd4(0) failed\");\n      return 1;\n    }\n  int coe \u003d fcntl (fd, F_GETFD);\n  if (coe \u003d\u003d -1)\n    {\n      puts (\"fcntl failed\");\n      return 1;\n    }\n  if (coe \u0026 FD_CLOEXEC)\n    {\n      puts (\"signalfd4(0) set close-on-exec flag\");\n      return 1;\n    }\n  close (fd);\n\n  fd \u003d syscall (__NR_signalfd4, -1, \u0026ss, 8, SFD_CLOEXEC);\n  if (fd \u003d\u003d -1)\n    {\n      puts (\"signalfd4(SFD_CLOEXEC) failed\");\n      return 1;\n    }\n  coe \u003d fcntl (fd, F_GETFD);\n  if (coe \u003d\u003d -1)\n    {\n      puts (\"fcntl failed\");\n      return 1;\n    }\n  if ((coe \u0026 FD_CLOEXEC) \u003d\u003d 0)\n    {\n      puts (\"signalfd4(SFD_CLOEXEC) does not set close-on-exec flag\");\n      return 1;\n    }\n  close (fd);\n\n  puts (\"OK\");\n\n  return 0;\n}\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n[akpm@linux-foundation.org: add sys_ni stub]\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nAcked-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@googlemail.com\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7d9dbca34240ebb6ff88d8a29c6c7bffd098f0c1",
      "tree": "7e3226a4d885f5e4444fbe01a08c51b0b33b2cc7",
      "parents": [
        "c019bbc612f6633ede7ed67725cbf68de45ae8a4"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Wed Jul 23 21:29:22 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:27 2008 -0700"
      },
      "message": "flag parameters: anon_inode_getfd extension\n\nThis patch just extends the anon_inode_getfd interface to take an additional\nparameter with a flag value.  The flag value is passed on to\nget_unused_fd_flags in anticipation for a use with the O_CLOEXEC flag.\n\nNo actual semantic changes here, the changed callers all pass 0 for now.\n\n[akpm@linux-foundation.org: KVM fix]\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nAcked-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@googlemail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c019bbc612f6633ede7ed67725cbf68de45ae8a4",
      "tree": "99b23660c2915e699f35f3fc5820b5cc30f890b3",
      "parents": [
        "aaca0bdca573f3f51ea03139f9c7289541e7bca3"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Wed Jul 23 21:29:21 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:27 2008 -0700"
      },
      "message": "flag parameters: paccept w/out set_restore_sigmask\n\nSome platforms do not have support to restore the signal mask in the\nreturn path from a syscall.  For those platforms syscalls like pselect are\nnot defined at all.  This is, I think, not a good choice for paccept()\nsince paccept() adds more value on top of accept() than just the signal\nmask handling.\n\nTherefore this patch defines a scaled down version of the sys_paccept\nfunction for those platforms.  It returns -EINVAL in case the signal mask\nis non-NULL but behaves the same otherwise.\n\nNote that I explicitly included \u003clinux/thread_info.h\u003e.  I saw that it is\ncurrently included but indirectly two levels down.  There is too much risk\nin relying on this.  The header might change and then suddenly the\nfunction definition would change without anyone immediately noticing.\n\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@googlemail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "aaca0bdca573f3f51ea03139f9c7289541e7bca3",
      "tree": "d25b0baa73b5301d91a5c848a896bad0fb719acc",
      "parents": [
        "a677a039be7243357d93502bff2b40850c942e2d"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Wed Jul 23 21:29:20 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:27 2008 -0700"
      },
      "message": "flag parameters: paccept\n\nThis patch is by far the most complex in the series.  It adds a new syscall\npaccept.  This syscall differs from accept in that it adds (at the userlevel)\ntwo additional parameters:\n\n- a signal mask\n- a flags value\n\nThe flags parameter can be used to set flag like SOCK_CLOEXEC.  This is\nimlpemented here as well.  Some people argued that this is a property which\nshould be inherited from the file desriptor for the server but this is against\nPOSIX.  Additionally, we really want the signal mask parameter as well\n(similar to pselect, ppoll, etc).  So an interface change in inevitable.\n\nThe flag value is the same as for socket and socketpair.  I think diverging\nhere will only create confusion.  Similar to the filesystem interfaces where\nthe use of the O_* constants differs, it is acceptable here.\n\nThe signal mask is handled as for pselect etc.  The mask is temporarily\ninstalled for the thread and removed before the call returns.  I modeled the\ncode after pselect.  If there is a problem it\u0027s likely also in pselect.\n\nFor architectures which use socketcall I maintained this interface instead of\nadding a system call.  The symmetry shouldn\u0027t be broken.\n\nThe following test must be adjusted for architectures other than x86 and\nx86-64 and in case the syscall numbers changed.\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n#include \u003cerrno.h\u003e\n#include \u003cfcntl.h\u003e\n#include \u003cpthread.h\u003e\n#include \u003csignal.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003cnetinet/in.h\u003e\n#include \u003csys/socket.h\u003e\n#include \u003csys/syscall.h\u003e\n\n#ifndef __NR_paccept\n# ifdef __x86_64__\n#  define __NR_paccept 288\n# elif defined __i386__\n#  define SYS_PACCEPT 18\n#  define USE_SOCKETCALL 1\n# else\n#  error \"need __NR_paccept\"\n# endif\n#endif\n\n#ifdef USE_SOCKETCALL\n# define paccept(fd, addr, addrlen, mask, flags) \\\n  ({ long args[6] \u003d { \\\n       (long) fd, (long) addr, (long) addrlen, (long) mask, 8, (long) flags }; \\\n     syscall (__NR_socketcall, SYS_PACCEPT, args); })\n#else\n# define paccept(fd, addr, addrlen, mask, flags) \\\n  syscall (__NR_paccept, fd, addr, addrlen, mask, 8, flags)\n#endif\n\n#define PORT 57392\n\n#define SOCK_CLOEXEC O_CLOEXEC\n\nstatic pthread_barrier_t b;\n\nstatic void *\ntf (void *arg)\n{\n  pthread_barrier_wait (\u0026b);\n  int s \u003d socket (AF_INET, SOCK_STREAM, 0);\n  struct sockaddr_in sin;\n  sin.sin_family \u003d AF_INET;\n  sin.sin_addr.s_addr \u003d htonl (INADDR_LOOPBACK);\n  sin.sin_port \u003d htons (PORT);\n  connect (s, (const struct sockaddr *) \u0026sin, sizeof (sin));\n  close (s);\n\n  pthread_barrier_wait (\u0026b);\n  s \u003d socket (AF_INET, SOCK_STREAM, 0);\n  sin.sin_port \u003d htons (PORT);\n  connect (s, (const struct sockaddr *) \u0026sin, sizeof (sin));\n  close (s);\n  pthread_barrier_wait (\u0026b);\n\n  pthread_barrier_wait (\u0026b);\n  sleep (2);\n  pthread_kill ((pthread_t) arg, SIGUSR1);\n\n  return NULL;\n}\n\nstatic void\nhandler (int s)\n{\n}\n\nint\nmain (void)\n{\n  pthread_barrier_init (\u0026b, NULL, 2);\n\n  struct sockaddr_in sin;\n  pthread_t th;\n  if (pthread_create (\u0026th, NULL, tf, (void *) pthread_self ()) !\u003d 0)\n    {\n      puts (\"pthread_create failed\");\n      return 1;\n    }\n\n  int s \u003d socket (AF_INET, SOCK_STREAM, 0);\n  int reuse \u003d 1;\n  setsockopt (s, SOL_SOCKET, SO_REUSEADDR, \u0026reuse, sizeof (reuse));\n  sin.sin_family \u003d AF_INET;\n  sin.sin_addr.s_addr \u003d htonl (INADDR_LOOPBACK);\n  sin.sin_port \u003d htons (PORT);\n  bind (s, (struct sockaddr *) \u0026sin, sizeof (sin));\n  listen (s, SOMAXCONN);\n\n  pthread_barrier_wait (\u0026b);\n\n  int s2 \u003d paccept (s, NULL, 0, NULL, 0);\n  if (s2 \u003c 0)\n    {\n      puts (\"paccept(0) failed\");\n      return 1;\n    }\n\n  int coe \u003d fcntl (s2, F_GETFD);\n  if (coe \u0026 FD_CLOEXEC)\n    {\n      puts (\"paccept(0) set close-on-exec-flag\");\n      return 1;\n    }\n  close (s2);\n\n  pthread_barrier_wait (\u0026b);\n\n  s2 \u003d paccept (s, NULL, 0, NULL, SOCK_CLOEXEC);\n  if (s2 \u003c 0)\n    {\n      puts (\"paccept(SOCK_CLOEXEC) failed\");\n      return 1;\n    }\n\n  coe \u003d fcntl (s2, F_GETFD);\n  if ((coe \u0026 FD_CLOEXEC) \u003d\u003d 0)\n    {\n      puts (\"paccept(SOCK_CLOEXEC) does not set close-on-exec flag\");\n      return 1;\n    }\n  close (s2);\n\n  pthread_barrier_wait (\u0026b);\n\n  struct sigaction sa;\n  sa.sa_handler \u003d handler;\n  sa.sa_flags \u003d 0;\n  sigemptyset (\u0026sa.sa_mask);\n  sigaction (SIGUSR1, \u0026sa, NULL);\n\n  sigset_t ss;\n  pthread_sigmask (SIG_SETMASK, NULL, \u0026ss);\n  sigaddset (\u0026ss, SIGUSR1);\n  pthread_sigmask (SIG_SETMASK, \u0026ss, NULL);\n\n  sigdelset (\u0026ss, SIGUSR1);\n  alarm (4);\n  pthread_barrier_wait (\u0026b);\n\n  errno \u003d 0 ;\n  s2 \u003d paccept (s, NULL, 0, \u0026ss, 0);\n  if (s2 !\u003d -1 || errno !\u003d EINTR)\n    {\n      puts (\"paccept did not fail with EINTR\");\n      return 1;\n    }\n\n  close (s);\n\n  puts (\"OK\");\n\n  return 0;\n}\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n[akpm@linux-foundation.org: make it compile]\n[akpm@linux-foundation.org: add sys_ni stub]\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nAcked-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@googlemail.com\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a677a039be7243357d93502bff2b40850c942e2d",
      "tree": "6cf1669c4752e2527e02f33baa920cd2dfd59117",
      "parents": [
        "6e2c10a12a2170856f5582d62d583cbcd1cb5eaf"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Wed Jul 23 21:29:17 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:27 2008 -0700"
      },
      "message": "flag parameters: socket and socketpair\n\nThis patch adds support for flag values which are ORed to the type passwd\nto socket and socketpair.  The additional code is minimal.  The flag\nvalues in this implementation can and must match the O_* flags.  This\navoids overhead in the conversion.\n\nThe internal functions sock_alloc_fd and sock_map_fd get a new parameters\nand all callers are changed.\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n#include \u003cfcntl.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003cnetinet/in.h\u003e\n#include \u003csys/socket.h\u003e\n\n#define PORT 57392\n\n/* For Linux these must be the same.  */\n#define SOCK_CLOEXEC O_CLOEXEC\n\nint\nmain (void)\n{\n  int fd;\n  fd \u003d socket (PF_INET, SOCK_STREAM, 0);\n  if (fd \u003d\u003d -1)\n    {\n      puts (\"socket(0) failed\");\n      return 1;\n    }\n  int coe \u003d fcntl (fd, F_GETFD);\n  if (coe \u003d\u003d -1)\n    {\n      puts (\"fcntl failed\");\n      return 1;\n    }\n  if (coe \u0026 FD_CLOEXEC)\n    {\n      puts (\"socket(0) set close-on-exec flag\");\n      return 1;\n    }\n  close (fd);\n\n  fd \u003d socket (PF_INET, SOCK_STREAM|SOCK_CLOEXEC, 0);\n  if (fd \u003d\u003d -1)\n    {\n      puts (\"socket(SOCK_CLOEXEC) failed\");\n      return 1;\n    }\n  coe \u003d fcntl (fd, F_GETFD);\n  if (coe \u003d\u003d -1)\n    {\n      puts (\"fcntl failed\");\n      return 1;\n    }\n  if ((coe \u0026 FD_CLOEXEC) \u003d\u003d 0)\n    {\n      puts (\"socket(SOCK_CLOEXEC) does not set close-on-exec flag\");\n      return 1;\n    }\n  close (fd);\n\n  int fds[2];\n  if (socketpair (PF_UNIX, SOCK_STREAM, 0, fds) \u003d\u003d -1)\n    {\n      puts (\"socketpair(0) failed\");\n      return 1;\n    }\n  for (int i \u003d 0; i \u003c 2; ++i)\n    {\n      coe \u003d fcntl (fds[i], F_GETFD);\n      if (coe \u003d\u003d -1)\n        {\n          puts (\"fcntl failed\");\n          return 1;\n        }\n      if (coe \u0026 FD_CLOEXEC)\n        {\n          printf (\"socketpair(0) set close-on-exec flag for fds[%d]\\n\", i);\n          return 1;\n        }\n      close (fds[i]);\n    }\n\n  if (socketpair (PF_UNIX, SOCK_STREAM|SOCK_CLOEXEC, 0, fds) \u003d\u003d -1)\n    {\n      puts (\"socketpair(SOCK_CLOEXEC) failed\");\n      return 1;\n    }\n  for (int i \u003d 0; i \u003c 2; ++i)\n    {\n      coe \u003d fcntl (fds[i], F_GETFD);\n      if (coe \u003d\u003d -1)\n        {\n          puts (\"fcntl failed\");\n          return 1;\n        }\n      if ((coe \u0026 FD_CLOEXEC) \u003d\u003d 0)\n        {\n          printf (\"socketpair(SOCK_CLOEXEC) does not set close-on-exec flag for fds[%d]\\n\", i);\n          return 1;\n        }\n      close (fds[i]);\n    }\n\n  puts (\"OK\");\n\n  return 0;\n}\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nAcked-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@googlemail.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f606ddf42fd4edc558eeb48bfee66d2c591571d2",
      "tree": "193f00db121201255b2629fce43b99a53c4ec735",
      "parents": [
        "99764fa4ceeecba8b9e0a8a5565b418a2e94f83b"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Jul 23 21:28:50 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:24 2008 -0700"
      },
      "message": "remove the v850 port\n\nTrying to compile the v850 port brings many compile errors, one of them exists\nsince at least kernel 2.6.19.\n\nThere also seems to be noone willing to bring this port back into a usable\nstate.\n\nThis patch therefore removes the v850 port.\n\nIf anyone ever decides to revive the v850 port the code will still be\navailable from older kernels, and it wouldn\u0027t be impossible for the port to\nreenter the kernel if it would become actively maintained again.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "99764fa4ceeecba8b9e0a8a5565b418a2e94f83b",
      "tree": "aecf842728e5dfc80743662d87c089b24896f8ed",
      "parents": [
        "4a5675820436e4ad738dd442c1cc8a165101509b"
      ],
      "author": {
        "name": "WANG Cong",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Wed Jul 23 21:28:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:24 2008 -0700"
      },
      "message": "UML: make several more things static\n\n- Make some variables and functions static, since they don\u0027t need to be\n  global.\n\n- Remove an unused function - arch/um/kernel/time.c::sched_clock().\n\n- Clean the style a bit as complained by checkpatch.pl.\n\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: WANG Cong \u003cwangcong@zeuux.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4a5675820436e4ad738dd442c1cc8a165101509b",
      "tree": "95781177e1a055e74c9a163137030537134ef4d8",
      "parents": [
        "4c182ae7810f3fe444e666f3f78c209a7c116fdf"
      ],
      "author": {
        "name": "WANG Cong",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Wed Jul 23 21:28:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:24 2008 -0700"
      },
      "message": "arch/um/kernel/mem.c: remove arch_validate()\n\n- Remove arch_validate(), because no one uses it.\n\n- Remove useless macro HAVE_ARCH_VALIDATE.\n\n- Make the variable \u0027empty_bad_page\u0027 static.\n\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: WANG Cong \u003cwangcong@zeuux.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d50004b0867a59f8a81116f000edb352595343d9",
      "tree": "b8f8f69dacea6aae64d18881884bb98c19e69446",
      "parents": [
        "912019572180f287e85b5534fbb1c1e3ca6df6c9"
      ],
      "author": {
        "name": "Fernando Luis Vazquez Cao",
        "email": "fernando@intellilink.co.jp",
        "time": "Wed Jul 23 21:28:45 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:24 2008 -0700"
      },
      "message": "cris: remove unused global_flush_tlb\n\nglobal_flush_tlb is declared but never used.\n\nSigned-off-by: Fernando Luis Vazquez Cao \u003cfernando@oss.ntt.co.jp\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "912019572180f287e85b5534fbb1c1e3ca6df6c9",
      "tree": "2ce7306f6588408c6ee3b7258709e18dc8ec85fa",
      "parents": [
        "f0af566da6e9a4a2f5a83c5a70f3d0a772050e21"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Jul 23 21:28:45 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:24 2008 -0700"
      },
      "message": "mn10300: move sg_dma_{address,len}() to asm/scatterlist.h\n\nmn10300 was the only architecture where sg_dma_{address,len}() were not\nin asm/scatterlist.h, and it\u0027s not a big surprise that this caused a\ncompile error somewhere:\n\n/home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/media/video/videobuf-dma-sg.c: In function `videobuf_dma_map\u0027:\n/home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/media/video/videobuf-dma-sg.c:238: error: implicit declaration of function \u0027sg_dma_address\u0027\n\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bdfe6b7c681669148dae4db27eb24ee5408ba371",
      "tree": "644b84a7e4a329a635d9a9bc02102424cfb616e2",
      "parents": [
        "2f15fc4bdf91eb399da3f47a09c55831d9f22826"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Wed Jul 23 21:28:41 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:24 2008 -0700"
      },
      "message": "pm: acpi hibernation: utilize hardware signature\n\nACPI defines a hardware signature.  BIOS calculates the signature according to\nhardware configure and if hardware changes while hibernated, the signature\nwill change.  In that case, S4 resume should fail.\n\nStill, there may be systems on which this mechanism does not work correctly,\nso it is better to provide a workaround for them.  For this reason, add a new\nswitch to the acpi_sleep\u003d command line argument allowing one to disable\nhardware signature checking.\n\n[shaohua.li@intel.com: build fix]\nSigned-off-by: Shaohua Li \u003cshaohua.li@intel.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: \u003cValdis.Kletnieks@vt.edu\u003e\nCc: Shaohua Li \u003cshaohua.li@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c1a220e7acf8ad2c03504891f4a70cd9c32c904b",
      "tree": "902104a5a5debb5b881d7af4110ad1258ea5b0bd",
      "parents": [
        "0d83304c7e7bd3b05be90281b3a47841bc8f057a"
      ],
      "author": {
        "name": "Zhang Rui",
        "email": "rui.zhang@intel.com",
        "time": "Wed Jul 23 21:28:39 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:23 2008 -0700"
      },
      "message": "pm: introduce new interfaces schedule_work_on() and queue_work_on()\n\nThis interface allows adding a job on a specific cpu.\n\nAlthough a work struct on a cpu will be scheduled to other cpu if the cpu\ndies, there is a recursion if a work task tries to offline the cpu it\u0027s\nrunning on.  we need to schedule the task to a specific cpu in this case.\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d10897\n\n[oleg@tv-sign.ru: cleanups]\nSigned-off-by: Zhang Rui \u003crui.zhang@intel.com\u003e\nTested-by: Rus \u003charbour@sfinx.od.ua\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: 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": "8111d1b552349921aae1acf73e4e8cea98e80970",
      "tree": "39dfdfcb722125bb9d036a2f0e9814ba077acb4a",
      "parents": [
        "8c363265d57d755e62053e9f69a1f2164e83f7ea"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Wed Jul 23 21:28:37 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:23 2008 -0700"
      },
      "message": "pm: add new PM_EVENT codes for runtime power transitions\n\nThis patch (as1112) adds some new PM_EVENT_* codes for use by kernel\nsubsystems.  They describe runtime power-state transitions of the sort already\nimplemented by the USB subsystem.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8c363265d57d755e62053e9f69a1f2164e83f7ea",
      "tree": "fb5cf13c2b114817d7effcc45cdcded9d3e8e680",
      "parents": [
        "40b4ac33b4d1bdd5cbeb2241be2399c550fa3696"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Jul 23 21:28:37 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:23 2008 -0700"
      },
      "message": "pm: drop unnecessary includes from pm.h\n\nDrop unnecessary includes from include/linux/pm.h .\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e7ecb331e11d1f7aa66aeef9170fc20781c9bb55",
      "tree": "4194762c4b06742666ffa6f2e9df3d12d23d6020",
      "parents": [
        "558481f038e587b22d02167af58914c814ce9de5"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Jul 23 21:28:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:22 2008 -0700"
      },
      "message": "pm: remove remaining obsolete definitions from pm.h\n\nRemove the remaining obsolete definitions from include/linux/pm.h and move\nthe definitions of PM_SUSPEND and PM_RESUME to the header of h3600 which\nis the only user of them.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "558481f038e587b22d02167af58914c814ce9de5",
      "tree": "51a4e53192e81b17291d344860b5d40111b25b8d",
      "parents": [
        "d75f65fd247fe85d90a3880d143b1bb22fe13a48"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Jul 23 21:28:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:22 2008 -0700"
      },
      "message": "pm: remove definition of struct pm_dev\n\nRemove the definition of \u0027struct pm_dev\u0027, which is not used any more,\nalong with some related stuff from include/linux/pm.h .\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d75f65fd247fe85d90a3880d143b1bb22fe13a48",
      "tree": "f9df15bff67e07c0788b13c7e580148ce5137b39",
      "parents": [
        "77437fd4e61f87cc94d9314baa5cbf50e3ccdf54"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Jul 23 21:28:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:22 2008 -0700"
      },
      "message": "remove include/linux/pm_legacy.h\n\nRemove the obsolete and no longer used include/linux/pm_legacy.h\n\nReviewed-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nCc: Pavel Machek \u003cpavel@suse.cz\u003e\nAcked-by: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e53f12cc6c43b69f54937f15c5706d83f67c2fdd",
      "tree": "abf3b7a0ab0d1b1637da33e9bc9e154b7ffa2c75",
      "parents": [
        "5f09c4c797d00bef5700e1ca085b4efcedaf34b8"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Jul 23 21:28:28 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:22 2008 -0700"
      },
      "message": "remove include/asm-h8300/keyboard.h\n\nThis patch removes the unused include/asm-h8300/keyboard.h\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9b3e43a747c74029b0acf6acf4666601f132f471",
      "tree": "9c27118c353f9742d9715b30ec30060dd095b492",
      "parents": [
        "84aaa7ab4c40b66d6dd9aa393901551ad50ec640"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Wed Jul 23 21:28:26 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:22 2008 -0700"
      },
      "message": "security: remove unused forwards\n\nWhy would linux/security.h need forward declarations for nfsctl_arg and\nswap_info_struct?  It\u0027s hard to imagine: remove them.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5459c164f0591ee75ed0203bb8f3817f25948e2f",
      "tree": "7b17a0cbadfc487d7311b7f5a41779ff33d6fe7f",
      "parents": [
        "78ecba081224a2db5876b6b81cfed0b78f58adc7"
      ],
      "author": {
        "name": "Andrew G. Morgan",
        "email": "morgan@kernel.org",
        "time": "Wed Jul 23 21:28:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:22 2008 -0700"
      },
      "message": "security: protect legacy applications from executing with insufficient privilege\n\nWhen cap_bset suppresses some of the forced (fP) capabilities of a file,\nit is generally only safe to execute the program if it understands how to\nrecognize it doesn\u0027t have enough privilege to work correctly.  For legacy\napplications (fE!\u003d0), which have no non-destructive way to determine that\nthey are missing privilege, we fail to execute (EPERM) any executable that\nrequires fP capabilities, but would otherwise get pP\u0027 \u003c fP.  This is a\nfail-safe permission check.\n\nFor some discussion of why it is problematic for (legacy) privileged\napplications to run with less than the set of capabilities requested for\nthem, see:\n\n http://userweb.kernel.org/~morgan/sendmail-capabilities-war-story.html\n\nWith this iteration of this support, we do not include setuid-0 based\nprivilege protection from the bounding set.  That is, the admin can still\n(ab)use the bounding set to suppress the privileges of a setuid-0 program.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: cleanup]\nSigned-off-by: Andrew G. Morgan \u003cmorgan@kernel.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "83d1674a946141c3c59d430e96c224f7937e6158",
      "tree": "03420c9fdf56ad35de685b7c0b48899d886bd7ff",
      "parents": [
        "9ca908f47bc784c90e17a553ce33e756c73feac4"
      ],
      "author": {
        "name": "Gerald Schaefer",
        "email": "gerald.schaefer@de.ibm.com",
        "time": "Wed Jul 23 21:28:22 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:21 2008 -0700"
      },
      "message": "mm: make CONFIG_MIGRATION available w/o CONFIG_NUMA\n\nWe\u0027d like to support CONFIG_MEMORY_HOTREMOVE on s390, which depends on\nCONFIG_MIGRATION.  So far, CONFIG_MIGRATION is only available with NUMA\nsupport.\n\nThis patch makes CONFIG_MIGRATION selectable for architectures that define\nARCH_ENABLE_MEMORY_HOTREMOVE.  When MIGRATION is enabled w/o NUMA, the\nkernel won\u0027t compile because migrate_vmas() does not know about\nvm_ops-\u003emigrate() and vma_migratable() does not know about policy_zone.\nTo fix this, those two functions can be restricted to \u0027#ifdef CONFIG_NUMA\u0027\nbecause they are not being used w/o NUMA.  vma_migratable() is moved over\nfrom migrate.h to mempolicy.h.\n\n[kosaki.motohiro@jp.fujitsu.com: build fix]\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Gerald Schaefer \u003cgerald.schaefer@de.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: KOSAKI Motorhiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9ca908f47bc784c90e17a553ce33e756c73feac4",
      "tree": "2b6752e655484b1936ee1d410f272f9ff8b0305d",
      "parents": [
        "5c755e9fd813810680abd56ec09a5f90143e815b"
      ],
      "author": {
        "name": "Milton Miller",
        "email": "miltonm@bga.com",
        "time": "Wed Jul 23 21:28:20 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:21 2008 -0700"
      },
      "message": "kcalloc: remove runtime division\n\nWhile in all cases in the kernel we know the size of the elements to be\ncreated, we don\u0027t always know the count of elements.  By commuting the size\nand count in the overflow check, the compiler can reduce the runtime division\nof size_t with a compare to a (unique) constant in these cases.\n\nSigned-off-by: Milton Miller \u003cmiltonm@bga.com\u003e\nCc: Takashi Iwai \u003ctiwai@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": "5c755e9fd813810680abd56ec09a5f90143e815b",
      "tree": "1686c0666f6bd630441957a53c546d90b0f61723",
      "parents": [
        "2f7f24eca31c4fc2fdb134b2ef743ccd67cfb9a9"
      ],
      "author": {
        "name": "Badari Pulavarty",
        "email": "pbadari@us.ibm.com",
        "time": "Wed Jul 23 21:28:19 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:21 2008 -0700"
      },
      "message": "memory-hotplug: add sysfs removable attribute for hotplug memory remove\n\nMemory may be hot-removed on a per-memory-block basis, particularly on\nPOWER where the SPARSEMEM section size often matches the memory-block\nsize.  A user-level agent must be able to identify which sections of\nmemory are likely to be removable before attempting the potentially\nexpensive operation.  This patch adds a file called \"removable\" to the\nmemory directory in sysfs to help such an agent.  In this patch, a memory\nblock is considered removable if;\n\no It contains only MOVABLE pageblocks\no It contains only pageblocks with free pages regardless of pageblock type\n\nOn the other hand, a memory block starting with a PageReserved() page will\nnever be considered removable.  Without this patch, the user-agent is\nforced to choose a memory block to remove randomly.\n\nSample output of the sysfs files:\n\n./memory/memory0/removable: 0\n./memory/memory1/removable: 0\n./memory/memory2/removable: 0\n./memory/memory3/removable: 0\n./memory/memory4/removable: 0\n./memory/memory5/removable: 0\n./memory/memory6/removable: 0\n./memory/memory7/removable: 1\n./memory/memory8/removable: 0\n./memory/memory9/removable: 0\n./memory/memory10/removable: 0\n./memory/memory11/removable: 0\n./memory/memory12/removable: 0\n./memory/memory13/removable: 0\n./memory/memory14/removable: 0\n./memory/memory15/removable: 0\n./memory/memory16/removable: 0\n./memory/memory17/removable: 1\n./memory/memory18/removable: 1\n./memory/memory19/removable: 1\n./memory/memory20/removable: 1\n./memory/memory21/removable: 1\n./memory/memory22/removable: 1\n\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "af370fb8cb3031f20438f246798d5f0d98089f29",
      "tree": "a5b06adeeaeaafb89c7d326ed1daabd0caa364c8",
      "parents": [
        "48c906823f3927b981db9f0b03c2e2499977ee93"
      ],
      "author": {
        "name": "Yasunori Goto",
        "email": "y-goto@jp.fujitsu.com",
        "time": "Wed Jul 23 21:28:17 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:21 2008 -0700"
      },
      "message": "memory hotplug: small fixes to bootmem freeing for memory hotremove\n\n- Change some naming\n  * Magic -\u003e types\n  * MIX_INFO -\u003e MIX_SECTION_INFO\n  * Change definition of bootmem type from direct hex value\n\n- __free_pages_bootmem() becomes __meminit.\n\nSigned-off-by: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nCc: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nCc: Johannes Weiner \u003channes@saeurebad.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "27ac792ca0b0a1e7e65f20342260650516c95864",
      "tree": "8e0bc93612da0803fe12303ccb75c837cd633c83",
      "parents": [
        "d92bc318547507a944a22e7ef936793dc0fe167f"
      ],
      "author": {
        "name": "Andrea Righi",
        "email": "righi.andrea@gmail.com",
        "time": "Wed Jul 23 21:28:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:21 2008 -0700"
      },
      "message": "PAGE_ALIGN(): correctly handle 64-bit values on 32-bit architectures\n\nOn 32-bit architectures PAGE_ALIGN() truncates 64-bit values to the 32-bit\nboundary. For example:\n\n\tu64 val \u003d PAGE_ALIGN(size);\n\nalways returns a value \u003c 4GB even if size is greater than 4GB.\n\nThe problem resides in PAGE_MASK definition (from include/asm-x86/page.h for\nexample):\n\n#define PAGE_SHIFT      12\n#define PAGE_SIZE       (_AC(1,UL) \u003c\u003c PAGE_SHIFT)\n#define PAGE_MASK       (~(PAGE_SIZE-1))\n...\n#define PAGE_ALIGN(addr)       (((addr)+PAGE_SIZE-1)\u0026PAGE_MASK)\n\nThe \"~\" is performed on a 32-bit value, so everything in \"and\" with\nPAGE_MASK greater than 4GB will be truncated to the 32-bit boundary.\nUsing the ALIGN() macro seems to be the right way, because it uses\ntypeof(addr) for the mask.\n\nAlso move the PAGE_ALIGN() definitions out of include/asm-*/page.h in\ninclude/linux/mm.h.\n\nSee also lkml discussion: http://lkml.org/lkml/2008/6/11/237\n\n[akpm@linux-foundation.org: fix drivers/media/video/uvc/uvc_queue.c]\n[akpm@linux-foundation.org: fix v850]\n[akpm@linux-foundation.org: fix powerpc]\n[akpm@linux-foundation.org: fix arm]\n[akpm@linux-foundation.org: fix mips]\n[akpm@linux-foundation.org: fix drivers/media/video/pvrusb2/pvrusb2-dvb.c]\n[akpm@linux-foundation.org: fix drivers/mtd/maps/uclinux.c]\n[akpm@linux-foundation.org: fix powerpc]\nSigned-off-by: Andrea Righi \u003crighi.andrea@gmail.com\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2be0ffe2b29bd31d3debd0877797892ff2d91f4c",
      "tree": "7f6e56b3fc5a721296851448e3facf821ef543dd",
      "parents": [
        "3560e249abda6bee41a07a7bf0383a6e193e2839"
      ],
      "author": {
        "name": "Timur Tabi",
        "email": "timur@freescale.com",
        "time": "Wed Jul 23 21:28:11 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:20 2008 -0700"
      },
      "message": "mm: add alloc_pages_exact() and free_pages_exact()\n\nalloc_pages_exact() is similar to alloc_pages(), except that it allocates\nthe minimum number of pages to fulfill the request.  This is useful if you\nwant to allocate a very large buffer that is slightly larger than an even\npower-of-two number of pages.  In that case, alloc_pages() will waste a\nlot of memory.\n\nI have a video driver that wants to allocate a 5MB buffer.  alloc_pages()\nwiill waste 3MB of physically-contiguous memory.\n\nSigned-off-by: Timur Tabi \u003ctimur@freescale.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3560e249abda6bee41a07a7bf0383a6e193e2839",
      "tree": "a5770b74f13dca64e34cd5a1e3182e4e1f98a9ca",
      "parents": [
        "75a56cfe9fdb064d1db1cfbc564315fddb756fb1"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@saeurebad.de",
        "time": "Wed Jul 23 21:28:09 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:20 2008 -0700"
      },
      "message": "bootmem: replace node_boot_start in struct bootmem_data\n\nAlmost all users of this field need a PFN instead of a physical address,\nso replace node_boot_start with node_min_pfn.\n\n[Lee.Schermerhorn@hp.com: fix spurious BUG_ON() in mark_bootmem()]\nSigned-off-by: Johannes Weiner \u003channes@saeureba.de\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5f2809e69c7128f86316048221cf45146f69a4a0",
      "tree": "3c958e4f2c563a0d59f577bf239fe103057d6730",
      "parents": [
        "41546c17418fba08ece978bad72a33072715b8f3"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@saeurebad.de",
        "time": "Wed Jul 23 21:28:05 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:20 2008 -0700"
      },
      "message": "bootmem: clean up alloc_bootmem_core\n\nalloc_bootmem_core has become quite nasty to read over time.  This is a\nclean rewrite that keeps the semantics.\n\nbdata-\u003elast_pos has been dropped.\n\nbdata-\u003elast_success has been renamed to hint_idx and it is now an index\nrelative to the node\u0027s range.  Since further block searching might start\nat this index, it is now set to the end of a succeeded allocation rather\nthan its beginning.\n\nbdata-\u003elast_offset has been renamed to last_end_off to be more clear that\nit represents the ending address of the last allocation relative to the\nnode.\n\n[y-goto@jp.fujitsu.com: fix new alloc_bootmem_core()]\nSigned-off-by: Johannes Weiner \u003channes@saeurebad.de\u003e\nSigned-off-by: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "223e8dc9249c9e15f6c8b638d73fcad78ccb0a88",
      "tree": "dff068c99609163c1632926c7f321279d8f945d8",
      "parents": [
        "7251ff78b94c2a68d267623d09b32672b20662c1"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@saeurebad.de",
        "time": "Wed Jul 23 21:28:00 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:19 2008 -0700"
      },
      "message": "bootmem: reorder code to match new bootmem structure\n\nThis only reorders functions so that further patches will be easier to\nread.  No code changed.\n\nSigned-off-by: Johannes Weiner \u003channes@saeurebad.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0d9ea75443dc7e37843e656b8ebc947a6d16d618",
      "tree": "4eb47a4468a92c90a90873d1646196955b487996",
      "parents": [
        "f4a67cceee4a6f5ed38011a698c9e34747270ae5"
      ],
      "author": {
        "name": "Jon Tollefson",
        "email": "kniht@linux.vnet.ibm.com",
        "time": "Wed Jul 23 21:27:56 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:19 2008 -0700"
      },
      "message": "powerpc: support multiple hugepage sizes\n\nInstead of using the variable mmu_huge_psize to keep track of the huge\npage size we use an array of MMU_PAGE_* values.  For each supported huge\npage size we need to know the hugepte_shift value and have a\npgtable_cache.  The hstate or an mmu_huge_psizes index is passed to\nfunctions so that they know which huge page size they should use.\n\nThe hugepage sizes 16M and 64K are setup(if available on the hardware) so\nthat they don\u0027t have to be set on the boot cmd line in order to use them.\nThe number of 16G pages have to be specified at boot-time though (e.g.\nhugepagesz\u003d16G hugepages\u003d5).\n\nSigned-off-by: Jon Tollefson \u003ckniht@linux.vnet.ibm.com\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@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": "91224346aa8c1cdaa660300a98e0b074a3a95030",
      "tree": "7b4d9604001afd55e9a3fdb6d1a414f5f2d15214",
      "parents": [
        "658013e93eb70494f7300bc90457b09a807232a4"
      ],
      "author": {
        "name": "Jon Tollefson",
        "email": "kniht@linux.vnet.ibm.com",
        "time": "Wed Jul 23 21:27:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:19 2008 -0700"
      },
      "message": "powerpc: define support for 16G hugepages\n\nThe huge page size is defined for 16G pages.  If a hugepagesz of 16G is\nspecified at boot-time then it becomes the huge page size instead of the\ndefault 16M.\n\nThe change in pgtable-64K.h is to the macro pte_iterate_hashed_subpages to\nmake the increment to va (the 1 being shifted) be a long so that it is not\nshifted to 0.  Otherwise it would create an infinite loop when the shift\nvalue is for a 16G page (when base page size is 64K).\n\nSigned-off-by: Jon Tollefson \u003ckniht@linux.vnet.ibm.com\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@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": "658013e93eb70494f7300bc90457b09a807232a4",
      "tree": "d03a23ac4fff0b35138b5d8abb761e9fad85b09c",
      "parents": [
        "ec4b2c0c8312d1118c2acd00c89988ecf955d5cc"
      ],
      "author": {
        "name": "Jon Tollefson",
        "email": "kniht@linux.vnet.ibm.com",
        "time": "Wed Jul 23 21:27:54 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:19 2008 -0700"
      },
      "message": "powerpc: scan device tree for gigantic pages\n\nThe 16G huge pages have to be reserved in the HMC prior to boot.  The\nlocation of the pages are placed in the device tree.  This patch adds code\nto scan the device tree during very early boot and save these page\nlocations until hugetlbfs is ready for them.\n\nAcked-by: Adam Litke \u003cagl@us.ibm.com\u003e\nSigned-off-by: Jon Tollefson \u003ckniht@linux.vnet.ibm.com\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@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": "53ba51d21d6e048424ab8aadfebdb1f25ae07b60",
      "tree": "0d5c5ee420e85f3a86ff7fe9151e7c3d547e7de1",
      "parents": [
        "e11bfbfcb08ef4223b863799897c19cdf7c5bc00"
      ],
      "author": {
        "name": "Jon Tollefson",
        "email": "kniht@linux.vnet.ibm.com",
        "time": "Wed Jul 23 21:27:52 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:19 2008 -0700"
      },
      "message": "hugetlb: allow arch overridden hugepage allocation\n\nAllow alloc_bootmem_huge_page() to be overridden by architectures that\ncan\u0027t always use bootmem.  This requires huge_boot_pages to be available\nfor use by this function.\n\nThis is required for powerpc 16G pages, which have to be reserved prior to\nboot-time.  The location of these pages are indicated in the device tree.\n\nAcked-by: Adam Litke \u003cagl@us.ibm.com\u003e\nSigned-off-by: Jon Tollefson \u003ckniht@linux.vnet.ibm.com\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@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": "b4718e628dbf68a2dee23b5709e2aa3190409c56",
      "tree": "e685b2bd36a0fe731b128d2814996a693561d288",
      "parents": [
        "39c11e6c05b7fedbf7ed4df3908b25f622d56204"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed Jul 23 21:27:51 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:19 2008 -0700"
      },
      "message": "x86: add hugepagesz option on 64-bit\n\nAdd an hugepagesz\u003d...  option similar to IA64, PPC etc.  to x86-64.\n\nThis finally allows to select GB pages for hugetlbfs in x86 now that all\nthe infrastructure is in place.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@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": "ceb868796181dc95ea01a110e123afd391639873",
      "tree": "991be618e5195b05c31974a19adb4b9602315013",
      "parents": [
        "4abd32dbab201c3ced0b0af12accea77cd9eeffc"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed Jul 23 21:27:50 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:18 2008 -0700"
      },
      "message": "hugetlb: introduce pud_huge\n\nStraight forward extensions for huge pages located in the PUD instead of\nPMDs.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b54bbf7b81170f03597c17dd0b559e3006bc9868",
      "tree": "abc6b326e293d3a685d943956d32ab4038a90e1f",
      "parents": [
        "5ced66c901f1cf0b684feb15c2cd8b126e263d07"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed Jul 23 21:27:45 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:17 2008 -0700"
      },
      "message": "mm: introduce non panic alloc_bootmem\n\nStraight forward variant of the existing __alloc_bootmem_node, only\nsubsequent patch when allocating giant hugepages at boot -- don\u0027t want to\npanic if we can\u0027t allocate as many as the user asked for.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@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": "a3437870160cf2caaac6bdd76c7377a5a4145a8c",
      "tree": "6d3c8ddd442e4cd96f1f8bdcf59fcaef72f4edc9",
      "parents": [
        "a137e1cc6d6e7d315fef03962a2a5a113348b13b"
      ],
      "author": {
        "name": "Nishanth Aravamudan",
        "email": "nacc@us.ibm.com",
        "time": "Wed Jul 23 21:27:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:17 2008 -0700"
      },
      "message": "hugetlb: new sysfs interface\n\nProvide new hugepages user APIs that are more suited to multiple hstates\nin sysfs.  There is a new directory, /sys/kernel/hugepages.  Underneath\nthat directory there will be a directory per-supported hugepage size,\ne.g.:\n\n/sys/kernel/hugepages/hugepages-64kB\n/sys/kernel/hugepages/hugepages-16384kB\n/sys/kernel/hugepages/hugepages-16777216kB\n\ncorresponding to 64k, 16m and 16g respectively.  Within each\nhugepages-size directory there are a number of files, corresponding to the\ntracked counters in the hstate, e.g.:\n\n/sys/kernel/hugepages/hugepages-64/nr_hugepages\n/sys/kernel/hugepages/hugepages-64/nr_overcommit_hugepages\n/sys/kernel/hugepages/hugepages-64/free_hugepages\n/sys/kernel/hugepages/hugepages-64/resv_hugepages\n/sys/kernel/hugepages/hugepages-64/surplus_hugepages\n\nOf these files, the first two are read-write and the latter three are\nread-only.  The size of the hugepage being manipulated is trivially\ndeducible from the enclosing directory and is always expressed in kB (to\nmatch meminfo).\n\n[dave@linux.vnet.ibm.com: fix build]\n[nacc@us.ibm.com: hugetlb: hang off of /sys/kernel/mm rather than /sys/kernel]\n[nacc@us.ibm.com: hugetlb: remove CONFIG_SYSFS dependency]\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nSigned-off-by: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a137e1cc6d6e7d315fef03962a2a5a113348b13b",
      "tree": "b47e195c392abaa3640cc2f9187d99d58cee664a",
      "parents": [
        "e5ff215941d59f8ae6bf58f6428dc5c26745a612"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed Jul 23 21:27:43 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:17 2008 -0700"
      },
      "message": "hugetlbfs: per mount huge page sizes\n\nAdd the ability to configure the hugetlb hstate used on a per mount basis.\n\n- Add a new pagesize\u003d option to the hugetlbfs mount that allows setting\n  the page size\n- This option causes the mount code to find the hstate corresponding to the\n  specified size, and sets up a pointer to the hstate in the mount\u0027s\n  superblock.\n- Change the hstate accessors to use this information rather than the\n  global_hstate they were using (requires a slight change in mm/memory.c\n  so we don\u0027t NULL deref in the error-unmap path -- see comments).\n\n[np: take hstate out of hugetlbfs inode and vma-\u003evm_private_data]\n\nAcked-by: Adam Litke \u003cagl@us.ibm.com\u003e\nAcked-by: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "e5ff215941d59f8ae6bf58f6428dc5c26745a612"
}
