)]}'
{
  "log": [
    {
      "commit": "62933d36ac98360da45f43df989277df002b034b",
      "tree": "1164d4f10bb56b757f0507ed49d7aa4b17a9dc2b",
      "parents": [
        "0ab598099c18affd73a21482274c00e8119236be",
        "f64071200acc124bd0d641ef7d750f38fbf5f8b8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 10 13:32:24 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 10 13:32:24 2007 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc\n\n* \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (24 commits)\n  [POWERPC] Fix compile error with kexec and CONFIG_SMP\u003dn\n  [POWERPC] Split initrd logic out of early_init_dt_scan_chosen() to fix warning\n  [POWERPC] Fix warning in hpte_decode(), and generalize it\n  [POWERPC] Minor pSeries IOMMU debug cleanup\n  [POWERPC] PS3: Fix sys manager build error\n  [POWERPC] Assorted janitorial EEH cleanups\n  [POWERPC] We don\u0027t define CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID\n  [POWERPC] pmu_sys_suspended is only defined for PPC32\n  [POWERPC] Fix incorrect calculation of I/O window addresses\n  [POWERPC] celleb: Update celleb_defconfig\n  [POWERPC] celleb: Fix parsing of machine type hack command line option\n  [POWERPC] celleb: Fix PCI config space accesses to subordinate buses\n  [POWERPC] celleb: Fix support for multiple PCI domains\n  [POWERPC] Wire up sys_utimensat\n  [POWERPC] CPM_UART: Removed __init from cpm_uart_init_portdesc to fix warning\n  [POWERPC] User rheap from arch/powerpc/lib\n  [POWERPC] 83xx: Fix the PCI ranges in the MPC834x_MDS device tree.\n  [POWERPC] 83xx: Fix the PCI ranges in the MPC832x_MDS device tree.\n  [POWERPC] CPM_UART: cpm_uart_set_termios should take ktermios, not termios\n  [POWERPC] Change rheap functions to use ulongs instead of pointers\n  ...\n"
    },
    {
      "commit": "b526ca438b95a6d71210e0ffc79aabac8aba2b1e",
      "tree": "7b162fa7d99405c5ad0110b6f4a4db05ff9e48d5",
      "parents": [
        "9b6a51746ffe8d619f1097675d2dc5e303470024",
        "f685648e7d6520653fa2641840cccc58ba8ef8e0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 10 13:30:34 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 10 13:30:34 2007 -0700"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6:\n  acpi,msi-laptop: Fall back to EC polling mode for MSI laptop specific EC commands\n  sony-laptop: rename SONY_LAPTOP_OLD to a more meaningful SONYPI_COMPAT\n  asus-laptop: version bump and lindent\n  asus-laptop: fix light sens init\n  asus-laptop: add GPS support\n  asus-laptop: notify ALL events\n  ACPICA: Lindent\n  ACPI: created a dedicated workqueue for notify() execution\n  Revert \"ACPICA: fix AML mutex re-entrancy\"\n  Revert \"Execute AML Notify() requests on stack.\"\n  Revert \"ACPICA: revert \"acpi_serialize\" changes\"\n  ACPI: delete un-reliable concept of cooling mode\n  ACPI: thermal trip points are read-only\n"
    },
    {
      "commit": "9b6a51746ffe8d619f1097675d2dc5e303470024",
      "tree": "52668d7adc6f5c1d347d65072878cf1f82670364",
      "parents": [
        "fc0b60f1dc311a2f7443ce46305edd287b2d8947",
        "d79406dd140a3e6eed6f26b17f0c6620fe30b50c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 10 13:29:36 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 10 13:30:08 2007 -0700"
      },
      "message": "Merge branch \u0027juju\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6\n\n* \u0027juju\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: (138 commits)\n  firewire: Convert OHCI driver to use standard goto unwinding for error handling.\n  firewire: Always use parens with sizeof.\n  firewire: Drop single buffer request support.\n  firewire: Add a comment to describe why we split the sg list.\n  firewire: Return SCSI_MLQUEUE_HOST_BUSY for out of memory cases in queuecommand.\n  firewire: Handle the last few DMA mapping error cases.\n  firewire: Allocate scsi_host up front and allocate the sbp2_device as hostdata.\n  firewire: Provide module aliase for backwards compatibility.\n  firewire: Add to fw-core-y instead of assigning fw-core-objs in Makefile.\n  firewire: Break out shared IEEE1394 constant to separate header file.\n  firewire: Use linux/*.h instead of asm/*.h header files.\n  firewire: Uppercase most macro names.\n  firewire: Coding style cleanup: no spaces after function names.\n  firewire: Convert card_rwsem to a regular mutex.\n  firewire: Clean up comment style.\n  firewire: Use lib/ implementation of CRC ITU-T.\n  CRC ITU-T V.41\n  firewire: Rename fw-device-cdev.c to fw-cdev.c and move header to include/linux.\n  firewire: Future proof the iso ioctls by adding a handle for the iso context.\n  firewire: Add read/write and size annotations to IOC numbers.\n  ...\n\nAcked-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "218e180e7ea5334e1f94121940ba82cd1f0f4e58",
      "tree": "5b7aa47a2439c40b8b68a3bfd9e2f72bf07cf385",
      "parents": [
        "894b8788d7f265eb7c6f75a9a77cedeb48f51586"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Thu May 10 03:15:18 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 10 09:26:52 2007 -0700"
      },
      "message": "add upper-32-bits macro\n\nWe keep on getting \"right shift count \u003e\u003d width of type\" warnings when doing\nthings like\n\n\tsector_t s;\n\n\tx \u003d s \u003e\u003e 56;\n\nbecause with CONFIG_LBD\u003dn, s is only 32-bit.  Similar problems can occur with\ndma_addr_t\u0027s.\n\nSo add a simple wrapper function which code can use to avoid this warning.\nThe above example would become\n\n\tx \u003d upper_32_bits(s) \u003e\u003e 24;\n\nThe first user is in fact AFS.\n\nCc: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\nCc: \"Cameron, Steve\" \u003cSteve.Cameron@hp.com\u003e\nCc: \"Miller, Mike (OS Dev)\" \u003cMike.Miller@hp.com\u003e\nCc: Hisashi Hifumi \u003chifumi.hisashi@oss.ntt.co.jp\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "894b8788d7f265eb7c6f75a9a77cedeb48f51586",
      "tree": "4b00fa4704090876895b8a7528c6fe5e2201fc28",
      "parents": [
        "02b67325a6d34f2ae67484a8802b6ffc9ce9931d"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Thu May 10 03:15:16 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 10 09:26:52 2007 -0700"
      },
      "message": "slub: support concurrent local and remote frees and allocs on a slab\n\nAvoid atomic overhead in slab_alloc and slab_free\n\nSLUB needs to use the slab_lock for the per cpu slabs to synchronize with\npotential kfree operations.  This patch avoids that need by moving all free\nobjects onto a lockless_freelist.  The regular freelist continues to exist\nand will be used to free objects.  So while we consume the\nlockless_freelist the regular freelist may build up objects.\n\nIf we are out of objects on the lockless_freelist then we may check the\nregular freelist.  If it has objects then we move those over to the\nlockless_freelist and do this again.  There is a significant savings in\nterms of atomic operations that have to be performed.\n\nWe can even free directly to the lockless_freelist if we know that we are\nrunning on the same processor.  So this speeds up short lived objects.\nThey may be allocated and freed without taking the slab_lock.  This is\nparticular good for netperf.\n\nIn order to maximize the effect of the new faster hotpath we extract the\nhottest performance pieces into inlined functions.  These are then inlined\ninto kmem_cache_alloc and kmem_cache_free.  So hotpath allocation and\nfreeing no longer requires a subroutine call within SLUB.\n\n[I am not sure that it is worth doing this because it changes the easy to\nread structure of slub just to reduce atomic ops.  However, there is\nsomeone out there with a benchmark on 4 way and 8 way processor systems\nthat seems to show a 5% regression vs.  Slab.  Seems that the regression is\ndue to increased atomic operations use vs.  SLAB in SLUB).  I wonder if\nthis is applicable or discernable at all in a real workload?]\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4c5a443e80e6d85e5c84a56bf30b61fe84c1f292",
      "tree": "c5404475fe48376d9151c08c4cc37eb507fcd5e3",
      "parents": [
        "04dfb8dbd200c574b2f292146ef817d9745c8936"
      ],
      "author": {
        "name": "Kristian Høgsberg",
        "email": "krh@redhat.com",
        "time": "Mon May 07 20:33:37 2007 -0400"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu May 10 18:24:13 2007 +0200"
      },
      "message": "firewire: Break out shared IEEE1394 constant to separate header file.\n\nSigned-off-by: Kristian Hoegsberg \u003ckrh@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "04dfb8dbd200c574b2f292146ef817d9745c8936",
      "tree": "1eb9aa958e3a3d86ce76c5219d32af561410d3b2",
      "parents": [
        "a77754a75d58d534fd34a5add8ac1bb91d4ffc0f"
      ],
      "author": {
        "name": "Kristian Høgsberg",
        "email": "krh@redhat.com",
        "time": "Mon May 07 20:33:36 2007 -0400"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu May 10 18:24:13 2007 +0200"
      },
      "message": "firewire: Use linux/*.h instead of asm/*.h header files.\n\nSigned-off-by: Kristian Hoegsberg \u003ckrh@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "3e7cbae7c6dda18d427335b3ad98f1a0d40ef30c",
      "tree": "2ac604d8d6f4eb671e23c9b6a405c37b92fa8df3",
      "parents": [
        "9640d3d775aa325650c8fcdf49127542f77b2156"
      ],
      "author": {
        "name": "Ivo van Doorn",
        "email": "IvDoorn@gmail.com",
        "time": "Mon Jun 12 16:17:04 2006 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu May 10 18:24:13 2007 +0200"
      },
      "message": "CRC ITU-T V.41\n\nThis will add the CRC calculation according\nto the CRC ITU-T V.41 to the kernel lib/ folder.\n\nThis code has been derived from the rt2x00 driver,\ncurrently found only in the wireless-dev tree, but\nthis library is generic and could be used by more\ndrivers who currently use their own implementation.\n\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\n\nAlso useful for the new firewire stack.\n\nSigned-off-by: Kristian Hoegsberg \u003ckrh@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "49d687b636c1f7e9a14faab7bd654f9fb88ecd11",
      "tree": "eded43f542a7245f45de34609d158dcfad7c3f82",
      "parents": [
        "31e92e0a1f40ecbef415cd99dc886b14963dc594"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Thu May 10 02:19:51 2007 +1000"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Thu May 10 21:28:13 2007 +1000"
      },
      "message": "[POWERPC] pmu_sys_suspended is only defined for PPC32\n\nthus we get a link error on ppc64 with CONFIG_PM\u003dy.  This fixes it.\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "00eb43a1897a8845d0edb198cec69ac5f1f299dd",
      "tree": "32cab402e51882c7854eab20556f0da75525cdc7",
      "parents": [
        "a64e62a07097f67108f0b68bc15216c3a4a5299b"
      ],
      "author": {
        "name": "Lennart Poettering",
        "email": "mzxreary@0pointer.de",
        "time": "Fri May 04 14:16:19 2007 +0200"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Thu May 10 03:52:22 2007 -0400"
      },
      "message": "acpi,msi-laptop: Fall back to EC polling mode for MSI laptop specific EC commands\n\nThe ACPI EC that is used in MSI laptops knows some non-standard\ncommands for changing the screen brighntess and a few other things,\nwhich are used by the msi-laptop.c driver. Unfortunately for these\ncommands no GPE events for IBF and OBF are triggered. Since nowadays\nthe EC code uses the ec_intr\u003d1 mode by default, this causes these\noperations to timeout, although they don\u0027t fail. In result, all\noperations that you can do with the msi-laptop.c driver take more or\nless 1s to complete, which is awfully slow.\n\nIn one of the more recent kernels (2.6.20?) the EC subsystem has been\nrevamped. With that change the EC timeout has been increased. before\nthat increase the MSI EC accesses were slow -- but not *that* slow,\nhence I took notice of this limitation of the MSI EC hardware only very\nrecently.\n\nThe standard EC operations on the MSI EC as defined in the ACPI spec\nsupport GPE events properly.\n\nThe following patch adds a new argument \"force_poll\" to the\nec_transaction() function (and friends). If set to 1, the function\nwill poll for IBF/OBF even if ec_intr\u003d1 is enabled. If set to 0 the\ncurrent behaviour is used. The msi-laptop driver is modified to make\nuse of this new flag, so that OBF/IBF is polled for the special MSI EC\ntransactions -- but only for them.\n\nSigned-off-by: Lennart Poettering \u003cmzxreary@0pointer.de\u003e\nAcked-by: Alexey Starikovskiy \u003caystarik@gmail.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "de5603748af8bf7deac403e6ba92887f8d18e812",
      "tree": "fd93862c70ec0eeba5fe340d7519ab33a9cb1dff",
      "parents": [
        "b5f0adbcc4f16e378882d8f68fe3111df04911be",
        "225c7b1feef1b41170f7037a5b10a65cd8a42c54"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 19:40:09 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 19:40:09 2007 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband\n\n* \u0027for-linus\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband:\n  IB/mlx4: Add a driver Mellanox ConnectX InfiniBand adapters\n  IB: Put rlimit accounting struct in struct ib_umem\n  IB/uverbs: Export ib_umem_get()/ib_umem_release() to modules\n"
    },
    {
      "commit": "44ce6294d07555c3d313757105fd44b78208407f",
      "tree": "29659bee16a4d7111124c6f41289bc9c11669e70",
      "parents": [
        "497f050c42e46a4b1f6a9bcd8827fa5d97fe1feb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 18:51:36 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 18:51:36 2007 -0700"
      },
      "message": "Revert \"md: improve partition detection in md array\"\n\nThis reverts commit 5b479c91da90eef605f851508744bfe8269591a0.\n\nQuoth Neil Brown:\n\n  \"It causes an oops when auto-detecting raid arrays, and it doesn\u0027t\n   seem easy to fix.\n\n   The array may not be \u0027open\u0027 when do_md_run is called, so\n   bdev-\u003ebd_disk might be NULL, so bd_set_size can oops.\n\n   This whole approach of opening an md device before it has been\n   assembled just seems to get more and more painful.  I think I\u0027m going\n   to have to come up with something clever to provide both backward\n   comparability with usage expectation, and sane integration into the\n   rest of the kernel.\"\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3cb7396b7b26585b1ab7c1a8ca554ec103da5d37",
      "tree": "94720199f016045fe2a204ac8fd26c0029f4544c",
      "parents": [
        "d0b6e0e380d6a32d479120a8b5d98cdff936ec8c",
        "317a46a200e6514a1acf50ed30291160185a5c73"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 15:41:31 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 15:41:31 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6:\n  ide: fix PIO setup on resume for ATAPI devices\n  ide: legacy PCI bus order probing fixes\n  ide: add ide_proc_register_port()\n  ide: add \"initializing\" argument to ide_register_hw()\n  ide: cable detection fixes (take 2)\n  ide: move IDE settings handling to ide-proc.c\n  ide: split off ioctl handling from IDE settings (v2)\n  ide: make /proc/ide/ optional\n  ide: add ide_tune_dma() helper\n  ide: rework the code for selecting the best DMA transfer mode (v3)\n  ide: fix UDMA/MWDMA/SWDMA masks (v3)\n"
    },
    {
      "commit": "6d208b39c45edee5def6c201fcd51561c5a39828",
      "tree": "55645d2b6173e3161d12e5c9efdc4bd052b75b56",
      "parents": [
        "5cbf79cdb37be2aa2a1b4fa94144526b14557060"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu May 10 00:01:11 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu May 10 00:01:11 2007 +0200"
      },
      "message": "ide: legacy PCI bus order probing fixes\n\nIDE PCI host drivers should register themselves with IDE core only when\nIDE driver is built-in, otherwise (IDE driver is modular and thus IDE PCI\nhost drivers are also modular) the code has no effect and just complicates\nthe probing.\n\nFix it by adding new config option CONFIG_IDEPCI_PCIBUS (defined only when\nneeded and invisible to the user) and covering by #ifdef/#endif the code\nin question.  It turned out that \"ide\u003dreverse\" was silently accepted but did\nnothing in case when IDE driver was modular, this is fixed now.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n\n"
    },
    {
      "commit": "5cbf79cdb37be2aa2a1b4fa94144526b14557060",
      "tree": "1fcfbc1248b9904e5890cc593f018ee0a8a53238",
      "parents": [
        "869c56ee9de1b72cd3f8ab9cdfbd3601e55c61f2"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu May 10 00:01:11 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu May 10 00:01:11 2007 +0200"
      },
      "message": "ide: add ide_proc_register_port()\n\n* create_proc_ide_interfaces() tries to add /proc entries for every probed\n  and initialized IDE port, replace it by ide_proc_register_port() which does\n  it only for the given port (also rename destroy_proc_ide_interface() to\n  ide_proc_unregister_port() for consistency)\n  \n* convert {create,destroy}_proc_ide_interface[s]() users to use new functions\n\n* pmac driver depended on proc_ide_create() to add /proc port entries, fix it\n  \n* au1xxx-ide, swarm and cs5520 drivers depended indirectly on ide-generic\n  driver (CONFIG_IDE_GENERIC\u003dy) to add port /proc entries, fix them\n\n* there is now no need to add /proc entries for IDE ports in proc_ide_create()\n  so don\u0027t do it\n\n* proc_ide_create() needs now to be called before drivers are probed - fix it,\n  while at it make proc_ide_create() create /proc \"ide\" directory\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n\n"
    },
    {
      "commit": "869c56ee9de1b72cd3f8ab9cdfbd3601e55c61f2",
      "tree": "0f295ba89c774f9a20b2b089a29f288cd80b8094",
      "parents": [
        "7f8f48af0861c38c28d4abd550102643e0ea9e6a"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu May 10 00:01:10 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu May 10 00:01:10 2007 +0200"
      },
      "message": "ide: add \"initializing\" argument to ide_register_hw()\n\nAdd \"initializing\" argument to ide_register_hw() and use it instead of ide.c\nwide variable of the same name.  Update all users of ide_register_hw()\naccordingly.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n\n"
    },
    {
      "commit": "7f8f48af0861c38c28d4abd550102643e0ea9e6a",
      "tree": "6ec47ace87afbd96cc1144d423854b09d9f21d75",
      "parents": [
        "7662d046df09e80680b77b68de896beab45e675e"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu May 10 00:01:10 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu May 10 00:01:10 2007 +0200"
      },
      "message": "ide: cable detection fixes (take 2)\n\nTejun\u0027s recent eighty_ninty_three() fix has inspired me to do more thorough\nreview of the cable detection code...\n\n* print user-friendly warning about limiting the maximum transfer speed\n  to UDMA33 (and the reason behind it) when 80-wire cable is not detected,\n  also while at it cleanup eighty_ninty_three() a bit\n\n* use eighty_ninty_three() in ide_ata66_check(), this actually fixes 3 bugs:\n  - bit 14 (word 93 validity check) \u003d\u003d 1 \u0026\u0026 bit 13 (80-wire cable test) \u003d\u003d 1\n    were used as 80-wire cable present test for CONFIG_IDEDMA_IVB\u003dn case\n    (please see FIXME comment in eighty_ninty_three() for more details)\n  - CONFIG_IDEDMA_IVB\u003dy/n cases were interchanged\n  - check for SATA devices was missing\n\n* remove private cable warnings from pdc_202xx{old,new} drivers now that core\n  code provides this functionality (plus, in pdc202xx_new case the test could\n  give false warnings for ATAPI devices because pdc202xx_new driver doesn\u0027t\n  even support ATAPI DMA)\n\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n\n"
    },
    {
      "commit": "7662d046df09e80680b77b68de896beab45e675e",
      "tree": "ea2281c59399b3867fb37e1005a0f0e0d2170c5d",
      "parents": [
        "1497943ee692aa7519fa972d0e3a339649bf3a96"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu May 10 00:01:10 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu May 10 00:01:10 2007 +0200"
      },
      "message": "ide: move IDE settings handling to ide-proc.c\n\n* move\n\t__ide_add_setting()\n\tide_add_setting()\n\t__ide_remove_setting()\n\tauto_remove_settings()\n\tide_find_setting_by_name()\n\tide_read_setting()\n\tide_write_setting()\n\tset_xfer_rate()\n\tide_add_generic_settings()\n\tide_register_subdriver()\n\tide_unregister_subdriver()\n\n  from ide.c to ide-proc.c\n\n* set_{io_32bit,pio_mode,using_dma}() cannot be marked static now, fix it\n\n* rename ide_[un]register_subdriver() to ide_proc_[un]register_driver(),\n  update device drivers to use new names\n\n* add CONFIG_IDE_PROC_FS\u003dn versions of ide_proc_[un]register_driver()\n  and ide_add_generic_settings()\n\n* make ide_find_setting_by_name(), ide_{read,write}_setting()\n  and ide_{add,remove}_proc_entries() static\n\n* cover IDE settings code in device drivers with CONFIG_IDE_PROC_FS #ifdef,\n  also while at it cover with CONFIG_IDE_PROC_FS #ifdef ide_driver_t.proc\n\n* remove bogus comment from ide.h\n\n* cover with CONFIG_IDE_PROC_FS #ifdef .proc and .settings in ide_drive_t\n\nBesides saner code this patch results in the IDE core smaller by ~2 kB\n(on x86-32) and IDE disk driver by ~1 kB (ditto) when CONFIG_IDE_PROC_FS\u003dn.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "1497943ee692aa7519fa972d0e3a339649bf3a96",
      "tree": "dc70ee9731f66dd323ddb397380b62c0c2977add",
      "parents": [
        "ecfd80e4a514123070b4cfb674b817ba75055df2"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu May 10 00:01:10 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu May 10 00:01:10 2007 +0200"
      },
      "message": "ide: split off ioctl handling from IDE settings (v2)\n\n* do write permission and min/max checks in ide_procset_t functions\n\n* ide-disk.c: drive-\u003eid is always available so cleanup \"multcount\" setting\n  accordingly\n\n* ide-disk.c: \"address\" setting was incorrectly defined as type TYPE_INTA,\n  fix it by using type TYPE_BYTE and updating ide_drive_t-\u003eadressing field,\n  the bug didn\u0027t trigger because this IDE setting uses custom -\u003eset function\n\n* ide.c: add set_ksettings() for handling HDIO_SET_KEEPSETTINGS ioctl\n\n* ide.c: add set_unmaskirq() for handling HDIO_SET_UNMASKINTR ioctl\n\n* handle ioctls directly in generic_ide_ioclt() and idedisk_ioctl()\n  instead of using IDE settings to deal with them\n\n* remove no longer needed ide_find_setting_by_ioctl() and {read,write}_ioctl\n  fields from ide_settings_t, also remove now unused TYPE_INTA handling\n\nv2:\n* add missing EXPORT_SYMBOL_GPL(ide_setting_sem) needed now for ide-disk\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "ecfd80e4a514123070b4cfb674b817ba75055df2",
      "tree": "956baa39e22030d139803b7585bd71e91c637bb5",
      "parents": [
        "29e744d088e3555f4efbdf390f01088dd66993b6"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu May 10 00:01:09 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu May 10 00:01:09 2007 +0200"
      },
      "message": "ide: make /proc/ide/ optional\n\nAll important information/features should be already available through\nsysfs and ioctl interfaces.\n\nAdd CONFIG_IDE_PROC_FS (CONFIG_SCSI_PROC_FS rip-off) config option,\ndisabling it makes IDE driver ~5 kB smaller (on x86-32).\n\nWhile at it add CONFIG_PROC_FS\u003dn versions of proc_ide_{create,destroy}()\nand remove no longer needed #ifdefs.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "29e744d088e3555f4efbdf390f01088dd66993b6",
      "tree": "2747692efcef505872d29e0b62cb2345b0d64978",
      "parents": [
        "2d5eaa6dd744a641e75503232a01f52d0768884c"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu May 10 00:01:09 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu May 10 00:01:09 2007 +0200"
      },
      "message": "ide: add ide_tune_dma() helper\n\nAfter reworking the code responsible for selecting the best DMA\ntransfer mode it is now possible to add generic ide_tune_dma() helper.\n\nConvert some IDE PCI host drivers to use it (the ones left need more work).\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n\n"
    },
    {
      "commit": "2d5eaa6dd744a641e75503232a01f52d0768884c",
      "tree": "0736bd00ea3bd032d601d0a676c998cb043b877a",
      "parents": [
        "18137207236285989dfc0ee7f929b954199228f3"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu May 10 00:01:08 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu May 10 00:01:08 2007 +0200"
      },
      "message": "ide: rework the code for selecting the best DMA transfer mode (v3)\n\nDepends on the \"ide: fix UDMA/MWDMA/SWDMA masks\" patch.\n\n* add ide_hwif_t.udma_filter hook for filtering UDMA mask\n  (use it in alim15x3, hpt366, siimage and serverworks drivers)\n* add ide_max_dma_mode() for finding best DMA mode for the device\n  (loosely based on some older libata-core.c code)\n* convert ide_dma_speed() users to use ide_max_dma_mode()\n* make ide_rate_filter() take \"ide_drive_t *drive\" as an argument instead\n  of \"u8 mode\" and teach it to how to use UDMA mask to do filtering\n* use ide_rate_filter() in hpt366 driver\n* remove no longer needed ide_dma_speed() and *_ratemask()\n* unexport eighty_ninty_three()\n\nv2:\n* rename -\u003efilter_udma_mask to -\u003eudma_filter\n  [ Suggested by Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e. ]\n\nv3:\n* updated for scc_pata driver (fixes XFER_UDMA_6 filtering for user-space\n  originated transfer mode change requests when 100MHz clock is used)\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "18137207236285989dfc0ee7f929b954199228f3",
      "tree": "d55f1287ae64318190e18cb7a64ca514c76c3414",
      "parents": [
        "de372ecd80a42c4fb485c7232475301a18d05184"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu May 10 00:01:07 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu May 10 00:01:07 2007 +0200"
      },
      "message": "ide: fix UDMA/MWDMA/SWDMA masks (v3)\n\n* use 0x00 instead of 0x80 to disable -\u003e{ultra,mwdma,swdma}_mask\n* add udma_mask field to ide_pci_device_t and use it to initialize\n  -\u003eultra_mask in aec62xx, cmd64x, pdc202xx_{new,old} and piix drivers\n* fix UDMA masks to match with chipset specific *_ratemask()\n  (alim15x3, hpt366, serverworks and siimage drivers need UDMA mask\n   filtering method - done in the next patch)\n\nv2:\n* piix: fix cable detection for 82801AA_1 and 82372FB_1\n  [ Noticed by Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e. ]\n* cmd64x: use hwif-\u003ecds-\u003eudma_mask\n  [ Suggested by Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e. ]\n* aec62xx: fix newly introduced bug - check DMA status not command register\n  [ Noticed by Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e. ]\n\nv3:\n* piix: use hwif-\u003ecds-\u003eudma_mask\n  [ Suggested by Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e. ]\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n\n"
    },
    {
      "commit": "ba7cc09c9c9e29a57045dc5bbf843ac1cfad3283",
      "tree": "7e2d39269803b53ba048f3bad11cd6a1a38b35b9",
      "parents": [
        "d84c4124c4b6611301b402e8611b7e36de3bd351",
        "b7aa48be1e7a11e36448a7db58931bbf735d2718"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 13:10:11 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 13:10:11 2007 -0700"
      },
      "message": "Merge git://git.infradead.org/mtd-2.6\n\n* git://git.infradead.org/mtd-2.6: (21 commits)\n  [MTD] [CHIPS] Remove MTD_OBSOLETE_CHIPS (jedec, amd_flash, sharp)\n  [MTD] Delete allegedly obsolete \"bank_size\" field of mtd_info.\n  [MTD] Remove unnecessary user space check from mtd.h.\n  [MTD] [MAPS] Remove flash maps for no longer supported 405LP boards\n  [MTD] [MAPS] Fix missing printk() parameter in physmap_of.c MTD driver\n  [MTD] [NAND] platform NAND driver: add driver\n  [MTD] [NAND] platform NAND driver: update header\n  [JFFS2] Simplify and clean up jffs2_add_tn_to_tree() some more.\n  [JFFS2] Remove another bogus optimisation in jffs2_add_tn_to_tree()\n  [JFFS2] Remove broken insert_point optimisation in jffs2_add_tn_to_tree()\n  [JFFS2] Remember to calculate overlap on nodes which replace older nodes\n  [JFFS2] Don\u0027t advance c-\u003ewbuf_ofs to next eraseblock after wbuf flush\n  [MTD] [NAND] at91_nand.c: CMDLINE_PARTS support\n  [MTD] [NAND] Tidy up handling of page number in nand_block_bad()\n  [MTD] block2mtd_paramline[] mustn\u0027t be __initdata\n  [MTD] [NAND] Support multiple chips in CAFÉ driver\n  [MTD] [NAND] Rename cafe.c to cafe_nand.c and remove the multi-obj magic\n  [MTD] [NAND] Use rslib for CAFÉ ECC\n  [RSLIB] Support non-canonical GF representations\n  [JFFS2] Remove dead file histo_mips.h\n  ...\n"
    },
    {
      "commit": "aabded9c3aab5160ae2ca3dd1fa0fa37f3d510e4",
      "tree": "8544d546735bcb975b8dec296eb9b6dc6531fb2a",
      "parents": [
        "9a9136e270af14da506f66bcafcc506b86a86498",
        "f1a1eb299a8422c3e8d41753095bec44b2493398"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:56:01 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:56:01 2007 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc\n\n* \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc:\n  [POWERPC] Further fixes for the removal of 4level-fixup hack from ppc32\n  [POWERPC] EEH: log all PCI-X and PCI-E AER registers\n  [POWERPC] EEH: capture and log pci state on error\n  [POWERPC] EEH: Split up long error msg\n  [POWERPC] EEH: log error only after driver notification.\n  [POWERPC] fsl_soc: Make mac_addr const in fs_enet_of_init().\n  [POWERPC] Don\u0027t use SLAB/SLUB for PTE pages\n  [POWERPC] Spufs support for 64K LS mappings on 4K kernels\n  [POWERPC] Add ability to 4K kernel to hash in 64K pages\n  [POWERPC] Introduce address space \"slices\"\n  [POWERPC] Small fixes \u0026 cleanups in segment page size demotion\n  [POWERPC] iSeries: Make HVC_ISERIES the default\n  [POWERPC] iSeries: suppress build warning in lparmap.c\n  [POWERPC] Mark pages that don\u0027t exist as nosave\n  [POWERPC] swsusp: Introduce register_nosave_region_late\n"
    },
    {
      "commit": "9a9136e270af14da506f66bcafcc506b86a86498",
      "tree": "b4d0a6877d92635134b7a944d0032fbc43227fd2",
      "parents": [
        "3960208f9ca0cf6bdb31c21c59ac0526303f8b34",
        "7bb2acb76e8168ca5d0bde5a5a56585a11b3525a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:54:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:54:17 2007 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial: (25 commits)\n  sound: convert \"sound\" subdirectory to UTF-8\n  MAINTAINERS: Add cxacru website/mailing list\n  include files: convert \"include\" subdirectory to UTF-8\n  general: convert \"kernel\" subdirectory to UTF-8\n  documentation: convert the Documentation directory to UTF-8\n  Convert the toplevel files CREDITS and MAINTAINERS to UTF-8.\n  remove broken URLs from net drivers\u0027 output\n  Magic number prefix consistency change to Documentation/magic-number.txt\n  trivial: s/i_sem /i_mutex/\n  fix file specification in comments\n  drivers/base/platform.c: fix small typo in doc\n  misc doc and kconfig typos\n  Remove obsolete fat_cvf help text\n  Fix occurrences of \"the the \"\n  Fix minor typoes in kernel/module.c\n  Kconfig: Remove reference to external mqueue library\n  Kconfig: A couple of grammatical fixes in arch/i386/Kconfig\n  Correct comments in genrtc.c to refer to correct /proc file.\n  Fix more \"deprecated\" spellos.\n  Fix \"deprecated\" typoes.\n  ...\n\nFix trivial comment conflict in kernel/relay.c.\n"
    },
    {
      "commit": "5b479c91da90eef605f851508744bfe8269591a0",
      "tree": "d7c2844926d96d794d66b974b300eba2d047465e",
      "parents": [
        "08a02ecd28bad35a47357e611044dcbeab06e3d7"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed May 09 02:35:39 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:57 2007 -0700"
      },
      "message": "md: improve partition detection in md array\n\nmd currently uses -\u003emedia_changed to make sure rescan_partitions\nis call on md array after they are assembled.\n\nHowever that doesn\u0027t happen until the array is opened, which is later\nthan some people would like.\n\nSo use blkdev_ioctl to do the rescan immediately that the\narray has been assembled.\n\nThis means we can remove all the -\u003echange infrastructure as it was only used\nto trigger a partition rescan.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "880169dd2edc4297b7811a0542be9766ca6945bc",
      "tree": "38f9ecb7507c37982291fa9f131682daf91c3c27",
      "parents": [
        "5a87ede94595f58934000e26e8b13398e63868b5"
      ],
      "author": {
        "name": "Haavard Skinnemoen",
        "email": "hskinnemoen@atmel.com",
        "time": "Wed May 09 02:35:33 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:57 2007 -0700"
      },
      "message": "fbdev: add support for AVR32\n\nProvide framebuffer page protection flags and definitions of\nfb_readl/fb_writel for AVR32.\n\nSigned-off-by: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nCc: \"Antonino A. Daplas\" \u003cadaplas@pol.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5a87ede94595f58934000e26e8b13398e63868b5",
      "tree": "e97b7e505753c8243ec10c008e9ff39e61c92d09",
      "parents": [
        "681e14730c73cc2c71af282c001de6bc71c22f00"
      ],
      "author": {
        "name": "Antonino A. Daplas",
        "email": "adaplas@gmail.com",
        "time": "Wed May 09 02:35:32 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:57 2007 -0700"
      },
      "message": "svgalib: move fb_get_caps to svgalib\n\nMove fb_get_caps() method to svgalib.c as svga_get_caps() so it can be used by\ns3fb, arkfb and vt8623fb.\n\nSigned-off-by: Antonino Daplas \u003cadaplas@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0d7ebbbc6eaa5539f78ab20ed6ff1725a4e332ef",
      "tree": "ddef8183ac6440e96678fd4d1159ee86619e2a97",
      "parents": [
        "f7e4217b007d1f73e7e3cf10ba4fea4a608c603f"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Wed May 09 02:35:27 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:56 2007 -0700"
      },
      "message": "compiler: introduce __used and __maybe_unused\n\n__used is defined to be __attribute__((unused)) for all pre-3.3 gcc\ncompilers to suppress warnings for unused functions because perhaps they\nare referenced only in inline assembly.  It is defined to be\n__attribute__((used)) for gcc 3.3 and later so that the code is still\nemitted for such functions.\n\n__maybe_unused is defined to be __attribute__((unused)) for both function\nand variable use if it could possibly be unreferenced due to the evaluation\nof preprocessor macros.  Function prototypes shall be marked with\n__maybe_unused if the actual definition of the function is dependant on\npreprocessor macros.\n\nNo update to compiler-intel.h is necessary because ICC supports both\n__attribute__((used)) and __attribute__((unused)) as specified by the gcc\nmanual.\n\n__attribute_used__ is deprecated and will be removed once all current\ncode is converted to using __used.\n\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f7e4217b007d1f73e7e3cf10ba4fea4a608c603f",
      "tree": "9c3932bb871d4b6727dc588e4d6c9987637aaee5",
      "parents": [
        "c9f4f06d3191bd91c1a081b54a6c8e913e7b8a83"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Wed May 09 02:35:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:56 2007 -0700"
      },
      "message": "rename thread_info to stack\n\nThis finally renames the thread_info field in task structure to stack, so that\nthe assumptions about this field are gone and archs have more freedom about\nplacing the thread_info structure.\n\nNonbroken archs which have a proper thread pointer can do the access to both\ncurrent thread and task structure via a single pointer.\n\nIt\u0027ll allow for a few more cleanups of the fork code, from which e.g.  ia64\ncould benefit.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\n[akpm@linux-foundation.org: build fix]\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Ian Molton \u003cspyro@f2s.com\u003e\nCc: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Greg Ungerer \u003cgerg@uclinux.org\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Kazumoto Kojima \u003ckkojima@rr.iij4u.or.jp\u003e\nCc: Richard Curnow \u003crc@rc0.org.uk\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nCc: Miles Bader \u003cuclinux-v850@lsi.nec.co.jp\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Chris Zankel \u003cchris@zankel.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e61a1c1c4f240cec61300c8f27518c3e47570fd4",
      "tree": "479d3b921577eaa642c4b1071acfeb4cb8ecf8ab",
      "parents": [
        "b52f52a093bb1e841e014c2087b5bee7162da413"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Wed May 09 02:35:15 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:56 2007 -0700"
      },
      "message": "Allow arch to initialize arch field of the module structure\n\nThis will later allow an arch to add module specific information via linker\ngenerated tables instead of poking directly in the module object structure.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b52f52a093bb1e841e014c2087b5bee7162da413",
      "tree": "7b7135897195fc9d14473d3ab824d59a4b65e5ad",
      "parents": [
        "4037d452202e34214e8a939fa5621b2b3bbb45b7"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed May 09 02:35:15 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:56 2007 -0700"
      },
      "message": "clocksource: fix resume logic\n\nWe need to make sure that the clocksources are resumed, when timekeeping is\nresumed.  The current resume logic does not guarantee this.\n\nAdd a resume function pointer to the clocksource struct, so clocksource\ndrivers which need to reinitialize the clocksource can provide a resume\nfunction.\n\nAdd a resume function, which calls the maybe available clocksource resume\nfunctions and resets the watchdog function, so a stable TSC can be used\naccross suspend/resume.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4037d452202e34214e8a939fa5621b2b3bbb45b7",
      "tree": "31b59c0ca94fba4d53b6738b0bad3d1e9fde3063",
      "parents": [
        "77461ab33229d48614402decfb1b2eaa6d446861"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed May 09 02:35:14 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:56 2007 -0700"
      },
      "message": "Move remote node draining out of slab allocators\n\nCurrently the slab allocators contain callbacks into the page allocator to\nperform the draining of pagesets on remote nodes.  This requires SLUB to have\na whole subsystem in order to be compatible with SLAB.  Moving node draining\nout of the slab allocators avoids a section of code in SLUB.\n\nMove the node draining so that is is done when the vm statistics are updated.\nAt that point we are already touching all the cachelines with the pagesets of\na processor.\n\nAdd a expire counter there.  If we have to update per zone or global vm\nstatistics then assume that the pageset will require subsequent draining.\n\nThe expire counter will be decremented on each vm stats update pass until it\nreaches zero.  Then we will drain one batch from the pageset.  The draining\nwill cause vm counter updates which will then cause another expiration until\nthe pcp is empty.  So we will drain a batch every 3 seconds.\n\nNote that remote node draining is a somewhat esoteric feature that is required\non large NUMA systems because otherwise significant portions of system memory\ncan become trapped in pcp queues.  The number of pcp is determined by the\nnumber of processors and nodes in a system.  A system with 4 processors and 2\nnodes has 8 pcps which is okay.  But a system with 1024 processors and 512\nnodes has 512k pcps with a high potential for large amount of memory being\ncaught in them.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d1187ed21026fd512b87851d0ca26d9ae16f9059",
      "tree": "35d77758f134f3b69d3e00ca042a5d5ca6a59373",
      "parents": [
        "455c017ae3934797653549704c286e7bcc3a9397"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed May 09 02:35:12 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:56 2007 -0700"
      },
      "message": "vmstat: use our own timer events\n\nvmstat is currently using the cache reaper to periodically bring the\nstatistics up to date.  The cache reaper does only exists in SLUB as a way to\nprovide compatibility with SLAB.  This patch removes the vmstat calls from the\nslab allocators and provides its own handling.\n\nThe advantage is also that we can use a different frequency for the updates.\nRefreshing vm stats is a pretty fast job so we can run this every second and\nstagger this by only one tick.  This will lead to some overlap in large\nsystems.  F.e a system running at 250 HZ with 1024 processors will have 4 vm\nupdates occurring at once.\n\nHowever, the vm stats update only accesses per node information.  It is only\nnecessary to stagger the vm statistics updates per processor in each node.  Vm\ncounter updates occurring on distant nodes will not cause cacheline\ncontention.\n\nWe could implement an alternate approach that runs the first processor on each\nnode at the second and then each of the other processor on a node on a\nsubsequent tick.  That may be useful to keep a large amount of the second free\nof timer activity.  Maybe the timer folks will have some feedback on this one?\n\n[jirislaby@gmail.com: add missing break]\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8bb7844286fb8c9fce6f65d8288aeb09d03a5e0d",
      "tree": "f4e305edaedbde05774bb1e4acd89a9475661d2e",
      "parents": [
        "f37bc2712b54ec641e0c0c8634f1a4b61d9956c0"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed May 09 02:35:10 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:56 2007 -0700"
      },
      "message": "Add suspend-related notifications for CPU hotplug\n\nSince nonboot CPUs are now disabled after tasks and devices have been\nfrozen and the CPU hotplug infrastructure is used for this purpose, we need\nspecial CPU hotplug notifications that will help the CPU-hotplug-aware\nsubsystems distinguish normal CPU hotplug events from CPU hotplug events\nrelated to a system-wide suspend or resume operation in progress.  This\npatch introduces such notifications and causes them to be used during\nsuspend and resume transitions.  It also changes all of the\nCPU-hotplug-aware subsystems to take these notifications into consideration\n(for now they are handled in the same way as the corresponding \"normal\"\nones).\n\n[oleg@tv-sign.ru: cleanups]\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f37bc2712b54ec641e0c0c8634f1a4b61d9956c0",
      "tree": "0b73fd72a74115922e8e88bd56667c04b9299767",
      "parents": [
        "f2fff596955867d407cc7e8e426097bd9ad2be9b"
      ],
      "author": {
        "name": "Nate Diller",
        "email": "nate.diller@gmail.com",
        "time": "Wed May 09 02:35:09 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:56 2007 -0700"
      },
      "message": "fs: deprecate memclear_highpage_flush\n\nNow that all the in-tree users are converted over to zero_user_page(),\ndeprecate the old memclear_highpage_flush() call.\n\nSigned-off-by: Nate Diller \u003cnate.diller@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "01f2705daf5a36208e69d7cf95db9c330f843af6",
      "tree": "2d2c7a042c2466ed985f6e0950450c099f02725f",
      "parents": [
        "38a23e311b6cd389b9d8af2ea6c28c8cffbe581c"
      ],
      "author": {
        "name": "Nate Diller",
        "email": "nate.diller@gmail.com",
        "time": "Wed May 09 02:35:07 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:55 2007 -0700"
      },
      "message": "fs: convert core functions to zero_user_page\n\nIt\u0027s very common for file systems to need to zero part or all of a page,\nthe simplist way is just to use kmap_atomic() and memset().  There\u0027s\nactually a library function in include/linux/highmem.h that does exactly\nthat, but it\u0027s confusingly named memclear_highpage_flush(), which is\ndescriptive of *how* it does the work rather than what the *purpose* is.\nSo this patchset renames the function to zero_user_page(), and calls it\nfrom the various places that currently open code it.\n\nThis first patch introduces the new function call, and converts all the\ncore kernel callsites, both the open-coded ones and the old\nmemclear_highpage_flush() ones.  Following this patch is a series of\nconversions for each file system individually, per AKPM, and finally a\npatch deprecating the old call.  The diffstat below shows the entire\npatchset.\n\n[akpm@linux-foundation.org: fix a few things]\nSigned-off-by: Nate Diller \u003cnate.diller@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "34f01cc1f512fa783302982776895c73714ebbc2",
      "tree": "776b50ee9592803853b3b4c1845f8ba527b868b9",
      "parents": [
        "d0aa7a70bf03b9de9e995ab272293be1f7937822"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed May 09 02:35:04 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:55 2007 -0700"
      },
      "message": "FUTEX: new PRIVATE futexes\n\n  Analysis of current linux futex code :\n  --------------------------------------\n\nA central hash table futex_queues[] holds all contexts (futex_q) of waiting\nthreads.\n\nEach futex_wait()/futex_wait() has to obtain a spinlock on a hash slot to\nperform lookups or insert/deletion of a futex_q.\n\nWhen a futex_wait() is done, calling thread has to :\n\n1) - Obtain a read lock on mmap_sem to be able to validate the user pointer\n     (calling find_vma()). This validation tells us if the futex uses\n     an inode based store (mapped file), or mm based store (anonymous mem)\n\n2) - compute a hash key\n\n3) - Atomic increment of reference counter on an inode or a mm_struct\n\n4) - lock part of futex_queues[] hash table\n\n5) - perform the test on value of futex.\n\t(rollback is value !\u003d expected_value, returns EWOULDBLOCK)\n\t(various loops if test triggers mm faults)\n\n6) queue the context into hash table, release the lock got in 4)\n\n7) - release the read_lock on mmap_sem\n\n   \u003cblock\u003e\n\n8) Eventually unqueue the context (but rarely, as this part  may be done\n   by the futex_wake())\n\nFutexes were designed to improve scalability but current implementation has\nvarious problems :\n\n- Central hashtable :\n\n  This means scalability problems if many processes/threads want to use\n  futexes at the same time.\n  This means NUMA unbalance because this hashtable is located on one node.\n\n- Using mmap_sem on every futex() syscall :\n\n  Even if mmap_sem is a rw_semaphore, up_read()/down_read() are doing atomic\n  ops on mmap_sem, dirtying cache line :\n    - lot of cache line ping pongs on SMP configurations.\n\n  mmap_sem is also extensively used by mm code (page faults, mmap()/munmap())\n  Highly threaded processes might suffer from mmap_sem contention.\n\n  mmap_sem is also used by oprofile code. Enabling oprofile hurts threaded\n  programs because of contention on the mmap_sem cache line.\n\n- Using an atomic_inc()/atomic_dec() on inode ref counter or mm ref counter:\n  It\u0027s also a cache line ping pong on SMP. It also increases mmap_sem hold time\n  because of cache misses.\n\nMost of these scalability problems come from the fact that futexes are in\none global namespace.  As we use a central hash table, we must make sure\nthey are all using the same reference (given by the mm subsystem).  We\nchose to force all futexes be \u0027shared\u0027.  This has a cost.\n\nBut fact is POSIX defined PRIVATE and SHARED, allowing clear separation,\nand optimal performance if carefuly implemented.  Time has come for linux\nto have better threading performance.\n\nThe goal is to permit new futex commands to avoid :\n - Taking the mmap_sem semaphore, conflicting with other subsystems.\n - Modifying a ref_count on mm or an inode, still conflicting with mm or fs.\n\nThis is possible because, for one process using PTHREAD_PROCESS_PRIVATE\nfutexes, we only need to distinguish futexes by their virtual address, no\nmatter the underlying mm storage is.\n\nIf glibc wants to exploit this new infrastructure, it should use new\n_PRIVATE futex subcommands for PTHREAD_PROCESS_PRIVATE futexes.  And be\nprepared to fallback on old subcommands for old kernels.  Using one global\nvariable with the FUTEX_PRIVATE_FLAG or 0 value should be OK.\n\nPTHREAD_PROCESS_SHARED futexes should still use the old subcommands.\n\nCompatibility with old applications is preserved, they still hit the\nscalability problems, but new applications can fly :)\n\nNote : the same SHARED futex (mapped on a file) can be used by old binaries\n*and* new binaries, because both binaries will use the old subcommands.\n\nNote : Vast majority of futexes should be using PROCESS_PRIVATE semantic,\nas this is the default semantic. Almost all applications should benefit\nof this changes (new kernel and updated libc)\n\nSome bench results on a Pentium M 1.6 GHz (SMP kernel on a UP machine)\n\n/* calling futex_wait(addr, value) with value !\u003d *addr */\n433 cycles per futex(FUTEX_WAIT) call (mixing 2 futexes)\n424 cycles per futex(FUTEX_WAIT) call (using one futex)\n334 cycles per futex(FUTEX_WAIT_PRIVATE) call (mixing 2 futexes)\n334 cycles per futex(FUTEX_WAIT_PRIVATE) call (using one futex)\nFor reference :\n187 cycles per getppid() call\n188 cycles per umask() call\n181 cycles per ni_syscall() call\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nPierre Peiffer \u003cpierre.peiffer@bull.net\u003e\nCc: \"Ulrich Drepper\" \u003cdrepper@gmail.com\u003e\nCc: \"Nick Piggin\" \u003cnickpiggin@yahoo.com.au\u003e\nCc: \"Ingo Molnar\" \u003cmingo@elte.hu\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d0aa7a70bf03b9de9e995ab272293be1f7937822",
      "tree": "194b30b7b8374b946f166996cb99fb95eb3b7819",
      "parents": [
        "c19384b5b296905d4988c7c684ff540a0f9d65be"
      ],
      "author": {
        "name": "Pierre Peiffer",
        "email": "pierre.peiffer@bull.net",
        "time": "Wed May 09 02:35:02 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:55 2007 -0700"
      },
      "message": "futex_requeue_pi optimization\n\nThis patch provides the futex_requeue_pi functionality, which allows some\nthreads waiting on a normal futex to be requeued on the wait-queue of a\nPI-futex.\n\nThis provides an optimization, already used for (normal) futexes, to be used\nwith the PI-futexes.\n\nThis optimization is currently used by the glibc in pthread_broadcast, when\nusing \"normal\" mutexes.  With futex_requeue_pi, it can be used with\nPRIO_INHERIT mutexes too.\n\nSigned-off-by: Pierre Peiffer \u003cpierre.peiffer@bull.net\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c19384b5b296905d4988c7c684ff540a0f9d65be",
      "tree": "071cfe0855d409d63de80ec1b9b663738efb09de",
      "parents": [
        "ec92d08292d3e9b0823eba138a4564d2d39f25c7"
      ],
      "author": {
        "name": "Pierre Peiffer",
        "email": "pierre.peiffer@bull.net",
        "time": "Wed May 09 02:35:02 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:55 2007 -0700"
      },
      "message": "Make futex_wait() use an hrtimer for timeout\n\nThis patch modifies futex_wait() to use an hrtimer + schedule() in place of\nschedule_timeout().\n\nschedule_timeout() is tick based, therefore the timeout granularity is the\ntick (1 ms, 4 ms or 10 ms depending on HZ).  By using a high resolution timer\nfor timeout wakeup, we can attain a much finer timeout granularity (in the\nmicrosecond range).  This parallels what is already done for futex_lock_pi().\n\nThe timeout passed to the syscall is no longer converted to jiffies and is\ntherefore passed to do_futex() and futex_wait() as an absolute ktime_t\ntherefore keeping nanosecond resolution.\n\nAlso this removes the need to pass the nanoseconds timeout part to\nfutex_lock_pi() in val2.\n\nIn futex_wait(), if there is no timeout then a regular schedule() is\nperformed.  Otherwise, an hrtimer is fired before schedule() is called.\n\n[akpm@linux-foundation.org: fix `make headers_check\u0027]\nSigned-off-by: Sebastien Dugue \u003csebastien.dugue@bull.net\u003e\nSigned-off-by: Pierre Peiffer \u003cpierre.peiffer@bull.net\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f34c506b0385b43abd25c490335036ecbb173aed",
      "tree": "97b8348ddb9acbe6d931a62bdd94c389ecc534f4",
      "parents": [
        "b8522ead3534c6cd06752b47a3bc380956191a2a"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Wed May 09 02:34:59 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:54 2007 -0700"
      },
      "message": "declare struct ktime\n\nSome smarty went and inflicted ktime_t as a typedef upon us, so we cannot\nforward declare it.\n\nCreate a new `union ktime\u0027, map ktime_t onto that.  Now we need to kill off\nthis ktime_t thing.\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: john stultz \u003cjohnstul@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": "b8522ead3534c6cd06752b47a3bc380956191a2a",
      "tree": "748ff93b4d5a49e6e21392c30ecad143694dcd94",
      "parents": [
        "b41eeef14d7c73af6d16c7d02b7a939082a137ff"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Wed May 09 02:34:58 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:54 2007 -0700"
      },
      "message": "aio is unlikely\n\nStick an unlikely() around is_aio(): I assert that most IO is synchronous.\n\nCc: Suparna Bhattacharya \u003csuparna@in.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Benjamin LaHaise \u003cbcrl@kvack.org\u003e\nCc: Zach Brown \u003czach.brown@oracle.com\u003e\nCc: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cd123012d99fde4759500fee611e724e4f3016e3",
      "tree": "a947c5e4210a2a51ea6619b3e127650feaa00421",
      "parents": [
        "669716433598a1498049e75a84a5aaf69c8da173"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed May 09 02:34:50 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:54 2007 -0700"
      },
      "message": "RPC: add wrapper for svc_reserve to account for checksum\n\nWhen the kernel calls svc_reserve to downsize the expected size of an RPC\nreply, it fails to account for the possibility of a checksum at the end of\nthe packet.  If a client mounts a NFSv2/3 with sec\u003dkrb5i/p, and does I/O\nthen you\u0027ll generally see messages similar to this in the server\u0027s ring\nbuffer:\n\nRPC request reserved 164 but used 208\n\nWhile I was never able to verify it, I suspect that this problem is also\nthe root cause of some oopses I\u0027ve seen under these conditions:\n\nhttps://bugzilla.redhat.com/bugzilla/show_bug.cgi?id\u003d227726\n\nThis is probably also a problem for other sec\u003d types and for NFSv4.  The\nlarge reserved size for NFSv4 compound packets seems to generally paper\nover the problem, however.\n\nThis patch adds a wrapper for svc_reserve that accounts for the possibility\nof a checksum.  It also fixes up the appropriate callers of svc_reserve to\ncall the wrapper.  For now, it just uses a hardcoded value that I\ndetermined via testing.  That value may need to be revised upward as things\nchange, or we may want to eventually add a new auth_op that attempts to\ncalculate this somehow.\n\nUnfortunately, there doesn\u0027t seem to be a good way to reliably determine\nthe expected checksum length prior to actually calculating it, particularly\nwith schemes like spkm3.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nAcked-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7ac1bea5507218da03f6005d228789da5a831c3f",
      "tree": "43c0a68d468352f8ca1f42ada7970e3a97411f5b",
      "parents": [
        "f34b95689d2ce001c157b1604289ff240b4bdee0"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed May 09 02:34:48 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:54 2007 -0700"
      },
      "message": "knfsd: rename sk_defer_lock to sk_lock\n\nNow that sk_defer_lock protects two different things, make the name more\ngeneric.\n\nAlso don\u0027t bother with disabling _bh as the lock is only ever taken from\nprocess context.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8842c9655b2b7f0e8e6c50a773b649e5d8a57678",
      "tree": "5f5e682ee03286f33c70775fed05c4645bbeb3ae",
      "parents": [
        "6e84d644b5929789398914b0ccf447355dec6fb0"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Wed May 09 02:34:46 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:54 2007 -0700"
      },
      "message": "remove nfs4_acl_add_ace()\n\nnfs4_acl_add_ace() can now be removed.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nAcked-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nAcked-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "10ab825bdef8df510f99c703a5a2d9b13a4e31a5",
      "tree": "e4db81f26c03ba5a5bff43ed44646a4ed4509d67",
      "parents": [
        "5de18d169739293e27e0cf9acfc75a2d2f4aa572"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed May 09 02:34:37 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:53 2007 -0700"
      },
      "message": "change kernel threads to ignore signals instead of blocking them\n\nCurrently kernel threads use sigprocmask(SIG_BLOCK) to protect against\nsignals.  This doesn\u0027t prevent the signal delivery, this only blocks\nsignal_wake_up().  Every \"killall -33 kthreadd\" means a \"struct siginfo\"\nleak.\n\nChange kthreadd_setup() to set all handlers to SIG_IGN instead of blocking\nthem (make a new helper ignore_signals() for that).  If the kernel thread\nneeds some signal, it should use allow_signal() anyway, and in that case it\nshould not use CLONE_SIGHAND.\n\nNote that we can\u0027t change daemonize() (should die!) in the same way,\nbecause it can be used along with CLONE_SIGHAND.  This means that\nallow_signal() still should unblock the signal to work correctly with\ndaemonize()ed threads.\n\nHowever, disallow_signal() doesn\u0027t block the signal any longer but ignores\nit.\n\nNOTE: with or without this patch the kernel threads are not protected from\nhandle_stop_signal(), this seems harmless, but not good.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "73c279927f89561ecb45b2dfdf9314bafcfd9f67",
      "tree": "2186e28c92c6f8229ea20eb9856714186bf77a4c",
      "parents": [
        "c93465181fed0f8f5942a41108943dadea0aa345"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed May 09 02:34:32 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:53 2007 -0700"
      },
      "message": "kthread: don\u0027t depend on work queues\n\nCurrently there is a circular reference between work queue initialization\nand kthread initialization.  This prevents the kthread infrastructure from\ninitializing until after work queues have been initialized.\n\nWe want the properties of tasks created with kthread_create to be as close\nas possible to the init_task and to not be contaminated by user processes.\nThe later we start our kthreadd that creates these tasks the harder it is\nto avoid contamination from user processes and the more of a mess we have\nto clean up because the defaults have changed on us.\n\nSo this patch modifies the kthread support to not use work queues but to\ninstead use a simple list of structures, and to have kthreadd start from\ninit_task immediately after our kernel thread that execs /sbin/init.\n\nBy being a true child of init_task we only have to change those process\nsettings that we want to have different from init_task, such as our process\nname, the cpus that are allowed, blocking all signals and setting SIGCHLD\nto SIG_IGN so that all of our children are reaped automatically.\n\nBy being a true child of init_task we also naturally get our ppid set to 0\nand do not wind up as a child of PID \u003d\u003d 1.  Ensuring that tasks generated\nby kthread_create will not slow down the functioning of the wait family of\nfunctions.\n\n[akpm@linux-foundation.org: use interruptible sleeps]\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "28e53bddf814485699a4142bc056fd37d4e11dd4",
      "tree": "5182090c4cc2186eedbda3cb90ed82a2836f6ff6",
      "parents": [
        "5830c5902138f80b0a097b797200c739466beedd"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed May 09 02:34:22 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:53 2007 -0700"
      },
      "message": "unify flush_work/flush_work_keventd and rename it to cancel_work_sync\n\nflush_work(wq, work) doesn\u0027t need the first parameter, we can use cwq-\u003ewq\n(this was possible from the very beginnig, I missed this).  So we can unify\nflush_work_keventd and flush_work.\n\nAlso, rename flush_work() to cancel_work_sync() and fix all callers.\nPerhaps this is not the best name, but \"flush_work\" is really bad.\n\n(akpm: this is why the earlier patches bypassed maintainers)\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Auke Kok \u003cauke-jan.h.kok@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": "23b2e5991afde5af91a1a661d7f47ee56120759e",
      "tree": "d4b8e5bc1a311abd6b6de469f862a8b53c5f9f36",
      "parents": [
        "c214b2cc5f9be7c236f9b91acf524688ff0e3e72"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed May 09 02:34:19 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:52 2007 -0700"
      },
      "message": "workqueue: kill NOAUTOREL works\n\nWe don\u0027t have any users, and it is not so trivial to use NOAUTOREL works\ncorrectly.  It is better to simplify API.\n\nDelete NOAUTOREL support and rename work_release to work_clear_pending to\navoid a confusion.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1634c48f8b85dcb05101f1eb2eab9af40b5976da",
      "tree": "143aa0fbf21e712a5258806b37f2024ba432b522",
      "parents": [
        "a848e3b67c07ed79374bd0f9b82f9ce45a419643"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed May 09 02:34:18 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:52 2007 -0700"
      },
      "message": "make cancel_rearming_delayed_work() work on any workqueue, not just keventd_wq\n\ncancel_rearming_delayed_workqueue(wq, dwork) doesn\u0027t need the first\nparameter.  We don\u0027t hang on un-queued dwork any longer, and work-\u003edata\ndoesn\u0027t change its type.  This means we can always figure out \"wq\" from\ndwork when it is needed.\n\nRemove this parameter, and rename the function to\ncancel_rearming_delayed_work().  Re-create an inline \"obsolete\"\ncancel_rearming_delayed_workqueue(wq) which just calls\ncancel_rearming_delayed_work().\n\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": "7097a87afe937a5879528d52880c2d95f089e96c",
      "tree": "f06090c0f6ed327ee2894deb8ac7c588ab55bf4e",
      "parents": [
        "3af24433efac62f451bfdb1cf1edb7181fb73645"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed May 09 02:34:10 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:52 2007 -0700"
      },
      "message": "workqueue: kill run_scheduled_work()\n\nBecause it has no callers.\n\nActually, I think the whole idea of run_scheduled_work() was not right, not\ngood to mix \"unqueue this work and execute its -\u003efunc()\" in one function.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "baaca49f415b25fdbe2a8f3c22b39929e450fbfd",
      "tree": "b152b4235fc07fe56619bd3a2e975e5ca90b8c5b",
      "parents": [
        "6f7cc11aa6c7d5002e16096c7590944daece70ed"
      ],
      "author": {
        "name": "Gautham R Shenoy",
        "email": "ego@in.ibm.com",
        "time": "Wed May 09 02:34:03 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:51 2007 -0700"
      },
      "message": "Define and use new events,CPU_LOCK_ACQUIRE and CPU_LOCK_RELEASE\n\nThis is an attempt to provide an alternate mechanism for postponing\na hotplug event instead of using a global mechanism like lock_cpu_hotplug.\n\nThe proposal is to add two new events namely CPU_LOCK_ACQUIRE and\nCPU_LOCK_RELEASE. The notification for these two events would be sent\nout before and after a cpu_hotplug event respectively.\n\nDuring the CPU_LOCK_ACQUIRE event, a cpu-hotplug-aware subsystem is\nsupposed to acquire any per-subsystem hotcpu mutex ( Eg. workqueue_mutex\nin kernel/workqueue.c ).\n\nDuring the CPU_LOCK_RELEASE release event the cpu-hotplug-aware subsystem\nis supposed to release the per-subsystem hotcpu mutex.\n\nThe reasons for defining new events as opposed to reusing the existing events\nlike CPU_UP_PREPARE/CPU_UP_FAILED/CPU_ONLINE for locking/unlocking of\nper-subsystem hotcpu mutexes are as follow:\n\n\t- CPU_LOCK_ACQUIRE: All hotcpu mutexes are taken before subsystems\n\tstart handling pre-hotplug events like CPU_UP_PREPARE/CPU_DOWN_PREPARE\n\tetc, thus ensuring a clean handling of these events.\n\n\t- CPU_LOCK_RELEASE: The hotcpu mutexes will be released only after\n\tall subsystems have handled post-hotplug events like CPU_DOWN_FAILED,\n\tCPU_DEAD,CPU_ONLINE etc thereby ensuring that there are no subsequent\n\tclashes amongst the interdependent subsystems after a cpu hotplugs.\n\nThis patch also uses __raw_notifier_call chain in _cpu_up to take care\nof the dependency between the two consequetive calls to\nraw_notifier_call_chain.\n\n[akpm@linux-foundation.org: fix a bug]\nSigned-off-by: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6f7cc11aa6c7d5002e16096c7590944daece70ed",
      "tree": "68a11e4b67189c44ac0f3ab579e52e134d479cf5",
      "parents": [
        "7c9cb38302e78d24e37f7d8a2ea7eed4ae5f2fa7"
      ],
      "author": {
        "name": "Gautham R Shenoy",
        "email": "ego@in.ibm.com",
        "time": "Wed May 09 02:34:02 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:51 2007 -0700"
      },
      "message": "Extend notifier_call_chain to count nr_calls made\n\nSince 2.6.18-something, the community has been bugged by the problem to\nprovide a clean and a stable mechanism to postpone a cpu-hotplug event as\nlock_cpu_hotplug was badly broken.\n\nThis is another proposal towards solving that problem.  This one is along the\nlines of the solution provided in kernel/workqueue.c\n\nInstead of having a global mechanism like lock_cpu_hotplug, we allow the\nsubsytems to define their own per-subsystem hot cpu mutexes.  These would be\ntaken(released) where ever we are currently calling\nlock_cpu_hotplug(unlock_cpu_hotplug).\n\nAlso, in the per-subsystem hotcpu callback function,we take this mutex before\nwe handle any pre-cpu-hotplug events and release it once we finish handling\nthe post-cpu-hotplug events.  A standard means for doing this has been\nprovided in [PATCH 2/4] and demonstrated in [PATCH 3/4].\n\nThe ordering of these per-subsystem mutexes might still prove to be a\nproblem, but hopefully lockdep should help us get out of that muddle.\n\nThe patch set to be applied against linux-2.6.19-rc5 is as follows:\n\n[PATCH 1/4] :\tExtend notifier_call_chain with an option to specify the\n\t\tnumber of notifications to be sent and also count the\n\t\tnumber of notifications actually sent.\n\n[PATCH 2/4] :\tDefine events CPU_LOCK_ACQUIRE and CPU_LOCK_RELEASE\n\t\tand send out notifications for these in _cpu_up and\n\t\t_cpu_down. This would help us standardise the acquire and\n\t\trelease of the subsystem locks in the hotcpu\n\t\tcallback functions of these subsystems.\n\n[PATCH 3/4] :\tEliminate lock_cpu_hotplug from kernel/sched.c.\n\n[PATCH 4/4] :\tIn workqueue_cpu_callback function, acquire(release) the\n\t\tworkqueue_mutex while handling\n\t\tCPU_LOCK_ACQUIRE(CPU_LOCK_RELEASE).\n\nIf the per-subsystem-locking approach survives the test of time, we can expect\na slow phasing out of lock_cpu_hotplug, which has not yet been eliminated in\nthese patches :)\n\nThis patch:\n\nProvide notifier_call_chain with an option to call only a specified number of\nnotifiers and also record the number of call to notifiers made.\n\nThe need for this enhancement was identified in the post entitled\n\"Slab - Eliminate lock_cpu_hotplug from slab\"\n(http://lkml.org/lkml/2006/10/28/92) by Ravikiran G Thirumalai and\nAndrew Morton.\n\nThis patch adds two additional parameters to notifier_call_chain API namely\n - int nr_to_calls : Number of notifier_functions to be called.\n \t\t     The don\u0027t care value is -1.\n\n - unsigned int *nr_calls : Records the total number of notifier_funtions\n\t\t\t    called by notifier_call_chain. The don\u0027t care\n\t\t\t    value is NULL.\n\n[michal.k.k.piotrowski@gmail.com: build fix]\nCredit: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nSigned-off-by: Michal Piotrowski \u003cmichal.k.k.piotrowski@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7c9cb38302e78d24e37f7d8a2ea7eed4ae5f2fa7",
      "tree": "b65be3c42762e85f3611fe5298d203f7f901da02",
      "parents": [
        "d0758bc334780d70266c1d1b974ed26f740a0819"
      ],
      "author": {
        "name": "Tom Zanussi",
        "email": "zanussi@comcast.net",
        "time": "Wed May 09 02:34:01 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:51 2007 -0700"
      },
      "message": "relay: use plain timer instead of delayed work\n\nrelay doesn\u0027t need to use schedule_delayed_work() for waking readers\nwhen a simple timer will do.\n\nSigned-off-by: Tom Zanussi \u003czanussi@comcast.net\u003e\nCc: Satyam Sharma \u003csatyam.sharma@gmail.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "19a75d83ffeab004cfcfac64024ad3997bac7220",
      "tree": "1a4c3d299527989cde6d87e18dd189cfb35749a8",
      "parents": [
        "a9df62c7585e6caa1e7d2425b2b14460ec3afc20"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Wed May 09 02:33:56 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:51 2007 -0700"
      },
      "message": "kblockd: use flush_work\n\nSwitch the kblockd flushing from a global flush to a more specific\nflush_work().\n\n(akpm: bypassed maintainers, sorry.  There are other patches which depend on\nthis)\n\nCc: \"Maciej W. Rozycki\" \u003cmacro@linux-mips.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Jens Axboe \u003caxboe@suse.de\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b89deed32ccc96098bd6bc953c64bba6b847774f",
      "tree": "7a5963bbc5203cfdb39bf2fb1204764df39c71db",
      "parents": [
        "fc2e4d70410546307344821eed6fd23803a45286"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed May 09 02:33:52 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:50 2007 -0700"
      },
      "message": "implement flush_work()\n\nA basic problem with flush_scheduled_work() is that it blocks behind _all_\npresently-queued works, rather than just the work whcih the caller wants to\nflush.  If the caller holds some lock, and if one of the queued work happens\nto want that lock as well then accidental deadlocks can occur.\n\nOne example of this is the phy layer: it wants to flush work while holding\nrtnl_lock().  But if a linkwatch event happens to be queued, the phy code will\ndeadlock because the linkwatch callback function takes rtnl_lock.\n\nSo we implement a new function which will flush a *single* work - just the one\nwhich the caller wants to free up.  Thus we avoid the accidental deadlocks\nwhich can arise from unrelated subsystems\u0027 callbacks taking shared locks.\n\nflush_work() non-blockingly dequeues the work_struct which we want to kill,\nthen it waits for its handler to complete on all CPUs.\n\nAdd -\u003ecurrent_work to the \"struct cpu_workqueue_struct\", it points to\ncurrently running \"struct work_struct\". When flush_work(work) detects\n-\u003ecurrent_work \u003d\u003d work, it inserts a barrier at the _head_ of -\u003eworklist\n(and thus right _after_ that work) and waits for completition. This means\nthat the next work fired on that CPU will be this barrier, or another\nbarrier queued by concurrent flush_work(), so the caller of flush_work()\nwill be woken before any \"regular\" work has a chance to run.\n\nWhen wait_on_work() unlocks workqueue_mutex (or whatever we choose to protect\nagainst CPU hotplug), CPU may go away. But in that case take_over_work() will\nmove a barrier we queued to another CPU, it will be fired sometime, and\nwait_on_work() will be woken.\n\nActually, we are doing cleanup_workqueue_thread()-\u003ekthread_stop() before\ntake_over_work(), so cwq-\u003ethread should complete its -\u003eworklist (and thus\nthe barrier), because currently we don\u0027t check kthread_should_stop() in\nrun_workqueue(). But even if we did, everything should be ok.\n\n[akpm@osdl.org: cleanup]\n[akpm@osdl.org: add flush_work_keventd() wrapper]\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": "18d8362d517cb2bd97761294924fe6c2a6ee5e3c",
      "tree": "fff49e54cb725ba33ddf4453fb866838ad6ceeca",
      "parents": [
        "ae030e435f5400cff77c52506a8d3d7278f0947c"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Wed May 09 02:33:39 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:49 2007 -0700"
      },
      "message": "mutex_lock_interruptible(): add __must_check\n\nIt\u0027s not sane to use mutex_lock_interruptible() and to then ignore the result.\n\nDitto down_interruptible(), but I\u0027m lazy.\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "55c0d1f83e481dd6c77f52f7dcfeb043b8b740fa",
      "tree": "5d3240d565c158712345094362d40c3973483a7f",
      "parents": [
        "84963048ca8093e0aa71ac90c2a5fe7af5f617c3"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Wed May 09 02:33:37 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:49 2007 -0700"
      },
      "message": "Move sig_kernel_* et al macros to linux/signal.h\n\nThis patch moves the sig_kernel_* and related macros from kernel/signal.c\nto linux/signal.h, and cleans them up slightly.  I need the sig_kernel_*\nmacros for default signal behavior in the utrace code, and want to avoid\nduplication or overhead to share the knowledge.\n\nSigned-off-by: Roland McGrath \u003croland@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": "8813d1c00ca923c1683da625ff85959be1db9a49",
      "tree": "db16312db25ccfbef05f7cb05b58a9a6423f7b54",
      "parents": [
        "809aa5048fb7e7fd3bf0aa1fb169c42db0f63b08"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@SteelEye.com",
        "time": "Wed May 09 02:33:30 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:49 2007 -0700"
      },
      "message": "mca: add integrated device bus matching\n\nThe MCA bus has a few \"integrated\" functions, which are effectively virtual\nslots on the bus.  The problem is that these special functions don\u0027t have\ndedicated pos IDs, so we have to manufacture ids for them outside the pos\nspace ...  and these ids can\u0027t be matched by the standard matching function,\nso add a special registration that requests a list of pos ids or a particular\nintegrated function.\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2f4dfe206a2fc07099dfad77a8ea2f4b4ae2140f",
      "tree": "b66a624ba68766282fa0ddb509ff641552703da4",
      "parents": [
        "dd2a345f8f002845636dbf5d2d768bb5cd8a5f59"
      ],
      "author": {
        "name": "Fernando Luis Vazquez Cao",
        "email": "fernando@oss.ntt.co.jp",
        "time": "Wed May 09 02:33:25 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:48 2007 -0700"
      },
      "message": "Remove hardcoding of hard_smp_processor_id on UP systems\n\nWith the advent of kdump, the assumption that the boot CPU when booting an UP\nkernel is always the CPU with a particular hardware ID (often 0) (usually\nreferred to as BSP on some architectures) is not valid anymore.  The reason\nbeing that the dump capture kernel boots on the crashed CPU (the CPU that\ninvoked crash_kexec), which may be or may not be that particular CPU.\n\nMove definition of hard_smp_processor_id for the UP case to\narchitecture-specific code (\"asm/smp.h\") where it belongs, so that each\narchitecture can provide its own implementation.\n\nSigned-off-by: Fernando Luis Vazquez Cao \u003cfernando@oss.ntt.co.jp\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nAcked-by: Andi Kleen \u003cak@suse.de\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Vivek Goyal \u003cvgoyal@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dd2a345f8f002845636dbf5d2d768bb5cd8a5f59",
      "tree": "9ddbe34d18cf97496f4d3d582ed127fee0d96a01",
      "parents": [
        "0e7d18b57c39bedcbd181e3c06d13572b33e5380"
      ],
      "author": {
        "name": "Dave Gilbert",
        "email": "linux@treblig.org",
        "time": "Wed May 09 02:33:24 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:48 2007 -0700"
      },
      "message": "Display all possible partitions when the root filesystem failed to mount\n\nDisplay all possible partitions when the root filesystem is not mounted.\nThis helps to track spell\u0027o\u0027s and missing drivers.\n\nUpdated to work with newer kernels.\n\nExample output:\n\nVFS: Cannot open root device \"foobar\" or unknown-block(0,0)\nPlease append a correct \"root\u003d\" boot option; here are the available partitions:\n0800    8388608 sda driver: sd\n  0801     192748 sda1\n  0802    8193150 sda2\n0810    4194304 sdb driver: sd\nKernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)\n\n[akpm@linux-foundation.org: cleanups, fix printk warnings]\nSigned-off-by: Jan Engelhardt \u003cjengelh@gmx.de\u003e\nCc: Dave Gilbert \u003clinux@treblig.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a3d25c275d383975504dc53c25b691df59bd3c48",
      "tree": "161a2ae12a20a630c2f639e144872db2b92eb098",
      "parents": [
        "d60846c4d16f9518b098b905af2b87cb6bf6dc42"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed May 09 02:33:18 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:48 2007 -0700"
      },
      "message": "PM: Separate hibernation code from suspend code\n\n[ With Johannes Berg \u003cjohannes@sipsolutions.net\u003e ]\n\nSeparate the hibernation (aka suspend to disk code) from the other suspend\ncode.  In particular:\n\n * Remove the definitions related to hibernation from include/linux/pm.h\n * Introduce struct hibernation_ops and a new hibernate() function to hibernate\n   the system, defined in include/linux/suspend.h\n * Separate suspend code in kernel/power/main.c from hibernation-related code\n   in kernel/power/disk.c and kernel/power/user.c (with the help of\n   hibernation_ops)\n * Switch ACPI (the only user of pm_ops.pm_disk_mode) to hibernation_ops\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Nigel Cunningham \u003cnigel@nigel.suspend2.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "97416ce82e20a9511ec369822098a8d20998398a",
      "tree": "a8ecca47df90e5844853b3578aac6e72ba2694f8",
      "parents": [
        "01f41ec7b36e14da18a4e162ef697ae358f36e37"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Wed May 09 02:32:35 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:44 2007 -0700"
      },
      "message": "Declare {compat_}sys_utimensat\n\nThis is needed before Powerpc can wire up the syscall.\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "42f209d3c94516affeb5e578fae62925f531a2d9",
      "tree": "806035c350303fa8e19c7aa5e5a5f4c4b3128752",
      "parents": [
        "36200b76008d52d16b170d4f7dae9cfe00f5eb2b"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Fri May 04 15:49:38 2007 -0400"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed May 09 13:26:52 2007 +0100"
      },
      "message": "[MTD] Delete allegedly obsolete \"bank_size\" field of mtd_info.\n\nDelete the allegedly obsolete \"bank_size\" member of struct mtd_info.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "36200b76008d52d16b170d4f7dae9cfe00f5eb2b",
      "tree": "b1c37e3f80c0a6c1fb43e919552eb0b15241a17a",
      "parents": [
        "025257c7a7665a117b72097cc12021140eac8a34"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Thu May 03 15:58:49 2007 -0400"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed May 09 13:24:37 2007 +0100"
      },
      "message": "[MTD] Remove unnecessary user space check from mtd.h.\n\nSince the header file include/linux/mtd/mtd.h is not exported to user\nspace, remove the user space check and error.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "121e70b69aef898a3c02fa90d0a2108381bcf975",
      "tree": "18a32c745abe6d6cc812c03206744df3c223a667",
      "parents": [
        "f42df9e658be10ca10d0d9b19a0e9d484694f04f"
      ],
      "author": {
        "name": "John Anthony Kazos Jr",
        "email": "jakj@j-a-k-j.com",
        "time": "Wed May 09 08:30:57 2007 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Wed May 09 08:58:21 2007 +0200"
      },
      "message": "include files: convert \"include\" subdirectory to UTF-8\n\nConvert the \"include\" subdirectory to UTF-8.\n\nSigned-off-by: John Anthony Kazos Jr. \u003cjakj@j-a-k-j.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "5886269962f94fa9185c32db3ec936c612503235",
      "tree": "2f24dabcf5791319ebb1fbdfb5dbc58284714275",
      "parents": [
        "01afd80626e98c2347bc25be92ee4a3faf314514"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "ukleinek@informatik.uni-freiburg.de",
        "time": "Wed May 09 07:51:49 2007 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Wed May 09 08:58:16 2007 +0200"
      },
      "message": "fix file specification in comments\n\nMany files include the filename at the beginning, serveral used a wrong one.\n\nSigned-off-by: Uwe Kleine-König \u003cukleinek@informatik.uni-freiburg.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "59c51591a0ac7568824f541f57de967e88adaa07",
      "tree": "243d20eb0a26b76d5d312f39ec5a1ff60e036711",
      "parents": [
        "02a3e59a088749c08b0293ee1535f5bf48f5926c"
      ],
      "author": {
        "name": "Michael Opdenacker",
        "email": "michael@free-electrons.com",
        "time": "Wed May 09 08:57:56 2007 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Wed May 09 08:57:56 2007 +0200"
      },
      "message": "Fix occurrences of \"the the \"\n\nSigned-off-by: Michael Opdenacker \u003cmichael@free-electrons.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "940d67f6b95166475ff6e600ef7658e1cd441278",
      "tree": "390f7e30228ae2f22d0009831f80fb909df1e177",
      "parents": [
        "de372ecd80a42c4fb485c7232475301a18d05184"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue May 08 19:23:49 2007 +1000"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Wed May 09 16:34:56 2007 +1000"
      },
      "message": "[POWERPC] swsusp: Introduce register_nosave_region_late\n\nThis patch introduces a new register_nosave_region_late function that\ncan be called from initcalls when register_nosave_region can no longer\nbe used because it uses bootmem.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "beb7dd86a101263bf63a78c7c6d4da3849b35bd6",
      "tree": "9afe81ca9e92ab8aacc999ae118b27d547721f11",
      "parents": [
        "3dde6ad8fc3939d345a3768464ecff43c91d511a"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Wed May 09 07:14:03 2007 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Wed May 09 07:14:03 2007 +0200"
      },
      "message": "Fix misspellings collected by members of KJ list.\n\nFix the misspellings of \"propogate\", \"writting\" and (oh, the shame\n:-) \"kenrel\" in the source tree.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "225c7b1feef1b41170f7037a5b10a65cd8a42c54",
      "tree": "702a0a2cbba7f1c5b2949d236b4463d486204fdc",
      "parents": [
        "1bf66a30421ca772820f489d88c16d0c430d6a67"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue May 08 18:00:38 2007 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue May 08 18:00:38 2007 -0700"
      },
      "message": "IB/mlx4: Add a driver Mellanox ConnectX InfiniBand adapters\n\nAdd an InfiniBand driver for Mellanox ConnectX adapters.  Because\nthese adapters can also be used as ethernet NICs and Fibre Channel \nHBAs, the driver is split into two modules: \n \n  mlx4_core: Handles low-level things like device initialization and \n    processing firmware commands.  Also controls resource allocation \n    so that the InfiniBand, ethernet and FC functions can share a \n    device without stepping on each other. \n \n  mlx4_ib: Handles InfiniBand-specific things; plugs into the \n    InfiniBand midlayer. \n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "055b8224140e7a7515bf8113ce675d58abffedf1",
      "tree": "32528d9920e9819079fce8e0d43f06d75c28da01",
      "parents": [
        "36f021b579d195cdc5fa6f3e2bab198b4bf70643"
      ],
      "author": {
        "name": "Alex Dubov",
        "email": "oakad@yahoo.com",
        "time": "Tue May 01 20:14:55 2007 -0700"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Tue May 08 22:41:47 2007 +0200"
      },
      "message": "disable socket power in adapter driver instead of media one\n\nSocket power must be fully controlled by adapter driver. This also prevents\nunnecessary power-off of the socket when media driver is unloaded, yet\nmedia remains in the socket.\n\nSigned-off-by: Alex Dubov \u003coakad@yahoo.com\u003e\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "4750def52cb2c21732dda9aa1d43a07db37b0186",
      "tree": "29fd6223665faabb593f8ae1f4f626685f425ff9",
      "parents": [
        "9028780a3e6d2c3dd940e89b377765cca008b6df",
        "27c78b372d05e47bbd059c9bb003c6d716abff54"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:58:20 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:58:20 2007 -0700"
      },
      "message": "Merge branch \u0027reset-seq\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev\n\n* \u0027reset-seq\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev:\n  [libata reset-seq] build and merge fixes\n  libata: reimplement reset sequencing\n  libata: improve ata_std_prereset()\n  libata: improve 0xff status handling\n  libata: add deadline support to prereset and reset methods\n"
    },
    {
      "commit": "393bfca19ecdce60a8d9a4d2577cac11ca924a25",
      "tree": "a609269ca3332b8f2f7b2b4a2c96f7d824c0e639",
      "parents": [
        "df6d3916f3b7b7e2067567a256dd4f0c1ea854a2",
        "ba0acb5ee318901646f82c134cca2e4de0c43934"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:51:43 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:51:43 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/dtor/input\n\n* master.kernel.org:/pub/scm/linux/kernel/git/dtor/input:\n  Input: move USB miscellaneous devices under drivers/input/misc\n  Input: move USB mice under drivers/input/mouse\n  Input: move USB gamepads under drivers/input/joystick\n  Input: move USB touchscreens under drivers/input/touchscreen\n  Input: move USB tablets under drivers/input/tablet\n  Input: i8042 - fix AUX port detection with some chips\n  Input: aaed2000_kbd - convert to use polldev library\n  Input: drivers/usb/input - usb_buffer_free() cleanup\n  Input: synaptics - don\u0027t complain about failed resets\n  Input: pull input.h into uinpit.h\n  Input: drivers/usb/input - fix sparse warnings (signedness)\n  Input: evdev - fix some sparse warnings (signedness, shadowing)\n  Input: drivers/joystick - fix various sparse warnings\n  Input: force feedback - make sure effect is present before playing\n"
    },
    {
      "commit": "df6d3916f3b7b7e2067567a256dd4f0c1ea854a2",
      "tree": "0fdeab1ab5d566605fc99aeb5ea3f621f11e7608",
      "parents": [
        "74add80cbd7fe246c893b93ee75ac59acdd01dd4",
        "197686dfe0038fd190326d118b743ff65ad20c0e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:50:19 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:50:19 2007 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc\n\n* \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (77 commits)\n  [POWERPC] Abolish powerpc_flash_init()\n  [POWERPC] Early serial debug support for PPC44x\n  [POWERPC] Support for the Ebony 440GP reference board in arch/powerpc\n  [POWERPC] Add device tree for Ebony\n  [POWERPC] Add powerpc/platforms/44x, disable platforms/4xx for now\n  [POWERPC] MPIC U3/U4 MSI backend\n  [POWERPC] MPIC MSI allocator\n  [POWERPC] Enable MSI mappings for MPIC\n  [POWERPC] Tell Phyp we support MSI\n  [POWERPC] RTAS MSI implementation\n  [POWERPC] PowerPC MSI infrastructure\n  [POWERPC] Rip out the existing powerpc msi stubs\n  [POWERPC] Remove use of 4level-fixup.h for ppc32\n  [POWERPC] Add powerpc PCI-E reset API implementation\n  [POWERPC] Holly bootwrapper\n  [POWERPC] Holly DTS\n  [POWERPC] Holly defconfig\n  [POWERPC] Add support for 750CL Holly board\n  [POWERPC] Generalize tsi108 PCI setup\n  [POWERPC] Generalize tsi108 PHY types\n  ...\n\nFixed conflict in include/asm-powerpc/kdebug.h manually\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "34ed25f50b347c7e1ff78f9308e025ddd57c2f20",
      "tree": "f6416c654f112c48063ed8071882f50088be3696",
      "parents": [
        "9a31f0f7679aeaf79c613feaa3f4170741ccb218"
      ],
      "author": {
        "name": "Ondrej Zajicek",
        "email": "santiago@crfreenet.org",
        "time": "Tue May 08 00:40:00 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:33 2007 -0700"
      },
      "message": "s3fb: updates\n\nMove s3fb_get_tilemax to svgalib.c as svga_get_tilemax, because it reports\nlimitation of other code from svgalib (svga_settile, svga_tilecopy, ...)\n\nLimit font width to 8 pixels in 4 bpp mode.\n\nSigned-off-by: Ondrej Zajicek \u003csantiago@crfreenet.org\u003e\nSigned-off-by: Antonino Daplas \u003cadaplas@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c831c338f0ad299fcd1592c6e4f30657480f39af",
      "tree": "e2562fbcffe80e9d78255a92aab7f7db1f761e9d",
      "parents": [
        "159dde93692ef549a0b2012c9f25feb4df638c9c"
      ],
      "author": {
        "name": "Matthias Kaehlcke",
        "email": "matthias.kaehlcke@gmail.com",
        "time": "Tue May 08 00:39:49 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:33 2007 -0700"
      },
      "message": "use mutex instead of semaphore in virtual console driver\n\nThe virtual console driver uses a semaphore as mutex.  Use the mutex API\ninstead of the (binary) semaphore.\n\nSigned-off-by: Matthias Kaehlcke \u003cmatthias.kaehlcke@gmail.com\u003e\nCc: \"Antonino A. Daplas\" \u003cadaplas@pol.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "38a3dc51852d8350b156ea909c5aa8767d71b005",
      "tree": "933e9a4b7b0a0d871aaccd7d44e9224ea6c4a0b5",
      "parents": [
        "e15de77e74d429f14641ebe7a29ccd8aa6656f3c"
      ],
      "author": {
        "name": "Antonino A. Daplas",
        "email": "adaplas@gmail.com",
        "time": "Tue May 08 00:39:37 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:32 2007 -0700"
      },
      "message": "fbdev: fbcon: check if mode can handle new screen\n\nCheck if the mode can properly display the screen.  This will be needed by\ndrivers where the capability is not constant with each mode.  The function\nfb_set_var() will query fbcon the requirement, then it will query the driver\n(via a new hook fb_get_caps()) its capability.  If the driver\u0027s capability\ncannot handle fbcon\u0027s requirement, then fb_set_var() will fail.\n\nFor example, if a particular driver supports 2 modes where:\n\nmode1 \u003d can only display 8x16 bitmaps\nmode2 \u003d can display any bitmap\n\nthen if current mode \u003d mode2 and current font \u003d 12x22\n\nfbset \u003cmode1\u003e /* mode1 cannot handle 12x22 */\nfbset will fail\n\nSigned-off-by: Antonino Daplas \u003cadaplas@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "11f11d522f74965fce421a5a09ff0ab178139d36",
      "tree": "179affdf2b4f7e7f8c111c19c6aa6141c64c760b",
      "parents": [
        "8db51668f5ef6ae31ed4e4f0c6e2976a190dfa11"
      ],
      "author": {
        "name": "Antonino A. Daplas",
        "email": "adaplas@gmail.com",
        "time": "Tue May 08 00:39:16 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:31 2007 -0700"
      },
      "message": "fbdev: add tile operation to get the maximum length of the map\n\nAdd a tile method, fb_get_tilemax(), that returns the maximum length of\nthe tile map (or font map).  This is needed by s3fb which can only handle\n256 characters.\n\nSigned-off-by: Antonino Daplas \u003cadaplas@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2d2699d984924890f6dac8cf51c3b6311f56816c",
      "tree": "bd8f50392ac6918589c6069177b89172f2263916",
      "parents": [
        "bf26ad72a60c0009a99179b449a43daa6bf4b4f6"
      ],
      "author": {
        "name": "Antonino A. Daplas",
        "email": "adaplas@gmail.com",
        "time": "Tue May 08 00:39:11 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:31 2007 -0700"
      },
      "message": "fbcon: font setting should check limitation of driver\n\nfbcon_set_font() will now check if the new font dimensions can be drawn by the\ndriver (by checking pixmap.blit_x and blit_y).  Similarly, add 2 new\nparameters to get_default_font(), font_w and font_h, to further aid in the\nfont selection process.\n\nSigned-off-by: Antonino Daplas \u003cadaplas@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bf26ad72a60c0009a99179b449a43daa6bf4b4f6",
      "tree": "55ba5c443aa0e0aa97e692f4be29c582356fd056",
      "parents": [
        "dc0e6e0544f1cb2af44e5d7a7e68acda05dec6fa"
      ],
      "author": {
        "name": "Antonino A. Daplas",
        "email": "adaplas@gmail.com",
        "time": "Tue May 08 00:39:09 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:30 2007 -0700"
      },
      "message": "fbdev: advertise limitation of drawing engine\n\nA few drivers are not capable of blitting rectangles of any dimension.\nvga16fb can only blit 8-pixel wide rectangles, while s3fb (in tileblitting\nmode) can only blit 8x16 rectangles.  For example, loading a 12x22 font in\nvga16fb will result in a corrupt display.\n\nAdvertise this limitation/capability in info-\u003epixmap.blit_x and blit_y.  These\nfields are 32-bit arrays (font max is 32x32 only), ie, if bit 7 is set, then\nwidth/height of 7+1 is supported.\n\nSigned-off-by: Antonino Daplas \u003cadaplas@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "09aaf268eb1d22eee690d26a913f660e2081597f",
      "tree": "9179447608d1c7ee23af266d2bae2eef6d05a1c9",
      "parents": [
        "3f9b0880e4a96b02bc0131451f2f6231cd90bd94"
      ],
      "author": {
        "name": "Antonino A. Daplas",
        "email": "adaplas@gmail.com",
        "time": "Tue May 08 00:39:03 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:30 2007 -0700"
      },
      "message": "fbdev: add fb_read/fb_write functions for framebuffers in system RAM\n\nThe functions fb_read() and fb_write in fbmem.c assume that the framebuffer\nis in IO memory.  However, we have 3 drivers (hecubafb, arcfb, and vfb)\nwhere the framebuffer is allocated from system RAM (via vmalloc). Using\n__raw_read/__raw_write (fb_readl/fb_writel) for these drivers is\nillegal, especially in other platforms.\n\nCreate file read and write methods for these types of drivers.  These are\nnamed fb_sys_read() and fb_sys_write().\n\nSigned-off-by: Antonino Daplas \u003cadaplas@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3f9b0880e4a96b02bc0131451f2f6231cd90bd94",
      "tree": "a47339c46ab03918b24d501df54884c277326a74",
      "parents": [
        "87b4884935d387acc4c4418da6a75387bfcc24b9"
      ],
      "author": {
        "name": "Antonino A. Daplas",
        "email": "adaplas@gmail.com",
        "time": "Tue May 08 00:39:02 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:30 2007 -0700"
      },
      "message": "fbdev: pass struct fb_info to fb_read and fb_write\n\nIt is unnecessary to pass struct file to fb_read() and fb_write() in struct\nfb_ops. For consistency with the other methods, pass struct fb_info instead.\n\nSigned-off-by: Antonino Daplas \u003cadaplas@gmail.com\u003e\nAcked-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "68648ed1f58d98b8e8d994022e5e25331fbfe42a",
      "tree": "77c721d08b11aba58a30779e7b3294a96dd7fb29",
      "parents": [
        "a42dc9d4804cc5e111952008492dae9d34c6a541"
      ],
      "author": {
        "name": "Antonino A. Daplas",
        "email": "adaplas@gmail.com",
        "time": "Tue May 08 00:38:57 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:30 2007 -0700"
      },
      "message": "fbdev: add drawing functions for framebuffers in system RAM\n\nThe generic drawing functions (cfbimgblt, cfbcopyarea, cfbfillrect) assume\nthat the framebuffer is in IO memory.  However, we have 3 drivers (hecubafb,\narcfb, and vfb) where the framebuffer is allocated from system RAM (via\nvmalloc). Using _raw_read/write and family for these drivers (as used in\nthe cfb* functions) is illegal, especially in other platforms.\n\nCreate 3 new drawing functions, based almost entirely from the original\nexcept that the framebuffer memory is assumed to be in system RAM.\nThese are named as sysimgblt, syscopyarea, and sysfillrect.\n\nSigned-off-by: Antonino Daplas \u003cadaplas@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fa6ce9ab5fbcb4c276c48861584b70d387e787b3",
      "tree": "71b6295410513d17226a57be542f0a761db97841",
      "parents": [
        "1c2bbe6a11ec7d1de114acfc8a6bf2821b0224a5"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@linux01.gwdg.de",
        "time": "Tue May 08 00:38:04 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:27 2007 -0700"
      },
      "message": "vt: add color support to the \"underline\" and \"italic\" attributes\n\nAdd color support to the \"underline\" and \"italic\" attributes as in\nOpenBSD/NetBSD-style (vt220) and xterm.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@gmx.de\u003e\nAcked-by: \"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": "5e841b88d23d0ea0a6ee4e76c489899d4d23ce25",
      "tree": "7268b4bbb85aa7b1c72f54f7f8cd309b34cfecce",
      "parents": [
        "7bf1ea33ad70cf49638092367d52859fbbc44fee"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Tue May 08 00:37:41 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:27 2007 -0700"
      },
      "message": "fb: fsync() method for deferred I/O flush.\n\nThere are cases when we do not want to wait on the delay for automatically\nupdating the \"real\" framebuffer, this implements a simple -\u003efsync() hook\nfor explicitly flushing the deferred I/O work.  The -\u003epage_mkwrite()\nhandler will rearm the work queue normally.\n\n(akpm: nuke unneeded ifdefs, forward-delcare struct dentry)\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Jaya Kumar \u003cjayakumar.lkml@gmail.com\u003e\nAcked-by: Antonino Daplas \u003cadaplas@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "60b59beafba875aef6d378078bce0baf2287ae14",
      "tree": "bb599c0e2ad43ee8f515a9f9af009442931b6a37",
      "parents": [
        "3a2842480bbef42c3c90e14c1f378360d8c20a0c"
      ],
      "author": {
        "name": "Jaya Kumar",
        "email": "jayakumar.lkml@gmail.com",
        "time": "Tue May 08 00:37:37 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:26 2007 -0700"
      },
      "message": "fbdev: mm: Deferred IO support\n\nThis implements deferred IO support in fbdev.  Deferred IO is a way to delay\nand repurpose IO.  This implementation is done using mm\u0027s page_mkwrite and\npage_mkclean hooks in order to detect, delay and then rewrite IO.  This\nfunctionality is used by hecubafb.\n\n[adaplas]\nThis is useful for graphics hardware with no directly addressable/mappable\nframebuffer. Implementing this will allow the \"framebuffer\" to be accesible\nfrom user space via mmap().\n\nSigned-off-by: Jaya Kumar \u003cjayakumar.lkml@gmail.com\u003e\nSigned-off-by: Antonino Daplas \u003cadaplas@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2ee121631b9dd0291502ccac6f897907505faf8c",
      "tree": "241c6fed7da9fe24c998674d6ba9d8ec1bf10f52",
      "parents": [
        "825d0a97f3b9031235b1ee77b1e22fec15c758ba"
      ],
      "author": {
        "name": "James Simmons",
        "email": "jsimmons@infradead.org",
        "time": "Tue May 08 00:37:15 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:26 2007 -0700"
      },
      "message": "fbdev: display class\n\nAdd the new display class.  This is meant to unite the various solutions to\ndisplay units ie acpi output device, auxdisplay and the defunct lcd class\nin the backlight directory.\n\nSigned-off-by: James Simmons \u003cjsimmons@infradead.org\u003e\nCc: \"Antonino A. Daplas\" \u003cadaplas@pol.net\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dd025c0c7a047b1be7dfaa4061368b4783d89ebb",
      "tree": "7041390fe906a8a2e0e95463ce2212bca2df9e45",
      "parents": [
        "f2462bfe558559c9fbc4ef60812d5df30ccb01f6"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Tue May 08 00:37:02 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:25 2007 -0700"
      },
      "message": "Char: cyclades, dynamic ports\n\nand save thus approx. 160k of .bss\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6a0aa67b177a3d84f789f7f19c523d8c5e8bb5f8",
      "tree": "732df5be0bca62d5a24636aed189a69a822058de",
      "parents": [
        "3991428d9efc7185312196f82cc36e9df4a2ddb0"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Tue May 08 00:36:55 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:25 2007 -0700"
      },
      "message": "Char: cyclades, remove unused timestamps\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2c7fea992104b5ca2b510d585a27b3ba018b795f",
      "tree": "635126a471561a2a5fb7fb598f02ef69d6800abe",
      "parents": [
        "875b206b5f4971cc990a12e891f5519f0f6772a9"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Tue May 08 00:36:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:25 2007 -0700"
      },
      "message": "Char: cyclades, remove sleep_on\n\nconvert to wait_* and completion\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "875b206b5f4971cc990a12e891f5519f0f6772a9",
      "tree": "018ab8a287541f16b1ffda91fb7fc583cadb8a33",
      "parents": [
        "6d8248e850309c0f05beb5bdbfc89b7901bf3d85"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Tue May 08 00:36:49 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:25 2007 -0700"
      },
      "message": "Char: cyclades, make info-\u003ecard a pointer\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "46039f8a64cd50bbf70ce54fefe148e75598391b",
      "tree": "8a0ba0424eddd6e54ee23e12e8de6de7d9bf8d4f",
      "parents": [
        "b81cc310f1309f6090a5655af1fe5831ded53233"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Tue May 08 00:36:40 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:24 2007 -0700"
      },
      "message": "Char: cyclades, remove useless fileds from cyclades_card\n\npde, ctl_phys and base_phys are useless -- they are never used.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b81cc310f1309f6090a5655af1fe5831ded53233",
      "tree": "9897fa9dab4f446ab6703783a34517398947e212",
      "parents": [
        "cff9494fadb09e851b66096e3fd6fc08721bd683"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Tue May 08 00:36:38 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:24 2007 -0700"
      },
      "message": "Char: cyclades, unexport struct cyclades_card\n\nDo not export internal card data to userspace. cytune doesn\u0027t use this\nanyway.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8f81dd149806bc53c68c92f34d61f88427079039",
      "tree": "ae60b9f2485a44d68b91aa18bf0991e6cf1181f1",
      "parents": [
        "cab9bdd14dd7d8091b0aac7877ae9f29724eb741"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Tue May 08 00:35:54 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:23 2007 -0700"
      },
      "message": "PNP: notice whether we have PNP devices (PNPBIOS or PNPACPI)\n\nThis series converts i386 and x86_64 legacy serial ports to be platform\ndevices and prevents probing for them if we have PNP.\n\nThis prevents double discovery, where a device was found both by the legacy\nprobe and by 8250_pnp.\n\nThis also prevents the serial driver from claiming IRDA devices (unless they\nhave a UART PNP ID).  The serial legacy probe sometimes assumed the wrong IRQ,\nso the user had to use \"setserial\" to fix it.\n\nRemoving the need for setserial to make IRDA devices work seems good, but it\ndoes break some things.  In particular, you may need to keep setserial from\npoking legacy UART stuff back in by doing something like \"dpkg-reconfigure\nsetserial\" with the \"kernel\" option.  Otherwise, the setserial-discovered\n\"UART\" will claim resources and prevent the IRDA driver from loading.\n\nThis patch:\n\nIf we can discover devices using PNP, we can skip some legacy probes.  This\nflag (\"pnp_platform_devices\") indicates that PNPBIOS or PNPACPI is enabled and\nshould tell us about builtin devices.\n\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nCc: Keith Owens \u003ckaos@ocs.com.au\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Adam Belay \u003cambx1@neo.rr.com\u003e\nCc: Matthieu CASTET \u003ccastet.matthieu@free.fr\u003e\nCc: Jean Tourrilhes \u003cjt@hpl.hp.com\u003e\nCc: Matthew Garrett \u003cmjg59@srcf.ucam.org\u003e\nCc: Ville Syrjala \u003csyrjala@sci.fi\u003e\nCc: Russell King \u003crmk+serial@arm.linux.org.uk\u003e\nCc: Samuel Ortiz \u003csamuel@sortiz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "db05c3b1ddaa06e658548f3d99e31a188b0b3bcc",
      "tree": "5b645d4da752988c21b6a66c7afe8a34f994c8df",
      "parents": [
        "ffa68e79ffa952ec909b66505f004e7323316369"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Tue May 08 00:35:46 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:22 2007 -0700"
      },
      "message": "Char: cyclades, cy_readX/writeX cleanup\n\ncyclades, cy_readX/writeX cleanup\n\n- cy_readX are placeholders for readX, remove it\n- move cy_writeX macros into do {} while(0) to be safe\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d85a60d85ea5b7c597508c1510c88e657773d378",
      "tree": "2b5d1a5311074de8c12811e7ddf26e3cda4a41a0",
      "parents": [
        "951744fea0aea9adbd7c8cacb3605f2d69a66f96"
      ],
      "author": {
        "name": "Bernhard Walle",
        "email": "bwalle@suse.de",
        "time": "Tue May 08 00:35:24 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:22 2007 -0700"
      },
      "message": "Add IRQF_IRQPOLL flag (common code)\n\nirqpoll is broken on some architectures that don\u0027t use the IRQ 0 for the timer\ninterrupt like IA64.  This patch adds a IRQF_IRQPOLL flag.\n\nEach architecture is handled in a separate pach.  As I left the irq \u003d\u003d 0 as\ncondition, this should not break existing architectures that use timer_irq \u003d\u003d\n0 and that I did\u0027t address with that patch (because I don\u0027t know).\n\nThis patch:\n\nThis patch adds a IRQF_IRQPOLL flag that the interrupt registration code could\nuse for the interrupt it wants to use for IRQ polling.\n\nBecause this must not be the timer interrupt, an additional flag was added\ninstead of re-using the IRQF_TIMER constant.  Until all architectures will\nhave an IRQF_IRQPOLL interrupt, irq \u003d\u003d 0 will stay as alternative as it should\nnot break anything.\n\nAlso, note_interrupt() is called on CPU-specific interrupts to be used as\ninterrupt source for IRQ polling.\n\nSigned-off-by: Bernhard Walle \u003cbwalle@suse.de\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Matthew Wilcox \u003cwilly@debian.org\u003e\nCc: Grant Grundler \u003cgrundler@google.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "277866a0e3a4f97e859f7a621f5b4f5359c9526c",
      "tree": "20b244f5c0c7b6a692f0290f70f0fefae9d88d5a",
      "parents": [
        "79df3c19aa601d264719b04e3a788a7b852f4859"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue May 08 00:35:12 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:21 2007 -0700"
      },
      "message": "nfs: fix congestion control: use atomic_longs\n\nChange the atomic_t in struct nfs_server to atomic_long_t in anticipation\nof machines that can handle 8+TB of (4K) pages under writeback.\n\nHowever I suspect other things in NFS will start going *bang* by then.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bf8f6e5b3e51ee0c64c2d1350c70198ddc8ad3f7",
      "tree": "c48ebb92f836cfac58465eacc9658fbc2bac4783",
      "parents": [
        "4c4308cb93450989846ac49faeb6dab943e7657e"
      ],
      "author": {
        "name": "Ananth N Mavinakayanahalli",
        "email": "ananth@in.ibm.com",
        "time": "Tue May 08 00:34:16 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:19 2007 -0700"
      },
      "message": "Kprobes: The ON/OFF knob thru debugfs\n\nThis patch provides a debugfs knob to turn kprobes on/off\n\no A new file /debug/kprobes/enabled indicates if kprobes is enabled or\n  not (default enabled)\no Echoing 0 to this file will disarm all installed probes\no Any new probe registration when disabled will register the probe but\n  not arm it. A message will be printed out in such a case.\no When a value 1 is echoed to the file, all probes (including ones\n  registered in the intervening period) will be enabled\no Unregistration will happen irrespective of whether probes are globally\n  enabled or not.\no Update Documentation/kprobes.txt to reflect these changes. While there\n  also update the doc to make it current.\n\nWe are also looking at providing sysrq key support to tie to the disabling\nfeature provided by this patch.\n\n[akpm@linux-foundation.org: Use bool like a bool!]\n[akpm@linux-foundation.org: add printk facility levels]\n[cornelia.huck@de.ibm.com: Add the missing arch_trampoline_kprobe() for s390]\nSigned-off-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nSigned-off-by: Srinivasa DS \u003csrinivasa@in.ibm.com\u003e\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@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"
    }
  ],
  "next": "4c4308cb93450989846ac49faeb6dab943e7657e"
}
