)]}'
{
  "log": [
    {
      "commit": "4099d14322149c7a467e4997b87be4ba8eb78697",
      "tree": "133a913d7f9c2dacaaaef5cfdf2ae6911dc21f4c",
      "parents": [
        "6a824c92db4d606c324272c4eed366fb71672440"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jul 20 01:11:59 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jul 20 01:11:59 2007 +0200"
      },
      "message": "ide: add PIO masks\n\n* Add ATA_PIO[0-6] defines to \u003clinux/ata.h\u003e.\n\n* Add -\u003epio_mask field to ide_pci_device_t and ide_hwif_t.\n\n* Add PIO masks to host drivers.\n\n\u003clinux/ata.h\u003e change ACK-ed by Jeff Garzik \u003cjeff@garzik.org\u003e.\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "6a824c92db4d606c324272c4eed366fb71672440",
      "tree": "72b398062fd582b85507b665120f0a5315548eaf",
      "parents": [
        "2134758d2a5429325cee4d4ce8959af5314eeba1"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jul 20 01:11:58 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jul 20 01:11:58 2007 +0200"
      },
      "message": "ide: remove ide_find_best_pio_mode()\n\n* Add -\u003ehost_flags to ide_hwif_t to store ide_pci_device_t.host_flags,\n  assign it in setup-pci.c:ide_pci_setup_ports().\n\n* Add IDE_HFLAG_PIO_NO_{BLACKLIST,DOWNGRADE} to ide_pci_device_t.host_flags\n  and teach ide_get_best_pio_mode() about them.  Also remove needless\n  !drive-\u003eid check while at it (drive-\u003eid is always present).\n\n* Convert amd74xx, via82cxxx and ide-timing.h to use ide_get_best_pio_mode()\n  and then remove no longer needed ide_find_best_pio_mode().\n\nThere should be no functionality changes caused by this patch.\n\nAcked-by: Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "2134758d2a5429325cee4d4ce8959af5314eeba1",
      "tree": "cc0d1326c04522e70c1f52598c9aba29aa85170f",
      "parents": [
        "e5fa4b2968ff0f32b5ecfa082fd6db50b731055e"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jul 20 01:11:58 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jul 20 01:11:58 2007 +0200"
      },
      "message": "ide: drop \"PIO data\" argument from ide_get_best_pio_mode()\n\n* Drop no longer needed \"PIO data\" argument from ide_get_best_pio_mode()\n  and convert all users accordingly.\n\n* Remove no longer needed ide_pio_data_t.\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "7dd00083b1160b560fa2a0a486799b57baa5d035",
      "tree": "22e8cf2c740d55ff9b4fdf57b9593a357d0092b7",
      "parents": [
        "31c4df441cce6b9ec541e7f722f50bfbc617dd76"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jul 20 01:11:56 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jul 20 01:11:56 2007 +0200"
      },
      "message": "ide: add ide_pio_cycle_time() helper (take 2)\n\n* Add ide_pio_cycle_time() helper.\n\n* Use it in ali14xx/ht6560b/qd65xx/cmd64{0,x}/sl82c105 and pmac host drivers\n  (previously cycle time given by the device was only used for \"pio\" \u003d\u003d 255).\n\n* Remove no longer needed ide_pio_data_t.cycle_time field.\n\nv2:\n* Fix \"ata_\" prefix (Noticed by Jeff).\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "a5d8c5c834d3cabf4b7b477c3f6ee923c25026fc",
      "tree": "19fc04470569a3c2f227d5aac3078a15ac65bb32",
      "parents": [
        "2229833c1365346b64357a9263fa724f74f5e376"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jul 20 01:11:55 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jul 20 01:11:55 2007 +0200"
      },
      "message": "ide: add ide_pci_device_t.host_flags (take 2)\n\n* Rename ide_pci_device_t.flags to ide_pci_device_t.host_flags\n  and IDEPCI_FLAG_ISA_PORTS flag to IDE_HFLAG_ISA_PORTS.\n\n* Add IDE_HFLAG_SINGLE flag for single channel devices.\n\n* Convert core code and all IDE PCI drivers to use IDE_HFLAG_SINGLE\n  and remove no longer needed ide_pci_device_t.channels field.\n\nv2:\n* Fix issues noticed by Sergei:\n  - correct code alignment in scc_pata.c\n  - s/IDE_HFLAG_SINGLE/~IDE_HFLAG_SINGLE/ in serverworks.c\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "2229833c1365346b64357a9263fa724f74f5e376",
      "tree": "50f06ee86c940ef415561e548dabaaafd81a49a3",
      "parents": [
        "342cdb6d4739cee430efc3eafcacd1605db66036"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jul 20 01:11:55 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jul 20 01:11:55 2007 +0200"
      },
      "message": "ide: add ide_dev_has_iordy() helper (take 4)\n\n* Add ide_dev_has_iordy() helper and use it sl82c105 host driver.\n\n* Remove no longer needed ide_pio_data_t.use_iordy field.\n\nv2/v3:\n* Fix issues noticed by Sergei:\n  - correct patch description\n  - fix comment in ide_get_best_pio_mode()\n\nv4:\n* Fix \"ata_\" prefix (Noticed by Jeff).\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "342cdb6d4739cee430efc3eafcacd1605db66036",
      "tree": "f09b53028467a2f69ad6f0242f8d3b74b32a5af4",
      "parents": [
        "328dcbb63657ebbb2dd26982fa9e1fa9e04b6fa2"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jul 20 01:11:55 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jul 20 01:11:55 2007 +0200"
      },
      "message": "ide: make ide_get_best_pio_mode() print info if overriding PIO mode\n\n* Print info about overriding PIO mode in ide_get_best_pio_mode().\n\n* Remove info about overriding PIO mode from cmd64{0,x} host drivers.\n\n* Remove no longer needed ide_pio_data_t.overridden field.\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "fdb64f93b38a3470fa4db8cd5720b8c731922d1a",
      "tree": "3b17370d30a2b580af72b26f37ec7176c9ecdd84",
      "parents": [
        "2d9ce177e68645945e3366cfe2d66ee3c28cd4f2",
        "c32676eea19ce29cb74dba0f97b085e83f6b8915"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 14:41:33 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 14:41:33 2007 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com:8090/xfs/xfs-2.6\n\n* \u0027for-linus\u0027 of git://oss.sgi.com:8090/xfs/xfs-2.6:\n  [XFS] Fix inode size update before data write in xfs_setattr\n  [XFS] Allow punching holes to free space when at ENOSPC\n  [XFS] Implement -\u003epage_mkwrite in XFS.\n  [FS] Implement block_page_mkwrite.\n\nManually fix up conflict with Nick\u0027s VM fault handling patches in\nfs/xfs/linux-2.6/xfs_file.c\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3e1f900bff40460d7bbab0ccd1a9efc3c70aee49",
      "tree": "d0e2138ff61bdc9d1bd5b7ae5a1e75267d709afc",
      "parents": [
        "12795067cfa595434be0236b102a8eb20d578741",
        "0a87cf128f3d3bc6aa7b1040e73109c974ed875a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 14:33:41 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 14:33:41 2007 -0700"
      },
      "message": "Merge git://git.linux-nfs.org/pub/linux/nfs-2.6\n\n* git://git.linux-nfs.org/pub/linux/nfs-2.6:\n  NFSv4: handle lack of clientaddr in option string\n  NFSv4: debug print ntohl(status) in nfs client callback xdr code\n  SUNRPC: Clean up the sillyrename code\n  NFS: Introduce struct nfs_removeargs+nfs_removeres\n  NFS: Use dentry-\u003ed_time to store the parent directory verifier.\n  SUNRPC: move bkl locking and xdr proc invocation into a common helper\n  NFSv4: Fix the nfsv4 readlink reply buffer alignment\n  NFSv4: Fix the readdir reply buffer alignment\n  NFSv4: More NFSv4 xdr cleanups\n  NFSv4: Try to recover from getfh failures in nfs4_xdr_dec_open\n  NFSv4: \u0027constify\u0027 lookup arguments.\n  NFSv4: Don\u0027t fail nfs4_xdr_dec_open if decode_restorefh() failed\n  NFSv4: Fix open state recovery\n  NFSD/SUNRPC: Fix the automatic selection of RPCSEC_GSS\n"
    },
    {
      "commit": "40b42f1ebf653cd72c32eb1a1a0b9fea2dfbfd7d",
      "tree": "6a2adfcd8412189932a372ce25def8611e287b5c",
      "parents": [
        "5a021e9ffd56c22700133ebc37d607f95be8f7bd",
        "e24b8cb4fa2bb779bdf48656152366b6f52f748f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 14:24:57 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 14:24:57 2007 -0700"
      },
      "message": "Merge branch \u0027release\u0027 of git://lm-sensors.org/kernel/mhoffman/hwmon-2.6\n\n* \u0027release\u0027 of git://lm-sensors.org/kernel/mhoffman/hwmon-2.6: (44 commits)\n  i2c: Delete the i2c-isa pseudo bus driver\n  hwmon: refuse to load abituguru driver on non-Abit boards\n  hwmon: fix Abit Uguru3 driver detection on some motherboards\n  hwmon/w83627ehf: Be quiet when no chip is found\n  hwmon/w83627ehf: No need to initialize fan_min\n  hwmon/w83627ehf: Export the thermal sensor types\n  hwmon/w83627ehf: Enable VBAT monitoring\n  hwmon/w83627ehf: Add support for the VID inputs\n  hwmon/w83627ehf: Fix timing issues\n  hwmon/w83627ehf: Add error messages for two error cases\n  hwmon/w83627ehf: Convert to a platform driver\n  hwmon/w83627ehf: Update the Kconfig entry\n  make coretemp_device_remove() static\n  hwmon: Add LM93 support\n  hwmon: Improve the pwmN_enable documentation\n  hwmon/smsc47b397: Don\u0027t report missing fans as spinning at 82 RPM\n  hwmon: Add support for newer uGuru\u0027s\n  hwmon/f71805f: Add temperature-tracking fan control mode\n  hwmon/w83627ehf: Preserve speed reading when changing fan min\n  hwmon: fix detection of abituguru volt inputs\n  ...\n\nManual fixup of trivial conflict in MAINTAINERS file\n"
    },
    {
      "commit": "ff86303e3021587c49a14df1bc54fe2d393e2223",
      "tree": "7f1b26407aef36ba486428285604b8b7a7cbf99e",
      "parents": [
        "626ac545c12e5f9bffe93086d1d03d26c99987ea",
        "e436d80085133858bf2613a630365e8a0459fd58"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 14:11:14 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 14:11:14 2007 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched:\n  [PATCH] sched: implement cpu_clock(cpu) high-speed time source\n  [PATCH] sched: fix the all pinned logic in load_balance_newidle()\n  [PATCH] sched: fix newly idle load balance in case of SMT\n  [PATCH] sched: sched_cacheflush is now unused\n"
    },
    {
      "commit": "626ac545c12e5f9bffe93086d1d03d26c99987ea",
      "tree": "3ff83cc510f09bd0561b3b2a8b769beda952ad17",
      "parents": [
        "9550b105b8646f916862aee3ab7b25020ca14159"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Tue Jul 17 15:28:17 2007 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 14:05:08 2007 -0700"
      },
      "message": "user namespace: fix copy_user_ns return value\n\nWhen a CONFIG_USER_NS\u003dn and a user tries to unshare some namespace other\nthan the user namespace, the dummy copy_user_ns returns NULL rather than\nthe old_ns.\n\nThis value then gets assigned to task-\u003ensproxy-\u003euser_ns, so that a\nsubsequent setuid, which uses task-\u003ensproxy-\u003euser_ns, causes a NULL\npointer deref.\n\nFix this by returning old_ns.\n\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e436d80085133858bf2613a630365e8a0459fd58",
      "tree": "c579410a12ed63d94e3a40a023634c7df4aebc76",
      "parents": [
        "969bb4e4032dac67287951d8f6642a3b5119694e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 19 21:28:35 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 19 21:28:35 2007 +0200"
      },
      "message": "[PATCH] sched: implement cpu_clock(cpu) high-speed time source\n\nImplement the cpu_clock(cpu) interface for kernel-internal use:\nhigh-speed (but slightly incorrect) per-cpu clock constructed from\nsched_clock().\n\nThis API, unused at the moment, will be used in the future by blktrace,\nby the softlockup-watchdog, by printk and by lockstat.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e4eff1a622edd6ab7b73acd5d8763aa2fa3fee49",
      "tree": "257d6675733d4af122a77054281e1d7d5062d904",
      "parents": [
        "4fdc17b2a7f4d9db5b08e0f963d0027f714e4104"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jul 14 15:39:58 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jul 19 15:21:39 2007 -0400"
      },
      "message": "SUNRPC: Clean up the sillyrename code\n\nFix a couple of bugs:\n - Don\u0027t rely on the parent dentry still being valid when the call completes.\n   Fixes a race with shrink_dcache_for_umount_subtree()\n\n - Don\u0027t remove the file if the filehandle has been labelled as stale.\n\nFix a couple of inefficiencies\n - Remove the global list of sillyrenamed files. Instead we can cache the\n   sillyrename information in the dentry-\u003ed_fsdata\n - Move common code from unlink_setup/unlink_done into fs/nfs/unlink.c\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4fdc17b2a7f4d9db5b08e0f963d0027f714e4104",
      "tree": "502aacc94e06962c2f3352b6ced1146245158be1",
      "parents": [
        "3062c532ad410fe0e8320566fe2879a396be6701"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jul 14 15:39:57 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jul 19 15:21:39 2007 -0400"
      },
      "message": "NFS: Introduce struct nfs_removeargs+nfs_removeres\n\nWe need a common structure for setting up an unlink() rpc call in order to\nfix the asynchronous unlink code.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "be879c4e249a8875d7129f3b0c1bb62584dafbd8",
      "tree": "6d6d774ac4dd24ff280e83e1d6a65be29a6dc6f8",
      "parents": [
        "e3a535e1739a9da3cc316ccdfe5cd4bf84d745ac"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jul 11 18:39:02 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jul 19 15:21:39 2007 -0400"
      },
      "message": "SUNRPC: move bkl locking and xdr proc invocation into a common helper\n\nSince every invocation of xdr encode or decode functions takes the BKL now,\nthere\u0027s a lot of redundant lock_kernel/unlock_kernel pairs that we can pull\nout into a common function.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e24b8cb4fa2bb779bdf48656152366b6f52f748f",
      "tree": "13cb838a2dd364b0453061f038cf62b118585d03",
      "parents": [
        "c182f5bbfb399b1fa2ad65107b3caf9c1c69435e"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sun Jul 08 14:26:37 2007 +0200"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Jul 19 14:25:20 2007 -0400"
      },
      "message": "i2c: Delete the i2c-isa pseudo bus driver\n\nThere are no users of i2c-isa left, so we can finally get rid of it.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "ce8c2293be47999584908069e78bf6d94beadc53",
      "tree": "dfd6909e6866998d2103341b1e1af8c129d0cea8",
      "parents": [
        "41e9d344bf52c57ec16648d08618b61d3f1d4bdc",
        "ee6a99b539a50b4e9398938a0a6d37f8bf911550"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:23:21 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:23:21 2007 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\n* \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (25 commits)\n  [TG3]: Fix msi issue with kexec/kdump.\n  [NET] XFRM: Fix whitespace errors.\n  [NET] TIPC: Fix whitespace errors.\n  [NET] SUNRPC: Fix whitespace errors.\n  [NET] SCTP: Fix whitespace errors.\n  [NET] RXRPC: Fix whitespace errors.\n  [NET] ROSE: Fix whitespace errors.\n  [NET] RFKILL: Fix whitespace errors.\n  [NET] PACKET: Fix whitespace errors.\n  [NET] NETROM: Fix whitespace errors.\n  [NET] NETFILTER: Fix whitespace errors.\n  [NET] IPV4: Fix whitespace errors.\n  [NET] DCCP: Fix whitespace errors.\n  [NET] CORE: Fix whitespace errors.\n  [NET] BLUETOOTH: Fix whitespace errors.\n  [NET] AX25: Fix whitespace errors.\n  [PATCH] mac80211: remove rtnl locking in ieee80211_sta.c\n  [PATCH] mac80211: fix GCC warning on 64bit platforms\n  [GENETLINK]: Dynamic multicast groups.\n  [NETLIKN]: Allow removing multicast groups.\n  ...\n"
    },
    {
      "commit": "53078ca84b1c01f36c306d1f52e2f88c7bb2f9e4",
      "tree": "667449ab1b21a36f7123df55d40b17d72e2b8543",
      "parents": [
        "1c52152b3008b7bdcc3b94d0be4d0b814dce1530"
      ],
      "author": {
        "name": "Douglas Thompson",
        "email": "dougthompson@xmission.com",
        "time": "Thu Jul 19 01:50:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:55 2007 -0700"
      },
      "message": "include/linux/pci_id.h: add amd northbridge defines\n\npci_ids.h needs two of the AMD NB device-ids namely, Addressmap and the Memory\nController devices\n\nThis patch adds those to the pci_id.h include file\n\nSigned-off-by:\tDouglas Thompson \u003cdougthompson@xmission.com\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": "66ee2f940ac8ab25f0c43a1e717d25dc46bfe74d",
      "tree": "929e24aefc27c95e13641a8f4052d9093a1ef34a",
      "parents": [
        "91b99041c1d577ded1da599ddc28cec2e07253cf"
      ],
      "author": {
        "name": "Dave Jiang",
        "email": "djiang@mvista.com",
        "time": "Thu Jul 19 01:49:54 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:54 2007 -0700"
      },
      "message": "drivers/edac: mod assert_error check\n\nChange error check and clear variable from an atomic to an int\n\nSigned-off-by: Dave Jiang \u003cdjiang@mvista.com\u003e\nSigned-off-by: Douglas Thompson \u003cdougthompson@xmission.com\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "535c6a53035d8911f6b90455550c5fde0da7b866",
      "tree": "adea5611dd32f312438b2447f70a7cf2e98b508c",
      "parents": [
        "c4192705fec85219086231a1c0fa61e8776e2c3b"
      ],
      "author": {
        "name": "Jason Uhlenkott",
        "email": "juhlenko@akamai.com",
        "time": "Thu Jul 19 01:49:48 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:54 2007 -0700"
      },
      "message": "drivers/edac: new inte 30x0 MC driver\n\nHere\u0027s a driver for the Intel 3000 and 3010 memory controllers,\nrelative to today\u0027s Sourceforge code drop.  This has only had light\ntesting (I\u0027ve yet to actually see it handle a memory error) but it\ndetects my hardware correctly.\n\nSigned-off-by: Jason Uhlenkott \u003cjuhlenko@akamai.com\u003e\nSigned-off-by: Douglas Thompson \u003cdougthompson@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": "c0d121720220584bba2876b032e58a076b843fa1",
      "tree": "13ba24c6d875ded1494e1560f336b8551c663ef1",
      "parents": [
        "28f96eeafc89643d411d54c258788a8573576127"
      ],
      "author": {
        "name": "Dave Jiang",
        "email": "djiang@mvista.com",
        "time": "Thu Jul 19 01:49:46 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:53 2007 -0700"
      },
      "message": "drivers/edac: add new nmi rescan\n\nProvides a way for NMI reported errors on x86 to notify the EDAC\nsubsystem pending ECC errors by writing to a software state variable.\n\nHere\u0027s the reworked patch. I added an EDAC stub to the kernel so we can\nhave variables that are in the kernel even if EDAC is a module. I also\nimplemented the idea of using the chip driver to select error detection\nmode via module parameter and eliminate the kernel compile option.\nPlease review/test. Thx!\n\nAlso, I only made changes to some of the chipset drivers since I am\nunfamiliar with the other ones. We can add similar changes as we go.\n\nSigned-off-by: Dave Jiang \u003cdjiang@mvista.com\u003e\nSigned-off-by: Douglas Thompson \u003cdougthompson@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": "d7e28ffe6c74416b54345d6004fd0964c115b12c",
      "tree": "844beb4f400d5400098538e0c1e5f12d20a9504a",
      "parents": [
        "07ad157f6e5d228be78acd5cea0291e5d0360398"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jul 19 01:49:23 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:52 2007 -0700"
      },
      "message": "lguest: the host code\n\nThis is the code for the \"lg.ko\" module, which allows lguest guests to\nbe launched.\n\n[akpm@linux-foundation.org: update for futex-new-private-futexes]\n[akpm@linux-foundation.org: build fix]\n[jmorris@namei.org: lguest: use hrtimers]\n[akpm@linux-foundation.org: x86_64 build fix]\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "07ad157f6e5d228be78acd5cea0291e5d0360398",
      "tree": "87180c2d1aa53857f46d1dc293e08c0fbea0608a",
      "parents": [
        "5992b6dac0d23a2b51a1ccbaf8f1a2e62097b12b"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jul 19 01:49:22 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:52 2007 -0700"
      },
      "message": "lguest: the guest code\n\nlguest is a simple hypervisor for Linux on Linux.  Unlike kvm it doesn\u0027t need\nVT/SVM hardware.  Unlike Xen it\u0027s simply \"modprobe and go\".  Unlike both, it\u0027s\n5000 lines and self-contained.\n\nPerformance is ok, but not great (-30% on kernel compile).  But given its\nhackability, I expect this to improve, along with the paravirt_ops code which\nit supplies a complete example for.  There\u0027s also a 64-bit version being\nworked on and other craziness.\n\nBut most of all, lguest is awesome fun!  Too much of the kernel is a big ball\nof hair.  lguest is simple enough to dive into and hack, plus has some warts\nwhich scream \"fork me!\".\n\nThis patch:\n\nThis is the code and headers required to make an i386 kernel an lguest guest.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c7d51402d2a64c5b96531f9900bb368020ebbbbb",
      "tree": "b870f7352ceb21799df933a31662b748edcad1e6",
      "parents": [
        "e22841c637dc8b308b40f59d64a5b6683d458ab7"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Jul 19 01:49:20 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:52 2007 -0700"
      },
      "message": "knfsd: clean up EX_RDONLY\n\nShare a little common code, reverse the arguments for consistency, drop the\nunnecessary \"inline\", and lowercase the name.\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nAcked-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": "e22841c637dc8b308b40f59d64a5b6683d458ab7",
      "tree": "4a5d32f430c8123a71a1731eb6b94f807bb435f4",
      "parents": [
        "5d3dbbeaf56d0365ac6b5c0a0da0bd31cc4781e1"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Jul 19 01:49:20 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:52 2007 -0700"
      },
      "message": "knfsd: move EX_RDONLY out of header\n\nEX_RDONLY is only called in one place; just put it there.\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nAcked-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": "d688abf50bd5a30d2c44dea2a72dd59052cd3cce",
      "tree": "2f572d18af05969b2c882970cda4860be345bdfc",
      "parents": [
        "6819457d2cb7fe4fdb0fc3655b6b6dc71a86bee9"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Thu Jul 19 01:49:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:52 2007 -0700"
      },
      "message": "move page writeback acounting out of macros\n\npage-writeback accounting is presently performed in the page-flags macros.\nThis is inconsistent and a bit ugly and makes it awkward to implement\nper-backing_dev under-writeback page accounting.\n\nSo move this accounting down to the callsite(s).\n\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3b5ad0797c0e4049001f961a8b58f1d0ce532072",
      "tree": "9e56f01f6bd108bcf0631c254d5deb4eb60b322b",
      "parents": [
        "c71063c9c9dc232d0d51f936f237f7dc5681e8e3"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Jul 19 01:49:02 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:49 2007 -0700"
      },
      "message": "stacktrace: fix header file for !CONFIG_STACKTRACE\n\nThe print_stack_trace macro in stacktrace.h has a wrong number of\narguments, fix it.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "96645678cd726e87ce42a0664de71e047e32bca4",
      "tree": "116f568a090414777b481e8e5d9db55f420e4335",
      "parents": [
        "443aef0eddfa44c158d1b94ebb431a70638fcab4"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jul 19 01:49:00 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:49 2007 -0700"
      },
      "message": "lockstat: measure lock bouncing\n\n    __acquire\n        |\n       lock _____\n        |        \\\n        |    __contended\n        |         |\n        |        wait\n        | _______/\n        |/\n        |\n   __acquired\n        |\n   __release\n        |\n     unlock\n\nWe measure acquisition and contention bouncing.\n\nThis is done by recording a cpu stamp in each lock instance.\n\nContention bouncing requires the cpu stamp to be set on acquisition. Hence we\nmove __acquired into the generic path.\n\n__acquired is then used to measure acquisition bouncing by comparing the\ncurrent cpu with the old stamp before replacing it.\n\n__contended is used to measure contention bouncing (only useful for preemptable\nlocks)\n\n[akpm@linux-foundation.org: cleanups]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: 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": "4b32d0a4e9ec07808a5c406a416c6576c986b047",
      "tree": "9157e27e485723b6806fbab8926e9e5fcd5397e6",
      "parents": [
        "4fe87745a6722d42ff27a60768c77958fa1fc498"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jul 19 01:48:59 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:49 2007 -0700"
      },
      "message": "lockdep: various fixes\n\n - update the copyright notices\n - use the default hash function\n - fix a thinko in a BUILD_BUG_ON\n - add a WARN_ON to spot inconsitent naming\n - fix a termination issue in /proc/lock_stat\n\n[akpm@linux-foundation.org: cleanups]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: 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": "f20786ff4da51e56b1956acf30be2552be266746",
      "tree": "f6d0a9ed84ca476ca19fe7131d842699881756c4",
      "parents": [
        "8e18257d29238311e82085152741f0c3aa18b74d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jul 19 01:48:56 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:49 2007 -0700"
      },
      "message": "lockstat: core infrastructure\n\nIntroduce the core lock statistics code.\n\nLock statistics provides lock wait-time and hold-time (as well as the count\nof corresponding contention and acquisitions events). Also, the first few\ncall-sites that encounter contention are tracked.\n\nLock wait-time is the time spent waiting on the lock. This provides insight\ninto the locking scheme, that is, a heavily contended lock is indicative of\na too coarse locking scheme.\n\nLock hold-time is the duration the lock was held, this provides a reference for\nthe wait-time numbers, so they can be put into perspective.\n\n  1)\n    lock\n  2)\n    ... do stuff ..\n    unlock\n  3)\n\nThe time between 1 and 2 is the wait-time. The time between 2 and 3 is the\nhold-time.\n\nThe lockdep held-lock tracking code is reused, because it already collects locks\ninto meaningful groups (classes), and because it is an existing infrastructure\nfor lock instrumentation.\n\nCurrently lockdep tracks lock acquisition with two hooks:\n\n  lock()\n    lock_acquire()\n    _lock()\n\n ... code protected by lock ...\n\n  unlock()\n    lock_release()\n    _unlock()\n\nWe need to extend this with two more hooks, in order to measure contention.\n\n  lock_contended() - used to measure contention events\n  lock_acquired()  - completion of the contention\n\nThese are then placed the following way:\n\n  lock()\n    lock_acquire()\n    if (!_try_lock())\n      lock_contended()\n      _lock()\n      lock_acquired()\n\n ... do locked stuff ...\n\n  unlock()\n    lock_release()\n    _unlock()\n\n(Note: the try_lock() \u0027trick\u0027 is used to avoid instrumenting all platform\n       dependent lock primitive implementations.)\n\nIt is also possible to toggle the two lockdep features at runtime using:\n\n  /proc/sys/kernel/prove_locking\n  /proc/sys/kernel/lock_stat\n\n(esp. turning off the O(n^2) prove_locking functionaliy can help)\n\n[akpm@linux-foundation.org: build fixes]\n[akpm@linux-foundation.org: nuke unneeded ifdefs]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Jason Baron \u003cjbaron@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": "21f8ca3bf6198bd21e3c4cc820af2ccf753a6ec8",
      "tree": "858f5cf78cb849ad135a6867428c2088e41d10e5",
      "parents": [
        "5b7f13bd26a0c1d394a1a1f2bb6de5130c3a3843"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jul 19 01:48:53 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:49 2007 -0700"
      },
      "message": "fix raw_spinlock_t vs lockdep\n\nUse the lockdep infrastructure to track lock contention and other lock\nstatistics.\n\nIt tracks lock contention events, and the first four unique call-sites that\nencountered contention.\n\nIt also measures lock wait-time and hold-time in nanoseconds. The minimum and\nmaximum times are tracked, as well as a total (which together with the number\nof event can give the avg).\n\nAll statistics are done per lock class, per write (exclusive state) and per read\n(shared state).\n\nThe statistics are collected per-cpu, so that the collection overhead is\nminimized via having no global cachemisses.\n\nThis new lock statistics feature is independent of the lock dependency checking\ntraditionally done by lockdep; it just shares the lock tracking code. It is\nalso possible to enable both and runtime disabled either component - thereby\navoiding the O(n^2) lock chain walks for instance.\n\nThis patch:\n\nraw_spinlock_t should not use lockdep (and doesn\u0027t) since lockdep itself\nrelies on it.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: 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": "3cf01f28c303be34f18cb4f6204cf1bdfe12ba7c",
      "tree": "140dae900c998f568ddac7bf74e390fda4d5e8ce",
      "parents": [
        "a1b0aa87647493c0201821ab884e86298d5da7d6"
      ],
      "author": {
        "name": "Jan Harkes",
        "email": "jaharkes@cs.cmu.edu",
        "time": "Thu Jul 19 01:48:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:48 2007 -0700"
      },
      "message": "coda: remove statistics counters from /proc/fs/coda\n\nSimilar information can easily be obtained with strace -c.\n\nSigned-off-by: Jan Harkes \u003cjaharkes@cs.cmu.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a1b0aa87647493c0201821ab884e86298d5da7d6",
      "tree": "df7c97e4ae6469b238f0f507eed86d906a5539b3",
      "parents": [
        "5fd31e9a67dd6c80e49240514cf854c1f054aca2"
      ],
      "author": {
        "name": "Jan Harkes",
        "email": "jaharkes@cs.cmu.edu",
        "time": "Thu Jul 19 01:48:50 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:48 2007 -0700"
      },
      "message": "coda: remove struct coda_sb_info\n\nThe sb_info structure only contains a single pointer to the character device,\nthere is no need for the added indirection.\n\nSigned-off-by: Jan Harkes \u003cjaharkes@cs.cmu.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d9664c95afe5baa92ea56eff6a1c18e7b7a2cbe7",
      "tree": "642019723c5ec027aabca8ce872468babc9cfacd",
      "parents": [
        "fe71b5f3871af2c281a08acd4bedd2da25e46bc3"
      ],
      "author": {
        "name": "Jan Harkes",
        "email": "jaharkes@cs.cmu.edu",
        "time": "Thu Jul 19 01:48:46 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:48 2007 -0700"
      },
      "message": "coda: block signals during upcall processing\n\nWe ignore signals for about 30 seconds to give userspace a chance to see the\nupcall.  As we did not block signals we ended up in a busy loop for the\nremainder of the period when a signal is received.\n\nSigned-off-by: Jan Harkes \u003cjaharkes@cs.cmu.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3cb4a0bb1e773e3c41800b33a3f7dab32bd06c64",
      "tree": "d363522865706f0674b7b104a8fc7b151f336764",
      "parents": [
        "6c5d523826dc639df709ed0f88c5d2ce25379652"
      ],
      "author": {
        "name": "Kawai, Hidehiro",
        "email": "hidehiro.kawai.ez@hitachi.com",
        "time": "Thu Jul 19 01:48:28 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:47 2007 -0700"
      },
      "message": "coredump masking: add an interface for core dump filter\n\nThis patch adds an interface to set/reset flags which determines each memory\nsegment should be dumped or not when a core file is generated.\n\n/proc/\u003cpid\u003e/coredump_filter file is provided to access the flags.  You can\nchange the flag status for a particular process by writing to or reading from\nthe file.\n\nThe flag status is inherited to the child process when it is created.\n\nSigned-off-by: Hidehiro Kawai \u003chidehiro.kawai.ez@hitachi.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.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": "6c5d523826dc639df709ed0f88c5d2ce25379652",
      "tree": "ef2fa8cb30266b3a9b047902794e78c583b099da",
      "parents": [
        "76fdbb25f963de5dc1e308325f0578a2f92b1c2d"
      ],
      "author": {
        "name": "Kawai, Hidehiro",
        "email": "hidehiro.kawai.ez@hitachi.com",
        "time": "Thu Jul 19 01:48:27 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:46 2007 -0700"
      },
      "message": "coredump masking: reimplementation of dumpable using two flags\n\nThis patch changes mm_struct.dumpable to a pair of bit flags.\n\nset_dumpable() converts three-value dumpable to two flags and stores it into\nlower two bits of mm_struct.flags instead of mm_struct.dumpable.\nget_dumpable() behaves in the opposite way.\n\n[akpm@linux-foundation.org: export set_dumpable]\nSigned-off-by: Hidehiro Kawai \u003chidehiro.kawai.ez@hitachi.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.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": "f79c20f52532d38fd0aee7ef64e138cc1613c484",
      "tree": "889b946d5eff0c66293d3b5d56062bf0d85f73bf",
      "parents": [
        "c4a7808fc3d7a346d5d12e0d69d76d66d821488b"
      ],
      "author": {
        "name": "Josef \u0027Jeff\u0027 Sipek",
        "email": "jsipek@cs.sunysb.edu",
        "time": "Thu Jul 19 01:48:22 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:45 2007 -0700"
      },
      "message": "fs: remove path_walk export\n\nSigned-off-by: Josef \u0027Jeff\u0027 Sipek \u003cjsipek@cs.sunysb.edu\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Michael Halcrow \u003cmhalcrow@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": "c4a7808fc3d7a346d5d12e0d69d76d66d821488b",
      "tree": "e301f6e97ebc3800baafc53161631ec3e01d83c2",
      "parents": [
        "16b6287a5286e872abece4f42a6eb5899157a836"
      ],
      "author": {
        "name": "Josef \u0027Jeff\u0027 Sipek",
        "email": "jsipek@cs.sunysb.edu",
        "time": "Thu Jul 19 01:48:22 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:45 2007 -0700"
      },
      "message": "fs: mark link_path_walk static\n\nSigned-off-by: Josef \u0027Jeff\u0027 Sipek \u003cjsipek@cs.sunysb.edu\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Michael Halcrow \u003cmhalcrow@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": "16f1820028d660d9da9c03b2ae7e98253c11795b",
      "tree": "08939a5d7fcc02c76739a9dce38052da598d74d5",
      "parents": [
        "b6a2fea39318e43fee84fa7b0b90d68bed92d2ba"
      ],
      "author": {
        "name": "Josef \u0027Jeff\u0027 Sipek",
        "email": "jsipek@cs.sunysb.edu",
        "time": "Thu Jul 19 01:48:18 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:45 2007 -0700"
      },
      "message": "fs: introduce vfs_path_lookup\n\nStackable file systems, among others, frequently need to lookup paths or\npath components starting from an arbitrary point in the namespace\n(identified by a dentry and a vfsmount).  Currently, such file systems use\nlookup_one_len, which is frowned upon [1] as it does not pass the lookup\nintent along; not passing a lookup intent, for example, can trigger BUG_ON\u0027s\nwhen stacking on top of NFSv4.\n\nThe first patch introduces a new lookup function to allow lookup starting\nfrom an arbitrary point in the namespace.  This approach has been suggested\nby Christoph Hellwig [2].\n\nThe second patch changes sunrpc to use vfs_path_lookup.\n\nThe third patch changes nfsctl.c to use vfs_path_lookup.\n\nThe fourth patch marks link_path_walk static.\n\nThe fifth, and last patch, unexports path_walk because it is no longer\nunnecessary to call it directly, and using the new vfs_path_lookup is\ncleaner.\n\nFor example, the following snippet of code, looks up \"some/path/component\"\nin a directory pointed to by parent_{dentry,vfsmnt}:\n\nerr \u003d vfs_path_lookup(parent_dentry, parent_vfsmnt,\n\t\t      \"some/path/component\", 0, \u0026nd);\nif (!err) {\n\t/* exits */\n\n\t...\n\n\t/* once done, release the references */\n\tpath_release(\u0026nd);\n} else if (err \u003d\u003d -ENOENT) {\n\t/* doesn\u0027t exist */\n} else {\n\t/* other error */\n}\n\nVFS functions such as lookup_create can be used on the nameidata structure\nto pass the create intent to the file system.\n\nSigned-off-by: Josef \u0027Jeff\u0027 Sipek \u003cjsipek@cs.sunysb.edu\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Michael Halcrow \u003cmhalcrow@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": "b6a2fea39318e43fee84fa7b0b90d68bed92d2ba",
      "tree": "c9c3619cb2730b5c10c7427b837146bce3d69156",
      "parents": [
        "bdf4c48af20a3b0f01671799ace345e3d49576da"
      ],
      "author": {
        "name": "Ollie Wild",
        "email": "aaw@google.com",
        "time": "Thu Jul 19 01:48:16 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:45 2007 -0700"
      },
      "message": "mm: variable length argument support\n\nRemove the arg+env limit of MAX_ARG_PAGES by copying the strings directly from\nthe old mm into the new mm.\n\nWe create the new mm before the binfmt code runs, and place the new stack at\nthe very top of the address space.  Once the binfmt code runs and figures out\nwhere the stack should be, we move it downwards.\n\nIt is a bit peculiar in that we have one task with two mm\u0027s, one of which is\ninactive.\n\n[a.p.zijlstra@chello.nl: limit stack size]\nSigned-off-by: Ollie Wild \u003caaw@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\n[bunk@stusta.de: unexport bprm_mm_init]\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bdf4c48af20a3b0f01671799ace345e3d49576da",
      "tree": "7c3b903d2de1cba6e212ad6f347bc8742b08035a",
      "parents": [
        "b111757c50ee30dad162192df6168e270a90c252"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jul 19 01:48:15 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:45 2007 -0700"
      },
      "message": "audit: rework execve audit\n\nThe purpose of audit_bprm() is to log the argv array to a userspace daemon at\nthe end of the execve system call.  Since user-space hasn\u0027t had time to run,\nthis array is still in pristine state on the process\u0027 stack; so no need to\ncopy it, we can just grab it from there.\n\nIn order to minimize the damage to audit_log_*() copy each string into a\ntemporary kernel buffer first.\n\nCurrently the audit code requires that the full argument vector fits in a\nsingle packet.  So currently it does clip the argv size to a (sysctl) limit,\nbut only when execve auditing is enabled.\n\nIf the audit protocol gets extended to allow for multiple packets this check\ncan be removed.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ollie Wild \u003caaw@google.com\u003e\nCc: \u003clinux-audit@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": "3d7e33825d8799115dd2495c9944badd3272a623",
      "tree": "869eeefa9dd88c622db199f636cd1785c6099947",
      "parents": [
        "9e367d859297b9377d65574f538cf52730e9eda8"
      ],
      "author": {
        "name": "Michael Ellerman",
        "email": "michael@ellerman.id.au",
        "time": "Thu Jul 19 01:48:11 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:44 2007 -0700"
      },
      "message": "jprobes: make jprobes a little safer for users\n\nI realise jprobes are a razor-blades-included type of interface, but that\ndoesn\u0027t mean we can\u0027t try and make them safer to use.  This guy I know once\nwrote code like this:\n\nstruct jprobe jp \u003d { .kp.symbol_name \u003d \"foo\", .entry \u003d \"jprobe_foo\" };\n\nAnd then his kernel exploded. Oops.\n\nThis patch adds an arch hook, arch_deref_entry_point() (I don\u0027t like it\neither) which takes the void * in a struct jprobe, and gives back the text\naddress that it represents.\n\nWe can then use that in register_jprobe() to check that the entry point we\u0027re\npassed is actually in the kernel text, rather than just some random value.\n\nSigned-off-by: Michael Ellerman \u003cmichael@ellerman.id.au\u003e\nCc: Prasanna S Panchamukhi \u003cprasanna@in.ibm.com\u003e\nAcked-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9e367d859297b9377d65574f538cf52730e9eda8",
      "tree": "c7d4e7c3d1521810981d1623c5100a44600c603f",
      "parents": [
        "81eae375eceba481ca4c605d42913871f093f6d5"
      ],
      "author": {
        "name": "Michael Ellerman",
        "email": "michael@ellerman.id.au",
        "time": "Thu Jul 19 01:48:10 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:44 2007 -0700"
      },
      "message": "jprobes: remove JPROBE_ENTRY()\n\nAFAICT now that jprobe.entry is a void *, JPROBE_ENTRY doesn\u0027t do anything\nuseful - so remove it ..\n\nI\u0027ve left a do-nothing version so that out-of-tree jprobes code will still\ncompile without modifications.\n\nSigned-off-by: Michael Ellerman \u003cmichael@ellerman.id.au\u003e\nCc: Prasanna S Panchamukhi \u003cprasanna@in.ibm.com\u003e\nAcked-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "81eae375eceba481ca4c605d42913871f093f6d5",
      "tree": "c3f1b345b4a42674ea4087aef336f0bf5be1df5e",
      "parents": [
        "f9acc8c7b35a100f3a9e0e6977f7807b0169f9a5"
      ],
      "author": {
        "name": "Michael Ellerman",
        "email": "michael@ellerman.id.au",
        "time": "Thu Jul 19 01:48:09 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:44 2007 -0700"
      },
      "message": "jprobes: make struct jprobe.entry a void *\n\nCurrently jprobe.entry is a kprobe_opcode_t *, but that\u0027s a lie.  On some\nplatforms it doesn\u0027t point to an opcode at all, it points to a function\ndescriptor.\n\nIt\u0027s really a pointer to something that the arch code can turn into a function\nentry point.  And that\u0027s what actually happens, none of the generic code ever\nlooks at jprobe.entry, it\u0027s only ever dereferenced by arch code.\n\nSo just make it a void *.\n\nSigned-off-by: Michael Ellerman \u003cmichael@ellerman.id.au\u003e\nCc: Prasanna S Panchamukhi \u003cprasanna@in.ibm.com\u003e\nAcked-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f9acc8c7b35a100f3a9e0e6977f7807b0169f9a5",
      "tree": "6a4dcd227bb698a217a1d42d37e3f0135a444ea4",
      "parents": [
        "cf914a7d656e62b9dd3e0dffe4f62b953ae6048d"
      ],
      "author": {
        "name": "Fengguang Wu",
        "email": "wfg@mail.ustc.edu.cn",
        "time": "Thu Jul 19 01:48:08 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:44 2007 -0700"
      },
      "message": "readahead: sanify file_ra_state names\n\nRename some file_ra_state variables and remove some accessors.\n\nIt results in much simpler code.\nKudos to Rusty!\n\nSigned-off-by: Fengguang Wu \u003cwfg@mail.ustc.edu.cn\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": "cf914a7d656e62b9dd3e0dffe4f62b953ae6048d",
      "tree": "baf7e79de006ca80eac426d2d1be4c52f5f19624",
      "parents": [
        "fe3cba17c49471e99d3421e675fc8b3deaaf0b70"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jul 19 01:48:08 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:44 2007 -0700"
      },
      "message": "readahead: split ondemand readahead interface into two functions\n\nSplit ondemand readahead interface into two functions.  I think this makes it\na little clearer for non-readahead experts (like Rusty).\n\nInternally they both call ondemand_readahead(), but the page argument is\nchanged to an obvious boolean flag.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Fengguang Wu \u003cwfg@mail.ustc.edu.cn\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fe3cba17c49471e99d3421e675fc8b3deaaf0b70",
      "tree": "df696c4584c6db2e439f068d2474fcb946ca587d",
      "parents": [
        "d8983910a4045fa21022cfccf76ed13eb40fd7f5"
      ],
      "author": {
        "name": "Fengguang Wu",
        "email": "wfg@mail.ustc.edu.cn",
        "time": "Thu Jul 19 01:48:07 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:44 2007 -0700"
      },
      "message": "mm: share PG_readahead and PG_reclaim\n\nShare the same page flag bit for PG_readahead and PG_reclaim.\n\nOne is used only on file reads, another is only for emergency writes.  One\nis used mostly for fresh/young pages, another is for old pages.\n\nCombinations of possible interactions are:\n\na) clear PG_reclaim \u003d\u003e implicit clear of PG_readahead\n\tit will delay an asynchronous readahead into a synchronous one\n\tit actually does _good_ for readahead:\n\t\tthe pages will be reclaimed soon, it\u0027s readahead thrashing!\n\t\tin this case, synchronous readahead makes more sense.\n\nb) clear PG_readahead \u003d\u003e implicit clear of PG_reclaim\n\tone(and only one) page will not be reclaimed in time\n\tit can be avoided by checking PageWriteback(page) in readahead first\n\nc) set PG_reclaim \u003d\u003e implicit set of PG_readahead\n\twill confuse readahead and make it restart the size rampup process\n\tit\u0027s a trivial problem, and can mostly be avoided by checking\n\tPageWriteback(page) first in readahead\n\nd) set PG_readahead \u003d\u003e implicit set of PG_reclaim\n\tPG_readahead will never be set on already cached pages.\n\tPG_reclaim will always be cleared on dirtying a page.\n\tso not a problem.\n\nIn summary,\n\ta)   we get better behavior\n\tb,d) possible interactions can be avoided\n\tc)   racy condition exists that might affect readahead, but the chance\n\t     is _really_ low, and the hurt on readahead is trivial.\n\nCompound pages also use PG_reclaim, but for now they do not interact with\nreclaim/readahead code.\n\nSigned-off-by: Fengguang Wu \u003cwfg@mail.ustc.edu.cn\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": "c743d96b6d2ff55a94df7b5ac7c74987bb9c343b",
      "tree": "391e5dad21e62590e343c63e5ba05322d0fc76ad",
      "parents": [
        "dc7868fcb9a73990e6f30371c1be465c436a7a7f"
      ],
      "author": {
        "name": "Fengguang Wu",
        "email": "wfg@mail.ustc.edu.cn",
        "time": "Thu Jul 19 01:48:04 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:44 2007 -0700"
      },
      "message": "readahead: remove the old algorithm\n\nRemove the old readahead algorithm.\n\nSigned-off-by: Fengguang Wu \u003cwfg@mail.ustc.edu.cn\u003e\nCc: Steven Pratt \u003cslpratt@austin.ibm.com\u003e\nCc: Ram Pai \u003clinuxram@us.ibm.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "122a21d11cbfda6d1e33cbc8ae9e4c4ee2f1886e",
      "tree": "e13f4e2dd0f838f5f922ed047e5ee56bf3546f21",
      "parents": [
        "5ce1110b92b31d079aa443e967f43a2294e01194"
      ],
      "author": {
        "name": "Fengguang Wu",
        "email": "wfg@mail.ustc.edu.cn",
        "time": "Thu Jul 19 01:48:01 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:44 2007 -0700"
      },
      "message": "readahead: on-demand readahead logic\n\nThis is a minimal readahead algorithm that aims to replace the current one.\nIt is more flexible and reliable, while maintaining almost the same behavior\nand performance.  Also it is full integrated with adaptive readahead.\n\nIt is designed to be called on demand:\n\t- on a missing page, to do synchronous readahead\n\t- on a lookahead page, to do asynchronous readahead\n\nIn this way it eliminated the awkward workarounds for cache hit/miss,\nreadahead thrashing, retried read, and unaligned read.  It also adopts the\ndata structure introduced by adaptive readahead, parameterizes readahead\npipelining with `lookahead_index\u0027, and reduces the current/ahead windows to\none single window.\n\nHEURISTICS\n\nThe logic deals with four cases:\n\n\t- sequential-next\n\t\tfound a consistent readahead window, so push it forward\n\n\t- random\n\t\tstandalone small read, so read as is\n\n\t- sequential-first\n\t\tcreate a new readahead window for a sequential/oversize request\n\n\t- lookahead-clueless\n\t\thit a lookahead page not associated with the readahead window,\n\t\tso create a new readahead window and ramp it up\n\nIn each case, three parameters are determined:\n\n\t- readahead index: where the next readahead begins\n\t- readahead size:  how much to readahead\n\t- lookahead size:  when to do the next readahead (for pipelining)\n\nBEHAVIORS\n\nThe old behaviors are maximally preserved for trivial sequential/random reads.\nNotable changes are:\n\n\t- It no longer imposes strict sequential checks.\n\t  It might help some interleaved cases, and clustered random reads.\n\t  It does introduce risks of a random lookahead hit triggering an\n\t  unexpected readahead. But in general it is more likely to do good\n\t  than to do evil.\n\n\t- Interleaved reads are supported in a minimal way.\n\t  Their chances of being detected and proper handled are still low.\n\n\t- Readahead thrashings are better handled.\n\t  The current readahead leads to tiny average I/O sizes, because it\n\t  never turn back for the thrashed pages.  They have to be fault in\n\t  by do_generic_mapping_read() one by one.  Whereas the on-demand\n\t  readahead will redo readahead for them.\n\nOVERHEADS\n\nThe new code reduced the overheads of\n\n\t- excessively calling the readahead routine on small sized reads\n\t  (the current readahead code insists on seeing all requests)\n\n\t- doing a lot of pointless page-cache lookups for small cached files\n\t  (the current readahead only turns itself off after 256 cache hits,\n\t  unfortunately most files are \u003c 1MB, so never see that chance)\n\nThat accounts for speedup of\n\t- 0.3% on 1-page sequential reads on sparse file\n\t- 1.2% on 1-page cache hot sequential reads\n\t- 3.2% on 256-page cache hot sequential reads\n\t- 1.3% on cache hot `tar /lib`\n\nHowever, it does introduce one extra page-cache lookup per cache miss, which\nimpacts random reads slightly. That\u0027s 1% overheads for 1-page random reads on\nsparse file.\n\nPERFORMANCE\n\nThe basic benchmark setup is\n\t- 2.6.20 kernel with on-demand readahead\n\t- 1MB max readahead size\n\t- 2.9GHz Intel Core 2 CPU\n\t- 2GB memory\n\t- 160G/8M Hitachi SATA II 7200 RPM disk\n\nThe benchmarks show that\n\t- it maintains the same performance for trivial sequential/random reads\n\t- sysbench/OLTP performance on MySQL gains up to 8%\n\t- performance on readahead thrashing gains up to 3 times\n\niozone throughput (KB/s): roughly the same\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\niozone -c -t1 -s 4096m -r 64k\n\n\t\t\t       2.6.20          on-demand      gain\nfirst run\n\t  \"  Initial write \"   61437.27        64521.53      +5.0%\n\t  \"        Rewrite \"   47893.02        48335.20      +0.9%\n\t  \"           Read \"   62111.84        62141.49      +0.0%\n\t  \"        Re-read \"   62242.66        62193.17      -0.1%\n\t  \"   Reverse Read \"   50031.46        49989.79      -0.1%\n\t  \"    Stride read \"    8657.61         8652.81      -0.1%\n\t  \"    Random read \"   13914.28        13898.23      -0.1%\n\t  \" Mixed workload \"   19069.27        19033.32      -0.2%\n\t  \"   Random write \"   14849.80        14104.38      -5.0%\n\t  \"         Pwrite \"   62955.30        65701.57      +4.4%\n\t  \"          Pread \"   62209.99        62256.26      +0.1%\n\nsecond run\n\t  \"  Initial write \"   60810.31        66258.69      +9.0%\n\t  \"        Rewrite \"   49373.89        57833.66     +17.1%\n\t  \"           Read \"   62059.39        62251.28      +0.3%\n\t  \"        Re-read \"   62264.32        62256.82      -0.0%\n\t  \"   Reverse Read \"   49970.96        50565.72      +1.2%\n\t  \"    Stride read \"    8654.81         8638.45      -0.2%\n\t  \"    Random read \"   13901.44        13949.91      +0.3%\n\t  \" Mixed workload \"   19041.32        19092.04      +0.3%\n\t  \"   Random write \"   14019.99        14161.72      +1.0%\n\t  \"         Pwrite \"   64121.67        68224.17      +6.4%\n\t  \"          Pread \"   62225.08        62274.28      +0.1%\n\nIn summary, writes are unstable, reads are pretty close on average:\n\n\t\t\t  access pattern  2.6.20  on-demand   gain\n\t\t\t\t   Read  62085.61  62196.38  +0.2%\n\t\t\t\tRe-read  62253.49  62224.99  -0.0%\n\t\t\t   Reverse Read  50001.21  50277.75  +0.6%\n\t\t\t    Stride read   8656.21   8645.63  -0.1%\n\t\t\t    Random read  13907.86  13924.07  +0.1%\n\t \t\t Mixed workload  19055.29  19062.68  +0.0%\n\t\t\t\t  Pread  62217.53  62265.27  +0.1%\n\naio-stress: roughly the same\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\naio-stress -l -s4096 -r128 -t1 -o1 knoppix511-dvd-cn.iso\naio-stress -l -s4096 -r128 -t1 -o3 knoppix511-dvd-cn.iso\n\n\t\t\t\t\t2.6.20      on-demand  delta\n\t\t\tsequential\t 92.57s      92.54s    -0.0%\n\t\t\trandom\t\t311.87s     312.15s    +0.1%\n\nsysbench fileio: roughly the same\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nsysbench --test\u003dfileio --file-io-mode\u003dasync --file-test-mode\u003drndrw \\\n\t --file-total-size\u003d4G --file-block-size\u003d64K \\\n\t --num-threads\u003d001 --max-requests\u003d10000 --max-time\u003d900 run\n\n\t\t\t\tthreads    2.6.20   on-demand    delta\n\t\tfirst run\n\t\t\t\t      1   59.1974s    59.2262s  +0.0%\n\t\t\t\t      2   58.0575s    58.2269s  +0.3%\n\t\t\t\t      4   48.0545s    47.1164s  -2.0%\n\t\t\t\t      8   41.0684s    41.2229s  +0.4%\n\t\t\t\t     16   35.8817s    36.4448s  +1.6%\n\t\t\t\t     32   32.6614s    32.8240s  +0.5%\n\t\t\t\t     64   23.7601s    24.1481s  +1.6%\n\t\t\t\t    128   24.3719s    23.8225s  -2.3%\n\t\t\t\t    256   23.2366s    22.0488s  -5.1%\n\n\t\tsecond run\n\t\t\t\t      1   59.6720s    59.5671s  -0.2%\n\t\t\t\t      8   41.5158s    41.9541s  +1.1%\n\t\t\t\t     64   25.0200s    23.9634s  -4.2%\n\t\t\t\t    256   22.5491s    20.9486s  -7.1%\n\nNote that the numbers are not very stable because of the writes.\nThe overall performance is close when we sum all seconds up:\n\n                sum all up               495.046s    491.514s   -0.7%\n\nsysbench oltp (trans/sec): up to 8% gain\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nsysbench --test\u003doltp --oltp-table-size\u003d10000000 --oltp-read-only \\\n\t --mysql-socket\u003d/var/run/mysqld/mysqld.sock \\\n\t --mysql-user\u003droot --mysql-password\u003dreadahead \\\n\t --num-threads\u003d064 --max-requests\u003d10000 --max-time\u003d900 run\n\n\t10000-transactions run\n\t\t\t\tthreads    2.6.20   on-demand    gain\n\t\t\t\t      1     62.81       64.56   +2.8%\n\t\t\t\t      2     67.97       70.93   +4.4%\n\t\t\t\t      4     81.81       85.87   +5.0%\n\t\t\t\t      8     94.60       97.89   +3.5%\n\t\t\t\t     16     99.07      104.68   +5.7%\n\t\t\t\t     32     95.93      104.28   +8.7%\n\t\t\t\t     64     96.48      103.68   +7.5%\n\t5000-transactions run\n\t\t\t\t      1     48.21       48.65   +0.9%\n\t\t\t\t      8     68.60       70.19   +2.3%\n\t\t\t\t     64     70.57       74.72   +5.9%\n\t2000-transactions run\n\t\t\t\t      1     37.57       38.04   +1.3%\n\t\t\t\t      2     38.43       38.99   +1.5%\n\t\t\t\t      4     45.39       46.45   +2.3%\n\t\t\t\t      8     51.64       52.36   +1.4%\n\t\t\t\t     16     54.39       55.18   +1.5%\n\t\t\t\t     32     52.13       54.49   +4.5%\n\t\t\t\t     64     54.13       54.61   +0.9%\n\nThat\u0027s interesting results. Some investigations show that\n\t- MySQL is accessing the db file non-uniformly: some parts are\n\t  more hot than others\n\t- It is mostly doing 4-page random reads, and sometimes doing two\n\t  reads in a row, the latter one triggers a 16-page readahead.\n\t- The on-demand readahead leaves many lookahead pages (flagged\n\t  PG_readahead) there. Many of them will be hit, and trigger\n\t  more readahead pages. Which might save more seeks.\n\t- Naturally, the readahead windows tend to lie in hot areas,\n\t  and the lookahead pages in hot areas is more likely to be hit.\n\t- The more overall read density, the more possible gain.\n\nThat also explains the adaptive readahead tricks for clustered random reads.\n\nreadahead thrashing: 3 times better\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nWe boot kernel with \"mem\u003d128m single\", and start a 100KB/s stream on every\nsecond, until reaching 200 streams.\n\n\t\t\t      max throughput     min avg I/O size\n\t\t2.6.20:            5MB/s               16KB\n\t\ton-demand:        15MB/s              140KB\n\nSigned-off-by: Fengguang Wu \u003cwfg@mail.ustc.edu.cn\u003e\nCc: Steven Pratt \u003cslpratt@austin.ibm.com\u003e\nCc: Ram Pai \u003clinuxram@us.ibm.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5ce1110b92b31d079aa443e967f43a2294e01194",
      "tree": "eff95b4c8ede07d0777ca68a30d686d1acbb5c73",
      "parents": [
        "f615bfca468c9b80ed2d09be5fdbaf470a32c045"
      ],
      "author": {
        "name": "Fengguang Wu",
        "email": "wfg@mail.ustc.edu.cn",
        "time": "Thu Jul 19 01:47:59 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:44 2007 -0700"
      },
      "message": "readahead: data structure and routines\n\nExtend struct file_ra_state to support the on-demand readahead logic.  Also\ndefine some helpers for it.\n\nSigned-off-by: Fengguang Wu \u003cwfg@mail.ustc.edu.cn\u003e\nCc: Steven Pratt \u003cslpratt@austin.ibm.com\u003e\nCc: Ram Pai \u003clinuxram@us.ibm.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d77c2d7cc5126639a47d73300b40d461f2811a0f",
      "tree": "d02b32ca92fde9a04be9bee0f0b7c8961479448c",
      "parents": [
        "2ba2d00363975242dee9bb22cf798b487e3cd61e"
      ],
      "author": {
        "name": "Fengguang Wu",
        "email": "wfg@mail.ustc.edu.cn",
        "time": "Thu Jul 19 01:47:55 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:43 2007 -0700"
      },
      "message": "readahead: introduce PG_readahead\n\nIntroduce a new page flag: PG_readahead.\n\nIt acts as a look-ahead mark, which tells the page reader: Hey, it\u0027s time to\ninvoke the read-ahead logic.  For the sake of I/O pipelining, don\u0027t wait until\nit runs out of cached pages!\n\nSigned-off-by: Fengguang Wu \u003cwfg@mail.ustc.edu.cn\u003e\nCc: Steven Pratt \u003cslpratt@austin.ibm.com\u003e\nCc: Ram Pai \u003clinuxram@us.ibm.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2ba2d00363975242dee9bb22cf798b487e3cd61e",
      "tree": "26bc53fb314ec9d585f07a5866c275ff1bfbc1aa",
      "parents": [
        "64ee4808a786caade50362d5057f65314fdf2f36"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Thu Jul 19 01:47:55 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:43 2007 -0700"
      },
      "message": "AIO sparse fix (type of ki_flags)\n\nFix type issue reported by latest \u0027sparse\u0027: kiocb.ki_flags should be\n\"unsigned long\" (not \"long\"), to match bitop type signature.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Benjamin LaHaise \u003cbcrl@kvack.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e53252d97e670a38b1d2e9723b48077bba11ddda",
      "tree": "a9909f22d7f0424214e2576912c0a3300dde3df0",
      "parents": [
        "68fc4fabca897a09f75f53bac14cdc7a98f52210"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Thu Jul 19 01:47:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:43 2007 -0700"
      },
      "message": "unregister_chrdev() return void\n\nunregister_chrdev() does not return meaningful value.  This patch makes it\nreturn void like most unregister_* functions.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@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": "77afcf78a2ded9a91838734234949c0ead5feb12",
      "tree": "76922017855c70d550b40241f8a144f6c098cd04",
      "parents": [
        "5a60d6235c8352ade8f2699e72fcdfe853730456"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@suse.cz",
        "time": "Thu Jul 19 01:47:41 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:43 2007 -0700"
      },
      "message": "PM: Integrate beeping flag with existing acpi_sleep flags\n\nMove \"debug during resume from s2ram\" into the variable we already use\nfor real-mode flags to simplify code. It also closes nasty trap for\nthe user in acpi_sleep_setup; order of parameters actually mattered there,\nacpi_sleep\u003ds3_bios,s3_mode doing something different from\nacpi_sleep\u003ds3_mode,s3_bios.\n\nSigned-off-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5a60d6235c8352ade8f2699e72fcdfe853730456",
      "tree": "cafab638df562b912e9e2a653e5c7238816d9706",
      "parents": [
        "bd804eba1c8597cbb7cd5a5f9fe886aae16a079a"
      ],
      "author": {
        "name": "Nigel Cunningham",
        "email": "nigel@nigel.suspend2.net",
        "time": "Thu Jul 19 01:47:41 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:43 2007 -0700"
      },
      "message": "PM: Optional beeping during resume from suspend to RAM\n\nAdd a feature allowing the user to make the system beep during a resume from\nsuspend to RAM, on x86_64 and i386.\n\nThis is useful for the users with broken resume from RAM, so that they can\nverify if the control reaches the kernel after a wake-up event.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bd804eba1c8597cbb7cd5a5f9fe886aae16a079a",
      "tree": "082f289809f92db6d23a13cd8fbbb82da125fcda",
      "parents": [
        "d7372cdf6938ccea23ec9fc68970702fed9ec3c8"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Jul 19 01:47:40 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:42 2007 -0700"
      },
      "message": "PM: Introduce pm_power_off_prepare\n\nIntroduce the pm_power_off_prepare() callback that can be registered by the\ninterested platforms in analogy with pm_idle() and pm_power_off(), used for\npreparing the system to power off (needed by ACPI).\n\nThis allows us to drop acpi_sysclass and device_acpi that are only defined in\norder to register the ACPI power off preparation callback, which is needed by\npm_power_off() registered in a much different way.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b10d911749d37dccfa5873d2088aea3f074b9e45",
      "tree": "56bd0ccb2861d7ae562d4e48a737727628358b42",
      "parents": [
        "c2cf7d87d804c66e063829d5ca739053e901dc15"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Jul 19 01:47:36 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:42 2007 -0700"
      },
      "message": "PM: introduce hibernation and suspend notifiers\n\nMake it possible to register hibernation and suspend notifiers, so that\nsubsystems can perform hibernation-related or suspend-related operations that\nshould not be carried out by device drivers\u0027 .suspend() and .resume()\nroutines.\n\n[akpm@linux-foundation.org: build fixes]\n[akpm@linux-foundation.org: cleanups]\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: 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": "0c1eecfb345401629aa57c9d3b077273e56c45a7",
      "tree": "522d7090966c6e70f3147c30e3308781e0309938",
      "parents": [
        "b1457bcc3a00a0446c7f6e2f22fd24b6d8d0a309"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Jul 19 01:47:33 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:42 2007 -0700"
      },
      "message": "Freezer: avoid freezing kernel threads prematurely\n\nKernel threads should not have TIF_FREEZE set when user space processes are\nbeing frozen, since otherwise some of them might be frozen prematurely.\nTo prevent this from happening we can (1) make exit_mm() unset TIF_FREEZE\nunconditionally just after clearing tsk-\u003emm and (2) make try_to_freeze_tasks()\ncheck if p-\u003emm is different from zero and PF_BORROWED_MM is unset in p-\u003eflags\nwhen user space processes are to be frozen.\n\nNamely, when user space processes are being frozen, we only should set\nTIF_FREEZE for tasks that have p-\u003emm different from NULL and don\u0027t have\nPF_BORROWED_MM set in p-\u003eflags.  For this reason task_lock() must be used to\nprevent try_to_freeze_tasks() from racing with use_mm()/unuse_mm(), in which\np-\u003emm and p-\u003eflags.PF_BORROWED_MM are changed under task_lock(p).  Also, we\nneed to prevent the following scenario from happening:\n\n* daemonize() is called by a task spawned from a user space code path\n* freezer checks if the task has p-\u003emm set and the result is positive\n* task enters exit_mm() and clears its TIF_FREEZE\n* freezer sets TIF_FREEZE for the task\n* task calls try_to_freeze() and goes to the refrigerator, which is wrong at\n  that point\n\nThis requires us to acquire task_lock(p) before p-\u003eflags.PF_BORROWED_MM and\np-\u003emm are examined and release it after TIF_FREEZE is set for p (or it turns\nout that TIF_FREEZE should not be set).\n\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\nCc: Nigel Cunningham \u003cnigel@nigel.suspend2.net\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": "a634cc10164d1c229fbeca33923e6a0ed939e894",
      "tree": "a2cdc5403127ca71b2cf378feb86d46745022ac1",
      "parents": [
        "7777fab989b5d006903188c966058ebcd2d6342a"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Jul 19 01:47:30 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:42 2007 -0700"
      },
      "message": "swsusp: introduce restore platform operations\n\nAt least on some machines it is necessary to prepare the ACPI firmware for the\nrestoration of the system memory state from the hibernation image if the\n\"platform\" mode of hibernation has been used.  Namely, in that cases we need\nto disable the GPEs before replacing the \"boot\" kernel with the \"frozen\"\nkernel (cf.  http://bugzilla.kernel.org/show_bug.cgi?id\u003d7887).  After the\nrestore they will be re-enabled by hibernation_ops-\u003efinish(), but if the\nrestore fails, they have to be re-enabled by the restore code explicitly.\n\nFor this purpose we can introduce two additional hibernation operations,\ncalled pre_restore() and restore_cleanup() and call them from the restore code\npath.  Still, they should be called if the \"platform\" mode of hibernation has\nbeen used, so we need to pass the information about the hibernation mode from\nthe \"frozen\" kernel to the \"boot\" kernel in the image header.\n\nApparently, we can\u0027t drop the disabling of GPEs before the restore because of\nBug #7887 .   We also can\u0027t do it unconditionally, because the GPEs wouldn\u0027t\nhave been enabled after a successful restore if the suspend had been done in\nthe \u0027shutdown\u0027 or \u0027reboot\u0027 mode.\n\nIn principle we could (and probably should) unconditionally disable the GPEs\nbefore each snapshot creation *and* before the restore, but then we\u0027d have to\nunconditionally enable them after the snapshot creation as well as after the\nrestore (or restore failure)   Still, for this purpose we\u0027d need to modify\nacpi_enter_sleep_state_prep() and acpi_leave_sleep_state() and we\u0027d have to\nintroduce some mechanism synchronizing the disablind/enabling of the GPEs with\nthe device drivers\u0027 .suspend()/.resume() routines and with\ndisable_/enable_nonboot_cpus().   However, this would have affected the\nsuspend (ie.  s2ram) code as well as the hibernation, which I\u0027d like to avoid\nin this patch series.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Nigel Cunningham \u003cnigel@nigel.suspend2.net\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bb2d5ce16409efcdf94017a6b6fecd468226e29c",
      "tree": "12ce94a51c3aa8bffb22e1aa22f122268013fec4",
      "parents": [
        "79352894b28550ee0eee919149f57626ec1b3572"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Thu Jul 19 01:47:23 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:41 2007 -0700"
      },
      "message": "Remove alloc_zeroed_user_highpage()\n\nalloc_zeroed_user_highpage() has no in-tree users and it is not exported.\nAs it is not exported, it can simply be removed.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "83c54070ee1a2d05c89793884bea1a03f2851ed4",
      "tree": "dc732f5a9b93fb7004ed23f551bd98b77cc580e0",
      "parents": [
        "d0217ac04ca6591841e5665f518e38064f4e65bd"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Thu Jul 19 01:47:05 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:41 2007 -0700"
      },
      "message": "mm: fault feedback #2\n\nThis patch completes Linus\u0027s wish that the fault return codes be made into\nbit flags, which I agree makes everything nicer.  This requires requires\nall handle_mm_fault callers to be modified (possibly the modifications\nshould go further and do things like fault accounting in handle_mm_fault --\nhowever that would be for another patch).\n\n[akpm@linux-foundation.org: fix alpha build]\n[akpm@linux-foundation.org: fix s390 build]\n[akpm@linux-foundation.org: fix sparc build]\n[akpm@linux-foundation.org: fix sparc64 build]\n[akpm@linux-foundation.org: fix ia64 build]\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Ian Molton \u003cspyro@f2s.com\u003e\nCc: Bryan Wu \u003cbryan.wu@analog.com\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Greg Ungerer \u003cgerg@uclinux.org\u003e\nCc: Matthew Wilcox \u003cwilly@debian.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Kazumoto Kojima \u003ckkojima@rr.iij4u.or.jp\u003e\nCc: Richard Curnow \u003crc@rc0.org.uk\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nCc: Miles Bader \u003cuclinux-v850@lsi.nec.co.jp\u003e\nCc: Chris Zankel \u003cchris@zankel.net\u003e\nAcked-by: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nAcked-by: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nAcked-by: Andi Kleen \u003cak@muc.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n[ Still apparently needs some ARM and PPC loving - Linus ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d0217ac04ca6591841e5665f518e38064f4e65bd",
      "tree": "d3309094bb734d34773f97d642593e298a5cfcfc",
      "parents": [
        "ed2f2f9b3ff8debdf512f7687b232c3c1d7d60d7"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Thu Jul 19 01:47:03 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:41 2007 -0700"
      },
      "message": "mm: fault feedback #1\n\nChange -\u003efault prototype.  We now return an int, which contains\nVM_FAULT_xxx code in the low byte, and FAULT_RET_xxx code in the next byte.\n FAULT_RET_ code tells the VM whether a page was found, whether it has been\nlocked, and potentially other things.  This is not quite the way he wanted\nit yet, but that\u0027s changed in the next patch (which requires changes to\narch code).\n\nThis means we no longer set VM_CAN_INVALIDATE in the vma in order to say\nthat a page is locked which requires filemap_nopage to go away (because we\ncan no longer remain backward compatible without that flag), but we were\ngoing to do that anyway.\n\nstruct fault_data is renamed to struct vm_fault as Linus asked. address\nis now a void __user * that we should firmly encourage drivers not to use\nwithout really good reason.\n\nThe page is now returned via a page pointer in the vm_fault struct.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "54cb8821de07f2ffcd28c380ce9b93d5784b40d7",
      "tree": "1de676534963d96af42863b20191bc9f80060dea",
      "parents": [
        "d00806b183152af6d24f46f0c33f14162ca1262a"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Thu Jul 19 01:46:59 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:41 2007 -0700"
      },
      "message": "mm: merge populate and nopage into fault (fixes nonlinear)\n\nNonlinear mappings are (AFAIKS) simply a virtual memory concept that encodes\nthe virtual address -\u003e file offset differently from linear mappings.\n\n-\u003epopulate is a layering violation because the filesystem/pagecache code\nshould need to know anything about the virtual memory mapping.  The hitch here\nis that the -\u003enopage handler didn\u0027t pass down enough information (ie.  pgoff).\n But it is more logical to pass pgoff rather than have the -\u003enopage function\ncalculate it itself anyway (because that\u0027s a similar layering violation).\n\nHaving the populate handler install the pte itself is likewise a nasty thing\nto be doing.\n\nThis patch introduces a new fault handler that replaces -\u003enopage and\n-\u003epopulate and (later) -\u003enopfn.  Most of the old mechanism is still in place\nso there is a lot of duplication and nice cleanups that can be removed if\neveryone switches over.\n\nThe rationale for doing this in the first place is that nonlinear mappings are\nsubject to the pagefault vs invalidate/truncate race too, and it seemed stupid\nto duplicate the synchronisation logic rather than just consolidate the two.\n\nAfter this patch, MAP_NONBLOCK no longer sets up ptes for pages present in\npagecache.  Seems like a fringe functionality anyway.\n\nNOPAGE_REFAULT is removed.  This should be implemented with -\u003efault, and no\nusers have hit mainline yet.\n\n[akpm@linux-foundation.org: cleanup]\n[randy.dunlap@oracle.com: doc. fixes for readahead]\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d00806b183152af6d24f46f0c33f14162ca1262a",
      "tree": "36f829cf13d5410374a3f00b56ec0b1f8dc3ce3c",
      "parents": [
        "589f1e81bde732dd0b1bc5d01b6bddd4bcb4527b"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Thu Jul 19 01:46:57 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:41 2007 -0700"
      },
      "message": "mm: fix fault vs invalidate race for linear mappings\n\nFix the race between invalidate_inode_pages and do_no_page.\n\nAndrea Arcangeli identified a subtle race between invalidation of pages from\npagecache with userspace mappings, and do_no_page.\n\nThe issue is that invalidation has to shoot down all mappings to the page,\nbefore it can be discarded from the pagecache.  Between shooting down ptes to\na particular page, and actually dropping the struct page from the pagecache,\ndo_no_page from any process might fault on that page and establish a new\nmapping to the page just before it gets discarded from the pagecache.\n\nThe most common case where such invalidation is used is in file truncation.\nThis case was catered for by doing a sort of open-coded seqlock between the\nfile\u0027s i_size, and its truncate_count.\n\nTruncation will decrease i_size, then increment truncate_count before\nunmapping userspace pages; do_no_page will read truncate_count, then find the\npage if it is within i_size, and then check truncate_count under the page\ntable lock and back out and retry if it had subsequently been changed (ptl\nwill serialise against unmapping, and ensure a potentially updated\ntruncate_count is actually visible).\n\nComplexity and documentation issues aside, the locking protocol fails in the\ncase where we would like to invalidate pagecache inside i_size.  do_no_page\ncan come in anytime and filemap_nopage is not aware of the invalidation in\nprogress (as it is when it is outside i_size).  The end result is that\ndangling (-\u003emapping \u003d\u003d NULL) pages that appear to be from a particular file\nmay be mapped into userspace with nonsense data.  Valid mappings to the same\nplace will see a different page.\n\nAndrea implemented two working fixes, one using a real seqlock, another using\na page-\u003eflags bit.  He also proposed using the page lock in do_no_page, but\nthat was initially considered too heavyweight.  However, it is not a global or\nper-file lock, and the page cacheline is modified in do_no_page to increment\n_count and _mapcount anyway, so a further modification should not be a large\nperformance hit.  Scalability is not an issue.\n\nThis patch implements this latter approach.  -\u003enopage implementations return\nwith the page locked if it is possible for their underlying file to be\ninvalidated (in that case, they must set a special vm_flags bit to indicate\nso).  do_no_page only unlocks the page after setting up the mapping\ncompletely.  invalidation is excluded because it holds the page lock during\ninvalidation of each page (and ensures that the page is not mapped while\nholding the lock).\n\nThis also allows significant simplifications in do_no_page, because we have\nthe page locked in the right place in the pagecache from the start.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5417169026c3df151adf5a65eb061278b0a72e69",
      "tree": "e4872a4243e12fe931ff6ac789df181b579b884c",
      "parents": [
        "589f1e81bde732dd0b1bc5d01b6bddd4bcb4527b"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Thu Jul 19 17:39:55 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Thu Jul 19 19:50:50 2007 +1000"
      },
      "message": "[FS] Implement block_page_mkwrite.\n\nMany filesystems need a -\u003epage-mkwrite callout to correctly\nset up pages that have been written to by mmap. This is especially\nimportant when mmap is writing into holes as it allows filesystems\nto correctly account for and allocate space before the mmap\nwrite is allowed to proceed.\n\nProtection against truncate races is provided by locking the page\nand checking to see whether the page mapping is correct and whether\nit is beyond EOF so we don\u0027t end up allowing allocations beyond\nthe current EOF or changing EOF as a result of a mmap write.\n\nSGI-PV: 940392\nSGI-Modid: 2.6.x-xfs-melb:linux:29146a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "ce524c8360d60cc6d3f77986bd58c4448d2b1e3a",
      "tree": "70ab63183f7952e66e4627ff5c655871b8a8c41c",
      "parents": [
        "789c56b7f73218141b8004cb4f775eed8c514212",
        "f9e29228e6f2058e7b086115ecb7008630ebd832"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Jul 18 18:33:45 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Jul 18 18:33:45 2007 -0700"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6\n\n* \u0027upstream-linus\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6:\n  eHEA: Fix bonding support\n  Blackfin ethernet driver: on chip ethernet MAC controller driver\n  fix wrong argument of tc35815_read_plat_dev_addr()\n  ARM/ETHER3: Handle multicast frames.\n  SAA9730: Handle multicast frames.\n  NI5010: Handle multicast frames.\n  NS83820: Handle multicast frames.\n  Fix RGMII-ID handling in gianfar\n  Fix Vitesse RGMII-ID support\n  Add phy-connection-type to gianfar nodes\n  Fix Vitesse 824x PHY interrupt acking\n  [PATCH] zd1211rw: Add ID for Siemens Gigaset USB Stick 54\n  [PATCH] zd1211rw: Add ID for Planex GW-US54GXS\n  [PATCH] Update version ipw2200 stamp to 1.2.2\n  [PATCH] ipw2200: Fix ipw_isr() comments error on shared IRQ\n  [PATCH] Fix ipw2200 set wrong power parameter causing firmware error\n  [PATCH] ipw2100: Fix `iwpriv set_power` error\n  [PATCH] softmac: Channel is listed twice in scan output\n"
    },
    {
      "commit": "29e7ee378e2327c808ede66dec4d4d964f4d375f",
      "tree": "4f904bfc485acd2ba5f7abdf43f57eeb8ce1dbdb",
      "parents": [
        "fc15bc817eecd5c13581adab2a182c07edededa0",
        "967e35dcc9ac194b4a6fad69a5a51f93d69bb0d1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Jul 18 18:28:08 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Jul 18 18:28:08 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6:\n  sysfs: cosmetic clean up on node creation failure paths\n  sysfs: kill an extra put in sysfs_create_link() failure path\n  Driver core: check return code of sysfs_create_link()\n  HOWTO: Add the knwon_regression URI to the documentation\n  dev_vdbg() documentation\n  dev_vdbg(), available with -DVERBOSE_DEBUG\n  sysfs: make sysfs_init_inode() static\n  sysfs: fix sysfs root inode nlink accounting\n  Documentation fix devres.txt: lib/iomap.c -\u003e lib/devres.c\n  sysfs: avoid kmem_cache_free(NULL)\n  PM: remove deprecated dpm_runtime_* routines\n  PM: Remove deprecated sysfs files\n  Driver core: accept all valid action-strings in uevent-trigger\n  debugfs: remove rmdir() non-empty complaint\n"
    },
    {
      "commit": "fc15bc817eecd5c13581adab2a182c07edededa0",
      "tree": "4495364581afd49596e88882f58a2f1196bc512f",
      "parents": [
        "a8dcf12f9e8ba113251c04d602f1695d537fb142",
        "bc4c4f45acbe1f1528d654b0b1793f25c175bf8f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Jul 18 18:27:50 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Jul 18 18:27:50 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/uio-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/uio-2.6:\n  UIO: Hilscher CIF card driver\n  UIO: Documentation\n  UIO: Add the User IO core code\n"
    },
    {
      "commit": "a8dcf12f9e8ba113251c04d602f1695d537fb142",
      "tree": "1b36a19e34a8471e847bfea88dc66ee6683b7b07",
      "parents": [
        "d796e641a3eea2109381d6b0af533454f44916fa",
        "6924c55492c904695f13c552c461c2211f4fdd6a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Jul 18 18:27:00 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Jul 18 18:27:00 2007 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-linus\u0027 of git://linux-nfs.org/~bfields/linux:\n  locks: fix vfs_test_lock() comment\n  locks: make posix_test_lock() interface more consistent\n  nfs: disable leases over NFS\n  gfs2: stop giving out non-cluster-coherent leases\n  locks: export setlease to filesystems\n  locks: provide a file lease method enabling cluster-coherent leases\n  locks: rename lease functions to reflect locks.c conventions\n  locks: share more common lease code\n  locks: clean up lease_alloc()\n  locks: convert an -EINVAL return to a BUG\n  leases: minor break_lease() comment clarification\n"
    },
    {
      "commit": "6d34ac199a4af5c678a3a8f3275aeb2586b72da3",
      "tree": "4ab6cffcfe993baa0afb2ab361a8c94ebfc3a444",
      "parents": [
        "370f6599e8bc03fd9fc6d1a1be00ae0c6373ca59"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri May 11 16:09:32 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jul 18 19:17:19 2007 -0400"
      },
      "message": "locks: make posix_test_lock() interface more consistent\n\nSince posix_test_lock(), like fcntl() and -\u003elock(), indicates absence or\npresence of a conflict lock by setting fl_type to, respectively, F_UNLCK\nor something other than F_UNLCK, the return value is no longer needed.\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "4698afe8e3a725576366f86560a8a8242b21b9f7",
      "tree": "dfa312e0a6bce21a6f502b8b9cf0844281d094a2",
      "parents": [
        "f9ffed26d6f3e6ac9988947242821579d615fda7"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jul 04 17:21:37 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jul 18 19:17:06 2007 -0400"
      },
      "message": "locks: export setlease to filesystems\n\nExport setlease so it can used by filesystems to implement their lease\nmethods.\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "f9ffed26d6f3e6ac9988947242821579d615fda7",
      "tree": "f7dc037b9b1a90511751532be5ebc47c820ed407",
      "parents": [
        "a9933cea7a1d80dd9efae9f1acd857f5dce742b9"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Tue Nov 14 15:51:40 2006 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jul 18 19:14:47 2007 -0400"
      },
      "message": "locks: provide a file lease method enabling cluster-coherent leases\n\nCurrently leases are only kept locally, so there\u0027s no way for a distributed\nfilesystem to enforce them against multiple clients.  We\u0027re particularly\ninterested in the case of nfsd exporting a cluster filesystem, in which\ncase nfsd needs cluster-coherent leases in order to implement delegations\ncorrectly.\n\nAlso add some documentation.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "a9933cea7a1d80dd9efae9f1acd857f5dce742b9",
      "tree": "d931351589579ce141110350de9ff11154328399",
      "parents": [
        "6d5e8b05caf074ae5676ad9aaf92e381226a14a7"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Jun 07 17:09:49 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jul 18 19:14:12 2007 -0400"
      },
      "message": "locks: rename lease functions to reflect locks.c conventions\n\nWe\u0027ve been using the convention that vfs_foo is the function that calls\na filesystem-specific foo method if it exists, or falls back on a\ngeneric method if it doesn\u0027t; thus vfs_foo is what is called when some\nother part of the kernel (normally lockd or nfsd) wants to get a lock,\nwhereas foo is what filesystems call to use the underlying local\nfunctionality as part of their lock implementation.\n\nSo rename setlease to vfs_setlease (which will call a\nfilesystem-specific setlease after a later patch) and __setlease to\nsetlease.\n\nAlso, vfs_setlease need only be GPL-exported as long as it\u0027s only needed\nby lockd and nfsd.\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "beafc54c4e2fba24e1ca45cdb7f79d9aa83e3db1",
      "tree": "9f2d4060e4ab29b1483124fa398be30f72696b34",
      "parents": [
        "5bae7ac9feba925fd0099057f6b23d7be80b7b41"
      ],
      "author": {
        "name": "Hans J. Koch",
        "email": "hjk@linutronix.de",
        "time": "Thu Dec 07 10:58:29 2006 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 18 15:57:15 2007 -0700"
      },
      "message": "UIO: Add the User IO core code\n\nThis interface allows the ability to write the majority of a driver in\nuserspace with only a very small shell of a driver in the kernel itself.\nIt uses a char device and sysfs to interact with a userspace process to\nprocess interrupts and control memory accesses.\n\nSee the docbook documentation for more details on how to use this\ninterface.\n\nFrom: Hans J. Koch \u003chjk@linutronix.de\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Benedikt Spranger \u003cb.spranger@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "aebdc3b450a3febf7d7d00cd2235509055ec7082",
      "tree": "3e9d53857d610d2b7eab3e2cce3cae2220202f52",
      "parents": [
        "bc37e2830339cbfa42ac8579a7bf62fc4cdd360d"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Thu Jul 12 22:08:22 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 18 15:49:50 2007 -0700"
      },
      "message": "dev_vdbg(), available with -DVERBOSE_DEBUG\n\nThis defines a dev_vdbg() call, which is enabled with -DVERBOSE_DEBUG.\nWhen enabled, dev_vdbg() acts just like dev_dbg().  When disabled, it is a\nNOP ...  just like dev_dbg() without -DDEBUG.  The specific code was moved\nout of a USB patch, but lots of drivers have similar support.\n\nThat is, code can now be written to use an additional level of debug\noutput, selected at compile time.  Many driver authors have found this\nidiom to be very useful.  A typical usage model is for \"normal\" debug\nmessages to focus on fault paths and not be very \"chatty\", so that those\nmessages can be left on during normal operation without much of a\nperformance or syslog load.  On the other hand \"verbose\" messages would be\nnoisy enough that they wouldn\u0027t normally be enabled; they might even affect\ntimings enough to change system or driver behavior.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "3f8df781fc5f9ee5253a54ba669e1c8872844b86",
      "tree": "fbca591c1538dfe4b812910dfaacfa8ed928307d",
      "parents": [
        "471d0558045fe35f8c5f291c1ee63815eb9c2dcd"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Thu Jul 12 16:57:22 2007 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 18 15:49:49 2007 -0700"
      },
      "message": "PM: remove deprecated dpm_runtime_* routines\n\nThis patch (as933) removes the deprecated dpm_runtime_suspend() and\ndpm_runtime_resume() routines from the PM core.  The only user of\nthose routines is the PCMCIA ds driver; local replacements are added.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCC: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "60a96a59569bab85571d0089682109bd3324e896",
      "tree": "b70d0174ddae44224ae5c8cea90231e659beff30",
      "parents": [
        "a6bb340da32f0abf76656be1619fb85150eef61b"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Sun Jul 08 22:29:26 2007 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 18 15:49:49 2007 -0700"
      },
      "message": "Driver core: accept all valid action-strings in uevent-trigger\n\nThis allows the uevent file to handle any type of uevent action to be\ntriggered by userspace instead of just the \"add\" uevent.\n\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "2dbba6f773d1e1e4c78f03b0dbf19790d9017693",
      "tree": "19535af46e79a0af756275f751d7b0080b72001d",
      "parents": [
        "84659eb529b33572bb3f8c94e0978bd5d084bc7e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jul 18 15:47:52 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 18 15:47:52 2007 -0700"
      },
      "message": "[GENETLINK]: Dynamic multicast groups.\n\nIntroduce API to dynamically register and unregister multicast groups.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nAcked-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "84659eb529b33572bb3f8c94e0978bd5d084bc7e",
      "tree": "3eddcba4b7e4779a51480c3cc24384ff2046b287",
      "parents": [
        "b4ff4f0419ae5db83553fab79d03a89c10d540a8"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jul 18 15:47:05 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 18 15:47:05 2007 -0700"
      },
      "message": "[NETLIKN]: Allow removing multicast groups.\n\nAllow kicking listeners out of a multicast group when necessary\n(for example if that group is going to be removed.)\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nAcked-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b4ff4f0419ae5db83553fab79d03a89c10d540a8",
      "tree": "17695af46692c31ec1f33ffb68bc686064227913",
      "parents": [
        "c81de6addb913423acef6e692fd70688180ab5dd"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jul 18 15:46:06 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 18 15:46:06 2007 -0700"
      },
      "message": "[NETLINK]: allocate group bitmaps dynamically\n\nAllow changing the number of groups for a netlink family\nafter it has been created, use RCU to protect the listeners\nbitmap keeping netlink_has_listeners() lock-free.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nAcked-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7132ab7f6e0309bb8e0424e395ba149aee0c750e",
      "tree": "b947434ef6edefdbe683b4a6c5740ccec977bc4e",
      "parents": [
        "af2d940df2b60b15c271033d381c2f3ead655562"
      ],
      "author": {
        "name": "Andy Fleming",
        "email": "afleming@freescale.com",
        "time": "Wed Jul 11 11:43:07 2007 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Jul 18 18:29:37 2007 -0400"
      },
      "message": "Fix RGMII-ID handling in gianfar\n\nThe TSEC/eTSEC can detect the interface to the PHY automatically,\nbut it isn\u0027t able to detect whether the RGMII connection needs internal\ndelay.  So we need to detect that change in the device tree, propagate\nit to the platform data, and then check it if we\u0027re in RGMII.  This fixes\na bug on the 8641D HPCN board where the Vitesse PHY doesn\u0027t use the delay\nfor RGMII.\n\nSigned-off-by: Andy Fleming \u003cafleming@freescale.com\u003e\n"
    },
    {
      "commit": "d756d10e246a01515d07f8161181b8a14afba7cc",
      "tree": "de7336f2b4b596881468bf65cb2f2f88cedcde86",
      "parents": [
        "cdf4a6482dd4c739f8c1132c5a9356912911fec5",
        "e9f410b1c035b6e63f0b4c3d6cfe4298d6a04492"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Jul 18 10:32:00 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Jul 18 10:32:00 2007 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:\n  ext4: extent macros cleanup\n  Fix compilation with EXT_DEBUG, also fix leXX_to_cpu conversions.\n  ext4: remove extra IS_RDONLY() check\n  ext4: Use is_power_of_2()\n  Use zero_user_page() in ext4 where possible\n  ext4: Remove 65000 subdirectory limit\n  ext4: Expand extra_inodes space per the s_{want,min}_extra_isize fields \n  ext4: Add nanosecond timestamps\n  jbd2: Move jbd2-debug file to debugfs\n  jbd2: Fix CONFIG_JBD_DEBUG ifdef to be CONFIG_JBD2_DEBUG\n  ext4: Set the journal JBD2_FEATURE_INCOMPAT_64BIT on large devices\n  ext4: Make extents code sanely handle on-disk corruption\n  ext4: copy i_flags to inode flags on write\n  ext4: Enable extents by default\n  Change on-disk format to support 2^15 uninitialized extents\n  write support for preallocated blocks\n  fallocate support in ext4\n  sys_fallocate() implementation on i386, x86_64 and powerpc\n"
    },
    {
      "commit": "485cf925d8b7a6b3c62fe5f1e167f2d0d4edf32a",
      "tree": "57798f48123a62dd1801f039b676b06913e34e72",
      "parents": [
        "31bdc5dc7666aa2fe04c626cea30fe3c20cf481c",
        "3fd8f9e4b6c184d03d340bc86630f700de967fa8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Jul 18 10:24:36 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Jul 18 10:24:36 2007 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\n* \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (24 commits)\n  [NETFILTER]: xt_connlimit needs to depend on nf_conntrack\n  [NETFILTER]: ipt_iprange.h must #include \u003clinux/types.h\u003e\n  [IrDA]: Fix IrDA build failure\n  [ATM]: nicstar needs virt_to_bus\n  [NET]: move __dev_addr_discard adjacent to dev_addr_discard for readability\n  [NET]: merge dev_unicast_discard and dev_mc_discard into one\n  [NET]: move dev_mc_discard from dev_mcast.c to dev.c\n  [NETLINK]: negative groups in netlink_setsockopt\n  [PPPOL2TP]: Reset meta-data in xmit function\n  [PPPOL2TP]: Fix use-after-free\n  [PKT_SCHED]: Some typo fixes in net/sched/Kconfig\n  [XFRM]: Fix crash introduced by struct dst_entry reordering\n  [TCP]: remove unused argument to cong_avoid op\n  [ATM]: [idt77252] Rename CONFIG_ATM_IDT77252_SEND_IDLE to not resemble a Kconfig variable\n  [ATM]: [drivers] ioremap balanced with iounmap\n  [ATM]: [lanai] sram_test_word() must be __devinit\n  [ATM]: [nicstar] Replace C code with call to ARRAY_SIZE() macro.\n  [ATM]: Eliminate dead config variable CONFIG_BR2684_FAST_TRANS.\n  [ATM]: Replacing kmalloc/memset combination with kzalloc.\n  [NET]: gen_estimator deadlock fix\n  ...\n"
    },
    {
      "commit": "9f27ee595038653ddf8bca871200d39247d6f4fc",
      "tree": "602b4fe83ccfd6cb65b146ed80e84baec0fb6cb7",
      "parents": [
        "4bac07c993d03434ea902d3d4290d9e45944b66c"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Tue Jul 17 18:37:06 2007 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Jul 18 08:47:45 2007 -0700"
      },
      "message": "xen: add virtual block device driver.\n\nThe block device frontend driver allows the kernel to access block\ndevices exported exported by a virtual machine containing a physical\nblock device driver.\n\nSigned-off-by: Ian Pratt \u003cian.pratt@xensource.com\u003e\nSigned-off-by: Christian Limpach \u003cChristian.Limpach@cl.cam.ac.uk\u003e\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "c85b04c3749507546f6d5868976e4793e35c2ec0",
      "tree": "77ad99f3850d11dab3df2b8b7e1998754d72d8bd",
      "parents": [
        "e738fca8d7dffec30eeee231c38f128eed56c8c8"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Tue Jul 17 18:37:05 2007 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Jul 18 08:47:43 2007 -0700"
      },
      "message": "xen: add pinned page flag\n\nAdd a new definition for PG_owner_priv_1 to define PG_pinned on Xen\npagetable pages.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\n"
    },
    {
      "commit": "5f4352fbffd6c45123dbce9e195efd54df4e177e",
      "tree": "e2a0316e2f2d22c266e7cae3015ddc0f2f77f64f",
      "parents": [
        "bdef40a6af64a0140a65df49bf504124d57094a9"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Tue Jul 17 18:37:04 2007 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Jul 18 08:47:41 2007 -0700"
      },
      "message": "Allocate and free vmalloc areas\n\nAllocate/release a chunk of vmalloc address space:\n alloc_vm_area reserves a chunk of address space, and makes sure all\n the pagetables are constructed for that address range - but no pages.\n\n free_vm_area releases the address space range.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Ian Pratt \u003cian.pratt@xensource.com\u003e\nSigned-off-by: Christian Limpach \u003cChristian.Limpach@cl.cam.ac.uk\u003e\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: \"Jan Beulich\" \u003cJBeulich@novell.com\u003e\nCc: \"Andi Kleen\" \u003cak@muc.de\u003e\n"
    },
    {
      "commit": "810bab448e563ffd1718d78e9a3756806b626acc",
      "tree": "238983d8120772f81b5d6fd74f570608c7d53663",
      "parents": [
        "86313c488a6848b7ec2ba04e74f25f79dd32a0b7"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Tue Jul 17 18:37:03 2007 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Jul 18 08:47:40 2007 -0700"
      },
      "message": "use elfnote.h to generate vsyscall notes.\n\nUse existing elfnote.h to generate vsyscall notes, rather than doing\nit locally.  Changes elfnote.h a bit to suit, since this is the first\nasm user, and it wasn\u0027t quite right.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.com\u003e\n"
    },
    {
      "commit": "86313c488a6848b7ec2ba04e74f25f79dd32a0b7",
      "tree": "3b190f7afc338362470573b563f65a1eb83795ac",
      "parents": [
        "10a0a8d4e3f6bf2d077f94344441909abe670f5a"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Tue Jul 17 18:37:03 2007 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Jul 18 08:47:40 2007 -0700"
      },
      "message": "usermodehelper: Tidy up waiting\n\nRather than using a tri-state integer for the wait flag in\ncall_usermodehelper_exec, define a proper enum, and use that.  I\u0027ve\npreserved the integer values so that any callers I\u0027ve missed should\nstill work OK.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nCc: Joel Becker \u003cjoel.becker@oracle.com\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@in.ibm.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "10a0a8d4e3f6bf2d077f94344441909abe670f5a",
      "tree": "b834c912629498e9fefb5958ee9965c414d32d69",
      "parents": [
        "0ab4dc92278a0f3816e486d6350c6652a72e06c8"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Tue Jul 17 18:37:02 2007 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Jul 18 08:47:40 2007 -0700"
      },
      "message": "Add common orderly_poweroff()\n\nVarious pieces of code around the kernel want to be able to trigger an\norderly poweroff.  This pulls them together into a single\nimplementation.\n\nBy default the poweroff command is /sbin/poweroff, but it can be set\nvia sysctl: kernel/poweroff_cmd.  This is split at whitespace, so it\ncan include command-line arguments.\n\nThis patch replaces four other instances of invoking either \"poweroff\"\nor \"shutdown -h now\": two sbus drivers, and acpi thermal\nmanagement.\n\nsparc64 has its own \"powerd\"; still need to determine whether it should\nbe replaced by orderly_poweroff().\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nAcked-by: Len Brown \u003clenb@kernel.org\u003e\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0ab4dc92278a0f3816e486d6350c6652a72e06c8",
      "tree": "84bc321c94ca86a3b5eafa308c8dba9af85a725c",
      "parents": [
        "d84d1cc7647c7e4f77d517e2d87b4a106a0420d9"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Tue Jul 17 18:37:02 2007 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Jul 18 08:47:40 2007 -0700"
      },
      "message": "usermodehelper: split setup from execution\n\nRather than having hundreds of variations of call_usermodehelper for\nvarious pieces of usermode state which could be set up, split the\ninfo allocation and initialization from the actual process execution.\n\nThis means the general pattern becomes:\n info \u003d call_usermodehelper_setup(path, argv, envp); /* basic state */\n call_usermodehelper_\u003cSET EXTRA STATE\u003e(info, stuff...);\t/* extra state */\n call_usermodehelper_exec(info, wait);\t/* run process and free info */\n\nThis patch introduces wrappers for all the existing calling styles for\ncall_usermodehelper_*, but folds their implementations into one.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Bj?rn Steinbrink \u003cB.Steinbrink@gmx.de\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\n"
    },
    {
      "commit": "d84d1cc7647c7e4f77d517e2d87b4a106a0420d9",
      "tree": "b6ccc40d323998d4ad013c7b05613bc727a8f4e0",
      "parents": [
        "1e66df3ee301209f4a38df097d7cc5cb9b367a3f"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Tue Jul 17 18:37:02 2007 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Jul 18 08:47:40 2007 -0700"
      },
      "message": "add argv_split()\n\nargv_split() is a helper function which takes a string, splits it at\nwhitespace, and returns a NULL-terminated argv vector.  This is\ndeliberately simple - it does no quote processing of any kind.\n\n[ Seems to me that this is something which is already being done in\n  the kernel, but I couldn\u0027t find any other implementations, either to\n  steal or replace.  Keep an eye out. ]\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\n"
    },
    {
      "commit": "1e66df3ee301209f4a38df097d7cc5cb9b367a3f",
      "tree": "55beb2a342dbe08c0404f749e02808e3f09023ac",
      "parents": [
        "8b4a40809e5330c9da5d20107d693d92d73b31dc"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Tue Jul 17 18:37:02 2007 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Jul 18 08:47:39 2007 -0700"
      },
      "message": "add kstrndup\n\nAdd a kstrndup function, modelled on strndup.  Like strndup this\nreturns a string copied into its own allocated memory, but it copies\nno more than the specified number of bytes from the source.\n\nRemove private strndup() from irda code.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nCc: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nCc: Al Viro \u003cviro@ftp.linux.org.uk\u003e\nCc: Panagiotis Issaris \u003ctakis@issaris.org\u003e\nCc: Rene Scharfe \u003crene.scharfe@lsrfire.ath.cx\u003e\n"
    },
    {
      "commit": "8b4a40809e5330c9da5d20107d693d92d73b31dc",
      "tree": "14de7320d32a7e72dc2cddf4833405db0f49a7ba",
      "parents": [
        "b187f180cc942e50007aa039f8e3a620ee5f3171"
      ],
      "author": {
        "name": "Maciej W. Rozycki",
        "email": "macro@linux-mips.org",
        "time": "Wed Jul 18 00:49:11 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Jul 18 08:38:22 2007 -0700"
      },
      "message": "zs: move to the serial subsystem\n\nThis is a reimplementation of the zs driver for the serial subsystem.  Any\nresemblance to the old driver is purely coincidential.  ;-) I do hope I got\nthe handling of modem lines right -- better do not tackle me about the\nissue unless you feel too good...\n\nAny users of the old driver: please note the numbers of the serial lines\nhave now been swapped, i.e.  ttyS0 \u003c-\u003e ttyS1 and ttyS2 \u003c-\u003e ttyS3.  It has\nto do with the modem lines mentioned above; basically the port A in a given\nchip has to be initialised before the port B if you want to use the latter\nas the serial console (which is usually the case), as operations on modem\nlines of the serial line associated with the port B access both ports (see\nthe comment at the top of the driver for the details of wiring used).\nPlease update your scripts.\n\nThis is also the reason each SCC now requests an IRQ once only (as seen in\n\"/proc/interrupts\") -- the handler takes care of both ports at once as the\nline associated with the port B has to take status update interrupts from\nboth ports (and yet the line of the port A takes its own for itself too).\nThe old driver never got it right...\n\nSigned-off-by: Maciej W. Rozycki \u003cmacro@linux-mips.org\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b187f180cc942e50007aa039f8e3a620ee5f3171",
      "tree": "5a46af1f8a1a3e2d4852b7ff4df4b339a9b31b7d",
      "parents": [
        "04e08d0e9b936b91e761454b3134e260c4f50696"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "Yinghai.Lu@Sun.COM",
        "time": "Wed Jul 18 00:49:10 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Jul 18 08:38:22 2007 -0700"
      },
      "message": "serial: add early_serial_setup() back to header file\n\nearly_serial_setup was removed from serial.h, but forgot to put in\nserial_8250.h\n\nSigned-off-by: Yinghai Lu \u003cyinghai.lu@sun.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f8628a14a27eb4512a1ede43de1d9db4d9f92bc3",
      "tree": "45719452db34112382a1b3e83dc648abe45eac70",
      "parents": [
        "6dd4ee7cab7e3a17c571aebd444f4344c8c4946e"
      ],
      "author": {
        "name": "Andreas Dilger",
        "email": "adilger@clusterfs.com",
        "time": "Wed Jul 18 08:38:01 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Jul 18 08:38:01 2007 -0400"
      },
      "message": "ext4: Remove 65000 subdirectory limit\n\nThis patch adds support to ext4 for allowing more than 65000\nsubdirectories. Currently the maximum number of subdirectories is capped\nat 32000.\n\nIf we exceed 65000 subdirectories in an htree directory it sets the\ninode link count to 1 and no longer counts subdirectories.  The\ndirectory link count is not actually used when determining if a\ndirectory is empty, as that only counts subdirectories and not regular\nfiles that might be in there. \n\nA EXT4_FEATURE_RO_COMPAT_DIR_NLINK flag has been added and it is set if\nthe subdir count for any directory crosses 65000. A later fsck will clear\nEXT4_FEATURE_RO_COMPAT_DIR_NLINK if there are no longer any directory\nwith \u003e65000 subdirs.\n\nSigned-off-by: Andreas Dilger \u003cadilger@clusterfs.com\u003e\nSigned-off-by: Kalpak Shah \u003ckalpak@clusterfs.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n\n"
    },
    {
      "commit": "6dd4ee7cab7e3a17c571aebd444f4344c8c4946e",
      "tree": "ee7b36d3a83ea843746ed3c906a9ad778838b9c6",
      "parents": [
        "ef7f38359ea8b3e9c7f2cae9a4d4935f55ca9e80"
      ],
      "author": {
        "name": "Kalpak Shah",
        "email": "kalpak@clusterfs.com",
        "time": "Wed Jul 18 09:19:57 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Jul 18 09:19:57 2007 -0400"
      },
      "message": "ext4: Expand extra_inodes space per the s_{want,min}_extra_isize fields \n\nWe need to make sure that existing ext3 filesystems can also avail the\nnew fields that have been added to the ext4 inode. We use\ns_want_extra_isize and s_min_extra_isize to decide by how much we should\nexpand the inode. If EXT4_FEATURE_RO_COMPAT_EXTRA_ISIZE feature is set\nthen we expand the inode by max(s_want_extra_isize, s_min_extra_isize ,\nsizeof(ext4_inode) - EXT4_GOOD_OLD_INODE_SIZE) bytes. Actually it is\nstill an open question about whether users should be able to set\ns_*_extra_isize smaller than the known fields or not.\n\nThis patch also adds the functionality to expand inodes to include the\nnewly added fields. We start by trying to expand by s_want_extra_isize\nbytes and if its fails we try to expand by s_min_extra_isize bytes. This\nis done by changing the i_extra_isize if enough space is available in\nthe inode and no EAs are present. If EAs are present and there is enough\nspace in the inode then the EAs in the inode are shifted to make space.\nIf enough space is not available in the inode due to the EAs then 1 or\nmore EAs are shifted to the external EA block. In the worst case when\neven the external EA block does not have enough space we inform the user\nthat some EA would need to be deleted or s_min_extra_isize would have to\nbe reduced.\n\nSigned-off-by: Andreas Dilger \u003cadilger@clusterfs.com\u003e\nSigned-off-by: Kalpak Shah \u003ckalpak@clusterfs.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "ef7f38359ea8b3e9c7f2cae9a4d4935f55ca9e80",
      "tree": "ee34a5821332cf70b89827eb872f08bc0dd43f89",
      "parents": [
        "0f49d5d019afa4e94253bfc92f0daca3badb990b"
      ],
      "author": {
        "name": "Kalpak Shah",
        "email": "kalpak@clusterfs.com",
        "time": "Wed Jul 18 09:15:20 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Jul 18 09:15:20 2007 -0400"
      },
      "message": "ext4: Add nanosecond timestamps\n\nThis patch adds nanosecond timestamps for ext4. This involves adding\n*time_extra fields to the ext4_inode to extend the timestamps to\n64-bits.  Creation time is also added by this patch.\n\nThese extended fields will fit into an inode if the filesystem was\nformatted with large inodes (-I 256 or larger) and there are currently\nno EAs consuming all of the available space. For new inodes we always\nreserve enough space for the kernel\u0027s known extended fields, but for\ninodes created with an old kernel this might not have been the case. So\nthis patch also adds the EXT4_FEATURE_RO_COMPAT_EXTRA_ISIZE feature\nflag(ro-compat so that older kernels can\u0027t create inodes with a smaller\nextra_isize). which indicates if the fields fitting inside\ns_min_extra_isize are available or not.  If the expansion of inodes if\nunsuccessful then this feature will be disabled.  This feature is only\nenabled if requested by the sysadmin.\n\nNone of the extended inode fields is critical for correct filesystem\noperation.\n\nSigned-off-by: Andreas Dilger \u003cadilger@clusterfs.com\u003e\nSigned-off-by: Kalpak Shah \u003ckalpak@clusterfs.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "0f49d5d019afa4e94253bfc92f0daca3badb990b",
      "tree": "9a8266d3a7292a0632df0f970f6377a8b8b98658",
      "parents": [
        "e23291b9120c11aafb2ee76fb71a062eb3c1056c"
      ],
      "author": {
        "name": "Jose R. Santos",
        "email": "jrs@us.ibm.com",
        "time": "Wed Jul 18 08:50:18 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Jul 18 08:50:18 2007 -0400"
      },
      "message": "jbd2: Move jbd2-debug file to debugfs\n\nThe jbd2-debug file used to be located in /proc/sys/fs/jbd2-debug, but it\nincorrectly used create_proc_entry() instead of the sysctl routines, and\nno proc entry was ever created.\n\nInstead of fixing this we might as well move the jbd2-debug file to\ndebugfs which would be the preferred location for this kind of tunable.\nThe new location is now /sys/kernel/debug/jbd2/jbd2-debug.\n\nSigned-off-by: Jose R. Santos \u003cjrs@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "e23291b9120c11aafb2ee76fb71a062eb3c1056c",
      "tree": "1a0f458c5c2803eb9a959e79622974cd5db4f985",
      "parents": [
        "eb40a09c679d7f9709f7087add57f2e1c7122bb3"
      ],
      "author": {
        "name": "Jose R. Santos",
        "email": "jrs@us.ibm.com",
        "time": "Wed Jul 18 08:57:06 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Jul 18 08:57:06 2007 -0400"
      },
      "message": "jbd2: Fix CONFIG_JBD_DEBUG ifdef to be CONFIG_JBD2_DEBUG\n\nWhen the JBD code was forked to create the new JBD2 code base, the\nreferences to CONFIG_JBD_DEBUG where never changed to\nCONFIG_JBD2_DEBUG.  This patch fixes that.\n\nSigned-off-by: Jose R. Santos \u003cjrs@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    }
  ],
  "next": "ff9ddf7e847c4dc533f119efb6c77a6e57ab6397"
}
