)]}'
{
  "log": [
    {
      "commit": "6edad161cd4dfe1df772e7a74ab63cab53b5e8c1",
      "tree": "389d6daa728b2ba1bd8c2180cab705706449f62a",
      "parents": [
        "236ee8c33277ab48671995f26dc68a4639936418",
        "0dd4b21f517e138ea113db255645fbae1bf5eef3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 15:58:44 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 15:58:44 2006 -0700"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev\n\n* \u0027upstream-linus\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev: (258 commits)\n  [libata] conversion to new debug scheme, part 1 of $N\n  [PATCH] libata: Add ata_scsi_dev_disabled\n  [libata] Add host lock to struct ata_port\n  [PATCH] libata: implement per-dev EH action mask eh_info-\u003edev_action[]\n  [PATCH] libata-dev: move the CDB-intr DMA blacklisting\n  [PATCH] ahci: disable NCQ support on vt8251\n  [libata] ahci: add JMicron PCI IDs\n  [libata] sata_nv: add PCI IDs\n  [libata] ahci: Add NVIDIA PCI IDs.\n  [PATCH] libata: convert several bmdma-style controllers to new EH, take #3\n  [PATCH] sata_via: convert to new EH, take #3\n  [libata] sata_nv: s/spin_lock_irqsave/spin_lock/ in irq handler\n  [PATCH] sata_nv: add hotplug support\n  [PATCH] sata_nv: convert to new EH\n  [PATCH] sata_nv: better irq handlers\n  [PATCH] sata_nv: simplify constants\n  [PATCH] sata_nv: kill struct nv_host_desc and nv_host\n  [PATCH] sata_nv: kill not-working hotplug code\n  [libata] Update docs to reflect current driver API\n  [PATCH] libata: add host_set-\u003enext for legacy two host_sets case, take #3\n  ...\n"
    },
    {
      "commit": "8cf60e04a131310199d5776e2f9e915f0c468899",
      "tree": "373a68e88e6737713a0a5723d552cdeefffff929",
      "parents": [
        "1323523f505606cfd24af6122369afddefc3b09d",
        "95eaa5fa8eb2c345244acd5f65b200b115ae8c65"
      ],
      "author": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Fri Jun 23 13:46:23 2006 -0700"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Fri Jun 23 13:46:23 2006 -0700"
      },
      "message": "Auto-update from upstream\n"
    },
    {
      "commit": "dd67d051529387f6e44d22d1d5540ef281965fdd",
      "tree": "80457f9a2ad3e562b179e40f5c8d51b4f24d6d9e",
      "parents": [
        "9e94cd4fd1812bab45237f998b3c6fa1b24023fd"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Wed Jun 21 09:36:18 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Fri Jun 23 17:10:39 2006 +0200"
      },
      "message": "[PATCH] rbtree: support functions used by the io schedulers\n\nThey all duplicate macros to check for empty root and/or node, and\nclearing a node. So put those in rbtree.h.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "8f34ee75decb80007ba77bba5a7384eadff4866d",
      "tree": "63d6d4a613d0c7d2269e2dec01975d58b1e97a31",
      "parents": [
        "ad3caddaa1708e506f20b8e25a4a8ae586fc7d5b"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Tue Jun 13 09:02:34 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Fri Jun 23 17:10:39 2006 +0200"
      },
      "message": "[PATCH] Rearrange a few struct request members\n\nThis saves 8 bytes of data in 64-bit archs.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "ad3caddaa1708e506f20b8e25a4a8ae586fc7d5b",
      "tree": "60a79c55a71ed3ef7bc9daaea694995b034eb044",
      "parents": [
        "b31dc66a54ad986b6b73bdc49c8efc17cbad1833"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Tue Jun 13 08:46:57 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Fri Jun 23 17:10:39 2006 +0200"
      },
      "message": "[PATCH] Get rid of struct request request_pm_state member\n\nThe IDE power management can just use the -\u003eend_io_data member to store\nit\u0027s data.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "b31dc66a54ad986b6b73bdc49c8efc17cbad1833",
      "tree": "5591383c1cbffe11512da889c971f899333f1a44",
      "parents": [
        "271f18f102c789f59644bb6c53a69da1df72b2f4"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Tue Jun 13 08:26:10 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Fri Jun 23 17:10:39 2006 +0200"
      },
      "message": "[PATCH] Kill PF_SYNCWRITE flag\n\nA process flag to indicate whether we are doing sync io is incredibly\nugly. It also causes performance problems when one does a lot of async\nio and then proceeds to sync it. Part of the io will go out as async,\nand the other part as sync. This causes a disconnect between the\npreviously submitted io and the synced io. For io schedulers such as CFQ,\nthis will cause us lost merges and suboptimal behaviour in scheduling.\n\nRemove PF_SYNCWRITE completely from the fsync/msync paths, and let\nthe O_DIRECT path just directly indicate that the writes are sync\nby using WRITE_SYNC instead.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "fda151d9feafc0e8418f23c716587c44394fcdbf",
      "tree": "741684efbeb8b5fe881e28875bba5d619482561b",
      "parents": [
        "a038e2536472b4dd932399b5277e65f188811de5"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Jun 05 12:09:50 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Fri Jun 23 17:10:38 2006 +0200"
      },
      "message": "[PATCH] blktrace_api.h: endian annotations\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "199f4c9f76fd8b030405abddf294e771f888de03",
      "tree": "ee4f104a7562e1fd76882bc40f2de7d90812e1df",
      "parents": [
        "37224470c8c6d90a4062e76a08d4dc1fcf91fc89",
        "ca6bb5d7ab22ac79f608fe6cbc6b12de6a5a19f0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 08:00:01 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 08:00:01 2006 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:\n  [NET]: Require CAP_NET_ADMIN to create tuntap devices.\n  [NET]: fix net-core kernel-doc\n  [TCP]: Move inclusion of \u003clinux/dmaengine.h\u003e to correct place in \u003clinux/tcp.h\u003e\n  [IPSEC]: Handle GSO packets\n  [NET]: Added GSO toggle\n  [NET]: Add software TSOv4\n  [NET]: Add generic segmentation offload\n  [NET]: Merge TSO/UFO fields in sk_buff\n  [NET]: Prevent transmission after dev_deactivate\n  [IPV6] ADDRCONF: Fix default source address selection without CONFIG_IPV6_PRIVACY\n  [IPV6]: Fix source address selection.\n  [NET]: Avoid allocating skb in skb_pad\n"
    },
    {
      "commit": "37224470c8c6d90a4062e76a08d4dc1fcf91fc89",
      "tree": "627f537177bf8e951c12bec04c4a85f0125f5ece",
      "parents": [
        "e83319510b04dd51a60da8a0b4ccf8b92b3ab1ad",
        "ae6c859b7dcd708efadf1c76279c33db213e3506"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:52:36 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:52:36 2006 -0700"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (65 commits)\n  ACPI: suppress power button event on S3 resume\n  ACPI: resolve merge conflict between sem2mutex and processor_perflib.c\n  ACPI: use for_each_possible_cpu() instead of for_each_cpu()\n  ACPI: delete newly added debugging macros in processor_perflib.c\n  ACPI: UP build fix for bugzilla-5737\n  Enable P-state software coordination via _PDC\n  P-state software coordination for speedstep-centrino\n  P-state software coordination for acpi-cpufreq\n  P-state software coordination for ACPI core\n  ACPI: create acpi_thermal_resume()\n  ACPI: create acpi_fan_suspend()/acpi_fan_resume()\n  ACPI: pass pm_message_t from acpi_device_suspend() to root_suspend()\n  ACPI: create acpi_device_suspend()/acpi_device_resume()\n  ACPI: replace spin_lock_irq with mutex for ec poll mode\n  ACPI: Allow a WAN module enable/disable on a Thinkpad X60.\n  sem2mutex: acpi, acpi_link_lock\n  ACPI: delete unused acpi_bus_drivers_lock\n  sem2mutex: drivers/acpi/processor_perflib.c\n  ACPI add ia64 exports to build acpi_memhotplug as a module\n  ACPI: asus_acpi_init(): propagate correct return value\n  ...\n\nManual resolve of conflicts in:\n\n\tarch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c\n\tarch/i386/kernel/cpu/cpufreq/speedstep-centrino.c\n\tinclude/acpi/processor.h\n"
    },
    {
      "commit": "78ce89c92bc6eaf5933b5664bff64253a7103bd7",
      "tree": "edaadf283127c1a74bfe3aa7b165c1cf45d14347",
      "parents": [
        "cdaad343b561cdeb38b0578bb038eb5e87ed5551"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Jun 23 02:06:05 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:43:08 2006 -0700"
      },
      "message": "[PATCH] JBD: split checkpoint lists\n\nSplit the checkpoint list of the transaction into two lists.  In the first\nlist we keep the buffers that need to be submitted for IO.  In the second\nlist are kept buffers that were already submitted and we just have to wait\nfor the IO to complete.  This should simplify a handling of checkpoint\nlists a bit and can eventually be also a performance gain.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nCc: \"Stephen C. Tweedie\" \u003csct@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "908dcecda1d18803b5823f30e6c47d2882dc0cf1",
      "tree": "2e40b7484baa65af9aa4460ae958d445725f484f",
      "parents": [
        "a5d6839b75ca4a29b5e0a5595914a8715e8f746d"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Fri Jun 23 02:06:00 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:43:08 2006 -0700"
      },
      "message": "[PATCH] adjust handle_IRR_event() return type\n\nCorrect the return type of handle_IRQ_event() (inconsistency noticed during\nXen development), and remove redundant declarations.  The return type\nadjustment required breaking out the definition of irqreturn_t into a\nseparate header, in order to satisfy current include order dependencies.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\n\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: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e\nCc: Hirokazu Takata \u003ctakata.hirokazu@renesas.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Miles Bader \u003cuclinux-v850@lsi.nec.co.jp\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "54e73770357142e297c916c7865f5fca7499f69c",
      "tree": "a37b768005eee1fdf6e0ae3051098c51f918785f",
      "parents": [
        "cb259f07b1daacafac3b12ecd7f180faf7e506b0"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Jun 23 02:05:54 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:43:07 2006 -0700"
      },
      "message": "[PATCH] list: introduce list_replace() helper\n\nlist_replace() is similar to list_replace_rcu(), but unlike\nlist_replace_rcu() it\n\n\tcould be used when list_empty(old) \u003d\u003d 1\n\n\tdoesn\u0027t use barriers\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f5befceb5cfecba49fdf61f8e0eb4d453200eac9",
      "tree": "d44d7b0375408895a686e274a4a336c271184d0a",
      "parents": [
        "862f5f0133f1c8a179dd93adc03d43f8f7e8bac5"
      ],
      "author": {
        "name": "Brent Casavant",
        "email": "bcasavan@sgi.com",
        "time": "Fri Jun 23 02:05:52 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:43:07 2006 -0700"
      },
      "message": "[PATCH] SGI IOC4: Detect IO card variant\n\nThere are three different IO cards which an SGI IOC4 controller may find\nitself on.  One of these variants does not bring out the IDE and serial\nsignals, so we need to disable attaching the corresponding IOC4 subdrivers\nto such cards.\n\nCleans up message clutter emitted during device probing.\n\nSigned-off-by: Brent Casavant \u003cbcasavan@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d83015b8f62ee3fcd338f6f009051ed57f77a531",
      "tree": "11e30548e6b07045f8a17aa4661e1cde6f374b18",
      "parents": [
        "55f4e8d156d23709739029afb108932ef94cac94"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@us.ibm.com",
        "time": "Fri Jun 23 02:05:51 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:43:07 2006 -0700"
      },
      "message": "[PATCH] Make RCU API inaccessible to non-GPL Linux kernel modules\n\nRemove synchronize_kernel() (deprecated 2-APR-2005 in\nhttp://lkml.org/lkml/2005/4/3/11) and makes the RCU API inaccessible to\nnon-GPL Linux kernel modules (as was announced more than one year ago in\nhttp://lkml.org/lkml/2005/4/3/8).  Tested on x86 and ppc64.\n\nSigned-off-by: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "481fad483487ea967fe20bbc9e565d787f7bf20f",
      "tree": "3a76336443129975d9f7ba99f9a9ea1c494315e5",
      "parents": [
        "3fa2164d03fb7af17fcfe4f8800dd754fbd99ff7"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Fri Jun 23 02:05:44 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:43:06 2006 -0700"
      },
      "message": "[PATCH] strstrip() API\n\nAdd a new strstrip() function to lib/string.c for removing leading and\ntrailing whitespace from a string.\n\nCc: Michael Holzheu \u003cholzheu@de.ibm.com\u003e\nAcked-by: Ingo Oeser \u003cioe-lkml@rameria.de\u003e\nAcked-by: Joern Engel \u003cjoern@wohnheim.fh-wedel.de\u003e\nCc: Corey Minyard \u003cminyard@acm.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Michael Holzheu \u003cHOLZHEU@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3fa2164d03fb7af17fcfe4f8800dd754fbd99ff7",
      "tree": "1fd2d9bfaff3bd7ba8c7d6c1e60634f3f799b6c7",
      "parents": [
        "1d31a4ea8cf7a2afc7299d1d3d8732ca54a5934e"
      ],
      "author": {
        "name": "Matt Helsley",
        "email": "matthltc@us.ibm.com",
        "time": "Fri Jun 23 02:05:44 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:43:06 2006 -0700"
      },
      "message": "[PATCH] Process Events: License Change\n\nChange the license on the process event structure passed between kernel and\nuserspace.\n\nSigned-off-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nAcked-by: Guillaume Thouvenin \u003cguillaume.thouvenin@bull.net\u003e\nAcked-by: Nguyen Anh Quynh \u003caquynh@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1d31a4ea8cf7a2afc7299d1d3d8732ca54a5934e",
      "tree": "74995c3163a0854d37a0a5193177928c2ded9ce8",
      "parents": [
        "368a5fa1f28589e6b54588a139ea872d5b4b1914"
      ],
      "author": {
        "name": "Matt Helsley",
        "email": "matthltc@us.ibm.com",
        "time": "Fri Jun 23 02:05:42 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:43:06 2006 -0700"
      },
      "message": "[PATCH] Process Events - Header Cleanup\n\nMove connector header include to precisely where it\u0027s needed.\n\nRemove unused time.h header file as well.  This was leftover from previous\niterations of the process events patches.\n\nSigned-off-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: Guillaume Thouvenin \u003cguillaume.thouvenin@bull.net\u003e\nCc: Nguyen Anh Quynh \u003caquynh@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "368a5fa1f28589e6b54588a139ea872d5b4b1914",
      "tree": "346923893f4814dffb51049f92f81c327374e60c",
      "parents": [
        "0216bfcffe424a5473daa4da47440881b36c1f41"
      ],
      "author": {
        "name": "Hua Zhong",
        "email": "hzhong@gmail.com",
        "time": "Fri Jun 23 02:05:42 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:43:06 2006 -0700"
      },
      "message": "[PATCH] remove unlikely() in might_sleep_if()\n\nThe likely() profiling tools show that __alloc_page() causes a lot of misses:\n\n!       132    119193 __alloc_pages():mm/page_alloc.c@937\n\nBecause most __alloc_page() calls are not atomic.\n\nSigned-off-by: Hua Zhong \u003chzhong@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0216bfcffe424a5473daa4da47440881b36c1f41",
      "tree": "80eaa49bfc644b070e57c251285048992ac6fafc",
      "parents": [
        "3cbc564024d8f174202f023e8a2991782f6a9431"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Fri Jun 23 02:05:41 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:43:06 2006 -0700"
      },
      "message": "[PATCH] percpu counter data type changes to suppport more than 2**31 ext3 free blocks counter\n\nThe percpu counter data type are changed in this set of patches to support\nmore users like ext3 who need more than 32 bit to store the free blocks\ntotal in the filesystem.\n\n- Generic perpcu counters data type changes.  The size of the global counter\n  and local counter were explictly specified using s64 and s32.  The global\n  counter is changed from long to s64, while the local counter is changed from\n  long to s32, so we could avoid doing 64 bit update in most cases.\n\n- Users of the percpu counters are updated to make use of the new\n  percpu_counter_init() routine now taking an additional parameter to allow\n  users to pass the initial value of the global counter.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "260ea1013283d8acbb451459ed1ca560c1445c20",
      "tree": "35819d28dbfa8600ac0de336147323e660b0390c",
      "parents": [
        "4a4b69f79ba7286794765a856349e380f984a6cb"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Jun 23 02:05:18 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:43:03 2006 -0700"
      },
      "message": "[PATCH] ptrace: document the locking rules\n\nAfter a lot of reading the code and thinking about how it behaves I have\nmanaged to figure out what the current ptrace locking rules are.  The\ncurrent code is in much better that it appears at first glance.  The\ntroublesome code paths are actually the code paths that violate the current\nrules.\n\nptrace uses simple exclusive access as it\u0027s locking.  You can only touch\ntask-\u003eptrace if the task is stopped and you are the ptracer, or if the task\nis running and are the task itself.\n\nVery simple, very easy to maintain.  It just needs to be documented so\npeople know not to touch ptrace from elsewhere.\n\nCurrently we do have a few pieces of code that are in violation of this\nrule.  Particularly the core dump code, and ptrace_attach.  But so far the\ncode looks fixable.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8d27e9084b372441dc8c9cf361a965ee58032767",
      "tree": "fa01bec4e62d494e0a3811d7e29b0b263262f42b",
      "parents": [
        "b0904e147f7cbe4be3b4dae49ddccd627bb66f16"
      ],
      "author": {
        "name": "Xose Vazquez Perez",
        "email": "xose.vazquez@gmail.com",
        "time": "Fri Jun 23 02:05:13 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:43:03 2006 -0700"
      },
      "message": "[PATCH] module.h: updated comments with a new license\n\n\"Dual MIT/GPL\" is also accepted (kernel/module.c), so updated comments.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b0904e147f7cbe4be3b4dae49ddccd627bb66f16",
      "tree": "81bb0e45d46a3bb038d953f616fd6e32d7ca5e4b",
      "parents": [
        "75e1fcc0b18df0a65ab113198e9dc0e98999a08c"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Jun 23 02:05:13 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:43:03 2006 -0700"
      },
      "message": "[PATCH] fs/locks.c: make posix_locks_deadlock() static\n\nWe can now make posix_locks_deadlock() static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "75e1fcc0b18df0a65ab113198e9dc0e98999a08c",
      "tree": "3ac0d0d3120cbca4ee9734494e2c9a4e0775ac4f",
      "parents": [
        "ff7b86b82083f24b8637dff1528c7101c18c7f39"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Fri Jun 23 02:05:12 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:43:02 2006 -0700"
      },
      "message": "[PATCH] vfs: add lock owner argument to flush operation\n\nPass the POSIX lock owner ID to the flush operation.\n\nThis is useful for filesystems which don\u0027t want to store any locking state\nin inode-\u003ei_flock but want to handle locking/unlocking POSIX locks\ninternally.  FUSE is one such filesystem but I think it possible that some\nnetwork filesystems would need this also.\n\nAlso add a flag to indicate that a POSIX locking request was generated by\nclose(), so filesystems using the above feature won\u0027t send an extra locking\nrequest in this case.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "090d2b185d8680fc26a2eaf4245d4171dcf4baf1",
      "tree": "67e604e3cd1bad3cfd034bced19a0fbff6a80c30",
      "parents": [
        "c330dda908b5a46469a997eea90b66f2f9f02b34"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Fri Jun 23 02:05:08 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:43:02 2006 -0700"
      },
      "message": "[PATCH] read_mapping_page for address space\n\nAdd read_mapping_page() which is used for callers that pass\nmapping-\u003ea_ops-\u003ereadpage as the filler for read_cache_page.  This removes\nsome duplication from filesystem code.\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c330dda908b5a46469a997eea90b66f2f9f02b34",
      "tree": "aad52aa4e127c366ca185c2122650d7dbb3437a0",
      "parents": [
        "24bbb1faf3f0420eb252dd0fdc1e477b1d4d73bd"
      ],
      "author": {
        "name": "Jeff Moyer",
        "email": "jmoyer@redhat.com",
        "time": "Fri Jun 23 02:05:07 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:43:02 2006 -0700"
      },
      "message": "[PATCH] Add a sysfs file to determine if a kexec kernel is loaded\n\nCreate two files in /sys/kernel, kexec_loaded and kexec_crash_loaded.  Each\nfile contains a simple boolean value indicating whether the relevant kernel\nhas been loaded into memory.  The motivation for this is geared around\nsupport.\n\nSigned-off-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "98317f1271e7fd472983b013c76df6cc15fbef22",
      "tree": "98aa4a3193044e57fbe918850e2b9eed13904c30",
      "parents": [
        "5a232eafedc385249ef1931d186169f9eed2ad93"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Fri Jun 23 02:04:54 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:43:00 2006 -0700"
      },
      "message": "[PATCH] m68k: Remove some unused definitions in zorro.h\n\nThese definitions have long been superseded by asm-offsets.h\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ce4ab0012b32c1a4a1d6e934aeb73bf3151c48d9",
      "tree": "83b5ba44e93eeb8b72fe14028ac25943f77844fe",
      "parents": [
        "82dcaafc92fdfbe2c1d6c50b9f5e17d533caf950"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Fri Jun 23 02:04:44 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:59 2006 -0700"
      },
      "message": "[PATCH] swsusp: add architecture special saveable pages support\n\n1. Add architecture specific pages save/restore support.  Next two patches\n   will use this to save/restore \u0027ACPI NVS\u0027 pages.\n\n2. Allow reserved pages \u0027nosave\u0027.  This could avoid save/restore BIOS\n   reserved pages.\n\nSigned-off-by: Shaohua Li \u003cshaohua.li@intel.com\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Nigel Cunningham \u003cnigel@suspend2.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1b61b910e99059abdd54c93aa70e84e076e33d16",
      "tree": "fe2cd431dc39521a0f2d30e22c9bd3eb3e1bc317",
      "parents": [
        "afa024c3dbccf026e45121f4b9de54cda48edbea"
      ],
      "author": {
        "name": "Zhang Yanmin",
        "email": "yanmin.zhang@intel.com",
        "time": "Fri Jun 23 02:04:22 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:57 2006 -0700"
      },
      "message": "[PATCH] x86: kernel irq balance doesn\u0027t work\n\nOn i386, kernel irq balance doesn\u0027t work.\n\n1) In function do_irq_balance, after kernel finds the min_loaded cpu but\n   before calling set_pending_irq to really pin the selected_irq to the\n   target cpu, kernel does a cpus_and with irq_affinity[selected_irq].\n   Later on, when the irq is acked, kernel would calls\n   move_native_irq\u003d\u003edesc-\u003ehandler-\u003eset_affinity to change the irq affinity.\n    However, every function pointed by\n   hw_interrupt_type-\u003eset_affinity(unsigned int irq, cpumask_t cpumask)\n   always changes irq_affinity[irq] to cpumask.  Next time when recalling\n   do_irq_balance, it has to do cpu_ands again with\n   irq_affinity[selected_irq], but irq_affinity[selected_irq] already\n   becomes one cpu selected by the first irq balance.\n\n2) Function balance_irq in file arch/i386/kernel/io_apic.c has the same\n   issue.\n\n[akpm@osdl.org: cleanups]\nSigned-off-by: Zhang Yanmin \u003cyanmin.zhang@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c22ce143d15eb288543fe9873e1c5ac1c01b69a1",
      "tree": "dc7d457b8952fc50dfc90df659b35de4117c61fc",
      "parents": [
        "7dbdf43cfa635ddc3701cc8d1eab07597cd731c0"
      ],
      "author": {
        "name": "Hiro Yoshioka",
        "email": "hyoshiok@miraclelinux.com",
        "time": "Fri Jun 23 02:04:16 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:56 2006 -0700"
      },
      "message": "[PATCH] x86: cache pollution aware __copy_from_user_ll()\n\nUse the x86 cache-bypassing copy instructions for copy_from_user().\n\nSome performance data are\n\nTotal of GLOBAL_POWER_EVENTS (CPU cycle samples)\n\n2.6.12.4.orig    1921587\n2.6.12.4.nt      1599424\n1599424/1921587\u003d83.23% (16.77% reduction)\n\nBSQ_CACHE_REFERENCE (L3 cache miss)\n2.6.12.4.orig      57427\n2.6.12.4.nt        20858\n20858/57427\u003d36.32% (63.7% reduction)\n\nL3 cache miss reduction of __copy_from_user_ll\nsamples  %\n37408    65.1412  vmlinux                  __copy_from_user_ll\n23        0.1103  vmlinux                  __copy_user_zeroing_intel_nocache\n23/37408\u003d0.061% (99.94% reduction)\n\nTop 5 of 2.6.12.4.nt\nCounted GLOBAL_POWER_EVENTS events (time during which processor is not stopped) with a unit mask of 0x01 (mandatory) count 100000\nsamples  %        app name                 symbol name\n128392    8.0274  vmlinux                  __copy_user_zeroing_intel_nocache\n64206     4.0143  vmlinux                  journal_add_journal_head\n59746     3.7355  vmlinux                  do_get_write_access\n47674     2.9807  vmlinux                  journal_put_journal_head\n46021     2.8774  vmlinux                  journal_dirty_metadata\npattern9-0-cpu4-0-09011728/summary.out\n\nCounted BSQ_CACHE_REFERENCE events (cache references seen by the bus unit) with a unit mask of 0x3f (multiple flags) count 3000\nsamples  %        app name                 symbol name\n69755     4.2861  vmlinux                  __copy_user_zeroing_intel_nocache\n55685     3.4215  vmlinux                  journal_add_journal_head\n52371     3.2179  vmlinux                  __find_get_block\n45504     2.7960  vmlinux                  journal_put_journal_head\n36005     2.2123  vmlinux                  journal_stop\npattern9-0-cpu4-0-09011744/summary.out\n\nCounted BSQ_CACHE_REFERENCE events (cache references seen by the bus unit) with a unit mask of 0x200 (read 3rd level cache miss) count 3000\nsamples  %        app name                 symbol name\n1147      5.4994  vmlinux                  journal_add_journal_head\n881       4.2240  vmlinux                  journal_dirty_data\n872       4.1809  vmlinux                  blk_rq_map_sg\n734       3.5192  vmlinux                  journal_commit_transaction\n617       2.9582  vmlinux                  radix_tree_delete\npattern9-0-cpu4-0-09011731/summary.out\n\niozone results are\n\noriginal 2.6.12.4 CPU time \u003d 207.768 sec\ncache aware       CPU time \u003d 184.783 sec\n(three times run)\n184.783/207.768\u003d88.94% (11.06% reduction)\n\noriginal:\npattern9-0-cpu4-0-08191720/iozone.out:  CPU Utilization: Wall time   45.997    CPU time   64.527    CPU utilization 140.28 %\npattern9-0-cpu4-0-08191741/iozone.out:  CPU Utilization: Wall time   46.878    CPU time   71.933    CPU utilization 153.45 %\npattern9-0-cpu4-0-08191743/iozone.out:  CPU Utilization: Wall time   45.152    CPU time   71.308    CPU utilization 157.93 %\n\ncache awre:\npattern9-0-cpu4-0-09011728/iozone.out:  CPU Utilization: Wall time   44.842    CPU time   62.465    CPU utilization 139.30 %\npattern9-0-cpu4-0-09011731/iozone.out:  CPU Utilization: Wall time   44.718    CPU time   59.273    CPU utilization 132.55 %\npattern9-0-cpu4-0-09011744/iozone.out:  CPU Utilization: Wall time   44.367    CPU time   63.045    CPU utilization 142.10 %\n\nSigned-off-by: Hiro Yoshioka \u003chyoshiok@miraclelinux.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "35601547baf92d984b6e59cf3583649da04baea5",
      "tree": "a392501e6e004ed33789dbf3f7a9fe43295439e1",
      "parents": [
        "22fb52dd736a62e24c44c50739007496265dc38c"
      ],
      "author": {
        "name": "David Quigley",
        "email": "dpquigl@tycho.nsa.gov",
        "time": "Fri Jun 23 02:04:01 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:54 2006 -0700"
      },
      "message": "[PATCH] SELinux: add task_movememory hook\n\nThis patch adds new security hook, task_movememory, to be called when memory\nowened by a task is to be moved (e.g.  when migrating pages to a this hook is\nidentical to the setscheduler implementation, but a separate hook introduced\nto allow this check to be specialized in the future if necessary.\n\nSince the last posting, the hook has been renamed following feedback from\nChristoph Lameter.\n\nSigned-off-by: David Quigley \u003cdpquigl@tycho.nsa.gov\u003e\nAcked-by:  Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nAcked-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "03e68060636e05989ea94bcb671ab633948f328c",
      "tree": "aee5e7b55f31998536dd3a4f54f38caeee6105d6",
      "parents": [
        "9216dfad4fc97ab639ef0885efc713f3d7a20d5b"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Jun 23 02:03:58 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:53 2006 -0700"
      },
      "message": "[PATCH] lsm: add task_setioprio hook\n\nImplement an LSM hook for setting a task\u0027s IO priority, similar to the hook\nfor setting a tasks\u0027s nice value.\n\nA previous version of this LSM hook was included in an older version of\nmultiadm by Jan Engelhardt, although I don\u0027t recall it being submitted\nupstream.\n\nAlso included is the corresponding SELinux hook, which re-uses the setsched\npermission in the proccess class.\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by:  Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: Jan Engelhardt \u003cjengelh@linux01.gwdg.de\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9216dfad4fc97ab639ef0885efc713f3d7a20d5b",
      "tree": "546e301f3181f56133509327f9c5ed035dd4b50d",
      "parents": [
        "1b2db9fb7adc4d67d9ce7d16ce79c41ee84730fe"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Fri Jun 23 02:03:57 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:53 2006 -0700"
      },
      "message": "[PATCH] move_pages: fix 32 -\u003e 64 bit compat function\n\nThe definition of the third parameter is a pointer to an array of virtual\naddresses which give us some trouble.  The existing code calculated the\nwrong address in the array since I used void to avoid having to specify a\ntype.\n\nI now use the correct type \"compat_uptr_t __user *\" in the definition of\nthe function in kernel/compat.c.\n\nHowever, I used __u32 in syscalls.h.  Would have to include compat.h there\nin order to provide the same definition which would generate an ugly\ninclude situation.\n\nOn both ia64 and x86_64 compat_uptr_t is u32. So this works although\nparameter declarations differ.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1b2db9fb7adc4d67d9ce7d16ce79c41ee84730fe",
      "tree": "d3fc0962ada099d741717d36a3f658c15b20c65a",
      "parents": [
        "b63d64a324056cf3c2f7a1a1fe8134100edbb058"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Fri Jun 23 02:03:56 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:53 2006 -0700"
      },
      "message": "[PATCH] sys_move_pages: 32bit support (i386, x86_64)\n\nsys_move_pages() support for 32bit (i386 plus x86_64 compat layer)\n\nAdd support for move_pages() on i386 and also add the compat functions\nnecessary to run 32 bit binaries on x86_64.\n\nAdd compat_sys_move_pages to the x86_64 32bit binary layer.  Note that it is\nnot up to date so I added the missing pieces.  Not sure if this is done the\nright way.\n\n[akpm@osdl.org: compile fix]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "742755a1d8ce2b548428f7aacf1758b4bba50080",
      "tree": "53426657e14dc19a694d418274c9a6f4dcb8a997",
      "parents": [
        "95a402c3847cc16f4ba03013cd01404fa0f14c2e"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Fri Jun 23 02:03:55 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:53 2006 -0700"
      },
      "message": "[PATCH] page migration: sys_move_pages(): support moving of individual pages\n\nmove_pages() is used to move individual pages of a process. The function can\nbe used to determine the location of pages and to move them onto the desired\nnode. move_pages() returns status information for each page.\n\nlong move_pages(pid, number_of_pages_to_move,\n\t\taddresses_of_pages[],\n\t\tnodes[] or NULL,\n\t\tstatus[],\n\t\tflags);\n\nThe addresses of pages is an array of void * pointing to the\npages to be moved.\n\nThe nodes array contains the node numbers that the pages should be moved\nto. If a NULL is passed instead of an array then no pages are moved but\nthe status array is updated. The status request may be used to determine\nthe page state before issuing another move_pages() to move pages.\n\nThe status array will contain the state of all individual page migration\nattempts when the function terminates. The status array is only valid if\nmove_pages() completed successfullly.\n\nPossible page states in status[]:\n\n0..MAX_NUMNODES\tThe page is now on the indicated node.\n\n-ENOENT\t\tPage is not present\n\n-EACCES\t\tPage is mapped by multiple processes and can only\n\t\tbe moved if MPOL_MF_MOVE_ALL is specified.\n\n-EPERM\t\tThe page has been mlocked by a process/driver and\n\t\tcannot be moved.\n\n-EBUSY\t\tPage is busy and cannot be moved. Try again later.\n\n-EFAULT\t\tInvalid address (no VMA or zero page).\n\n-ENOMEM\t\tUnable to allocate memory on target node.\n\n-EIO\t\tUnable to write back page. The page must be written\n\t\tback in order to move it since the page is dirty and the\n\t\tfilesystem does not provide a migration function that\n\t\twould allow the moving of dirty pages.\n\n-EINVAL\t\tA dirty page cannot be moved. The filesystem does not provide\n\t\ta migration function and has no ability to write back pages.\n\nThe flags parameter indicates what types of pages to move:\n\nMPOL_MF_MOVE\tMove pages that are only mapped by the process.\n\nMPOL_MF_MOVE_ALL Also move pages that are mapped by multiple processes.\n\t\tRequires sufficient capabilities.\n\nPossible return codes from move_pages()\n\n-ENOENT\t\tNo pages found that would require moving. All pages\n\t\tare either already on the target node, not present, had an\n\t\tinvalid address or could not be moved because they were\n\t\tmapped by multiple processes.\n\n-EINVAL\t\tFlags other than MPOL_MF_MOVE(_ALL) specified or an attempt\n\t\tto migrate pages in a kernel thread.\n\n-EPERM\t\tMPOL_MF_MOVE_ALL specified without sufficient priviledges.\n\t\tor an attempt to move a process belonging to another user.\n\n-EACCES\t\tOne of the target nodes is not allowed by the current cpuset.\n\n-ENODEV\t\tOne of the target nodes is not online.\n\n-ESRCH\t\tProcess does not exist.\n\n-E2BIG\t\tToo many pages to move.\n\n-ENOMEM\t\tNot enough memory to allocate control array.\n\n-EFAULT\t\tParameters could not be accessed.\n\nA test program for move_pages() may be found with the patches\non ftp.kernel.org:/pub/linux/kernel/people/christoph/pmig/patches-2.6.17-rc4-mm3\n\nFrom: Christoph Lameter \u003cclameter@sgi.com\u003e\n\n  Detailed results for sys_move_pages()\n\n  Pass a pointer to an integer to get_new_page() that may be used to\n  indicate where the completion status of a migration operation should be\n  placed.  This allows sys_move_pags() to report back exactly what happened to\n  each page.\n\n  Wish there would be a better way to do this. Looks a bit hacky.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Jes Sorensen \u003cjes@trained-monkey.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Michael Kerrisk \u003cmtk-manpages@gmx.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "95a402c3847cc16f4ba03013cd01404fa0f14c2e",
      "tree": "0fd9b3379f70cc99b2325bccaa150089abf6c8b3",
      "parents": [
        "aaa994b300a172afafab47938804836b923e5ef7"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Fri Jun 23 02:03:53 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:53 2006 -0700"
      },
      "message": "[PATCH] page migration: use allocator function for migrate_pages()\n\nInstead of passing a list of new pages, pass a function to allocate a new\npage.  This allows the correct placement of MPOL_INTERLEAVE pages during page\nmigration.  It also further simplifies the callers of migrate pages.\nmigrate_pages() becomes similar to migrate_pages_to() so drop\nmigrate_pages_to().  The batching of new page allocations becomes unnecessary.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Jes Sorensen \u003cjes@trained-monkey.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "aaa994b300a172afafab47938804836b923e5ef7",
      "tree": "ccc1acf72e9d1dfbd25fa5f8e067a195f93b0319",
      "parents": [
        "e24f0b8f76cc3dd96f36f5b6a9f020f6c3fce198"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Fri Jun 23 02:03:52 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:53 2006 -0700"
      },
      "message": "[PATCH] page migration: handle freeing of pages in migrate_pages()\n\nDo not leave pages on the lists passed to migrate_pages().  Seems that we will\nnot need any postprocessing of pages.  This will simplify the handling of\npages by the callers of migrate_pages().\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Jes Sorensen \u003cjes@trained-monkey.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "800590f523bf3bde9fa6c8e4d6763e4bf6a2c8ec",
      "tree": "0afbccc4b3648633da42d2c4b79cdb8f756804fd",
      "parents": [
        "5a4d43615921575b0c8299a5407ce4836e4138fd"
      ],
      "author": {
        "name": "Paul Drynoff",
        "email": "pauldrynoff@gmail.com",
        "time": "Fri Jun 23 02:03:48 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:52 2006 -0700"
      },
      "message": "[PATCH] slab: kmalloc, kzalloc comments cleanup and fix\n\n- Move comments for kmalloc to right place, currently it near __do_kmalloc\n\n- Comments for kzalloc\n\n- More detailed comments for kmalloc\n\n- Appearance of \"kmalloc\" and \"kzalloc\" man pages after \"make mandocs\"\n\n[rdunlap@xenotime.net: simplification]\nSigned-off-by: Paul Drynoff \u003cpauldrynoff@gmail.com\u003e\nAcked-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bd1e22b8e0a90f9a91e4c27db14ca15773659bf7",
      "tree": "8d32bdc39977af9dd3ba577b1fa34c0106b7f18e",
      "parents": [
        "e0a42726794f71336ff4b26084d453dd597471ce"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Jun 23 02:03:47 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:52 2006 -0700"
      },
      "message": "[PATCH] initialise total_memory() earlier\n\nInitialise total_memory earlier in boot.  Because if for some reason we run\npage reclaim early in boot, we don\u0027t want total_memory to be zero when we use\nit as a divisor.\n\nAnd rename total_memory to vm_total_pages to avoid naming clashes with\narchitectures.\n\nCc: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Martin Bligh \u003cmbligh@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9637a5efd4fbe36164c5ce7f6a0ee68b2bf22b7f",
      "tree": "38b86e3e2151e78f952076e36bee4fd7d77e3baf",
      "parents": [
        "bd96b9eb7cfd6ab24ba244360a09980a720874d2"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jun 23 02:03:43 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:51 2006 -0700"
      },
      "message": "[PATCH] add page_mkwrite() vm_operations method\n\nAdd a new VMA operation to notify a filesystem or other driver about the\nMMU generating a fault because userspace attempted to write to a page\nmapped through a read-only PTE.\n\nThis facility permits the filesystem or driver to:\n\n (*) Implement storage allocation/reservation on attempted write, and so to\n     deal with problems such as ENOSPC more gracefully (perhaps by generating\n     SIGBUS).\n\n (*) Delay making the page writable until the contents have been written to a\n     backing cache. This is useful for NFS/AFS when using FS-Cache/CacheFS.\n     It permits the filesystem to have some guarantee about the state of the\n     cache.\n\n (*) Account and limit number of dirty pages. This is one piece of the puzzle\n     needed to make shared writable mapping work safely in FUSE.\n\nNeeded by cachefs (Or is it cachefiles?  Or fscache? \u003chead spins\u003e).\n\nAt least four other groups have stated an interest in it or a desire to use\nthe functionality it provides: FUSE, OCFS2, NTFS and JFFS2.  Also, things like\nEXT3 really ought to use it to deal with the case of shared-writable mmap\nencountering ENOSPC before we permit the page to be dirtied.\n\nFrom: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n\n  get_user_pages(.write\u003d1, .force\u003d1) can generate COW hits on read-only\n  shared mappings, this patch traps those as mkpage_write candidates and fails\n  to handle them the old way.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nCc: Joel Becker \u003cJoel.Becker@oracle.com\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nCc: Anton Altaparmakov \u003caia21@cantab.net\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bd96b9eb7cfd6ab24ba244360a09980a720874d2",
      "tree": "9231d56e83f4ef43a6f664c2b416734318b92084",
      "parents": [
        "30c253e6da655d73eb8bfe2adca9b8f4d82fb81e"
      ],
      "author": {
        "name": "Con Kolivas",
        "email": "kernel@kolivas.org",
        "time": "Fri Jun 23 02:03:42 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:51 2006 -0700"
      },
      "message": "[PATCH] mm: fix swap unused warning\n\nIf CONFIG_SWAP is not defined we get:\n\nmm/vmscan.c: In function âremove_mappingâ:\nmm/vmscan.c:387: warning: unused variable âswapâ\n\nConvert defines in swap.h into blank inline functions to fix this warning\nand be consistent.\n\nSigned-off-by: Con Kolivas \u003ckernel@kolivas.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "30c253e6da655d73eb8bfe2adca9b8f4d82fb81e",
      "tree": "97c49ad364855b95ce52d97a62d176a077ff2a85",
      "parents": [
        "ddc2e812d592457747c4367fb73edcaa8e1e49ff"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@shadowen.org",
        "time": "Fri Jun 23 02:03:41 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:51 2006 -0700"
      },
      "message": "[PATCH] sparsemem: record nid during memory present\n\nRecord the node id as we mark sections for instantiation.  Use this nid\nduring instantiation to direct allocations.\n\nSigned-off-by: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: Mike Kravetz \u003ckravetz@us.ibm.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Bob Picco \u003cbob.picco@hp.com\u003e\nCc: Jack Steiner \u003csteiner@sgi.com\u003e\nCc: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: Martin Bligh \u003cmbligh@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "04e62a29bf157ce1edd168f2b71b533c80d13628",
      "tree": "7f0d5a58eeef2c2e08da86dc7141a1ccd050a37d",
      "parents": [
        "442c9137de8d769053e81d325709dca72f0b5e44"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Fri Jun 23 02:03:38 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:51 2006 -0700"
      },
      "message": "[PATCH] More page migration: use migration entries for file pages\n\nThis implements the use of migration entries to preserve ptes of file backed\npages during migration.  Processes can therefore be migrated back and forth\nwithout loosing their connection to pagecache pages.\n\nNote that we implement the migration entries only for linear mappings.\nNonlinear mappings still require the unmapping of the ptes for migration.\n\nAnd another writepage() ugliness shows up.  writepage() can drop the page\nlock.  Therefore we have to remove migration ptes before calling writepages()\nin order to avoid having migration entries point to unlocked pages.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d75a0fcda2cfc71b50e16dc89e0c32c57d427e85",
      "tree": "cc9dda0a0e53e62c859bf7fcafe7b9c9f6de2352",
      "parents": [
        "0697212a411c1dae03c27845f2de2f3adb32c331"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Fri Jun 23 02:03:36 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:50 2006 -0700"
      },
      "message": "[PATCH] Swapless page migration: rip out swap based logic\n\nRip the page migration logic out.\n\nRemove all code that has to do with swapping during page migration.\n\nThis also guts the ability to migrate pages to swap.  No one used that so lets\nlet it go for good.\n\nPage migration should be a bit broken after this patch.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0697212a411c1dae03c27845f2de2f3adb32c331",
      "tree": "4bedcdb27522f4a42c422e0a8af155501f43a69c",
      "parents": [
        "8351a6e4785218a2b03c142be92926baff95ba5c"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Fri Jun 23 02:03:35 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:50 2006 -0700"
      },
      "message": "[PATCH] Swapless page migration: add R/W migration entries\n\nImplement read/write migration ptes\n\nWe take the upper two swapfiles for the two types of migration ptes and define\na series of macros in swapops.h.\n\nThe VM is modified to handle the migration entries.  migration entries can\nonly be encountered when the page they are pointing to is locked.  This limits\nthe number of places one has to fix.  We also check in copy_pte_range and in\nmprotect_pte_range() for migration ptes.\n\nWe check for migration ptes in do_swap_cache and call a function that will\nthen wait on the page lock.  This allows us to effectively stop all accesses\nto apge.\n\nMigration entries are created by try_to_unmap if called for migration and\nremoved by local functions in migrate.c\n\nFrom: Hugh Dickins \u003chugh@veritas.com\u003e\n\n  Several times while testing swapless page migration (I\u0027ve no NUMA, just\n  hacking it up to migrate recklessly while running load), I\u0027ve hit the\n  BUG_ON(!PageLocked(p)) in migration_entry_to_page.\n\n  This comes from an orphaned migration entry, unrelated to the current\n  correctly locked migration, but hit by remove_anon_migration_ptes as it\n  checks an address in each vma of the anon_vma list.\n\n  Such an orphan may be left behind if an earlier migration raced with fork:\n  copy_one_pte can duplicate a migration entry from parent to child, after\n  remove_anon_migration_ptes has checked the child vma, but before it has\n  removed it from the parent vma.  (If the process were later to fault on this\n  orphaned entry, it would hit the same BUG from migration_entry_wait.)\n\n  This could be fixed by locking anon_vma in copy_one_pte, but we\u0027d rather\n  not.  There\u0027s no such problem with file pages, because vma_prio_tree_add\n  adds child vma after parent vma, and the page table locking at each end is\n  enough to serialize.  Follow that example with anon_vma: add new vmas to the\n  tail instead of the head.\n\n  (There\u0027s no corresponding problem when inserting migration entries,\n  because a missed pte will leave the page count and mapcount high, which is\n  allowed for.  And there\u0027s no corresponding problem when migrating via swap,\n  because a leftover swap entry will be correctly faulted.  But the swapless\n  method has no refcounting of its entries.)\n\nFrom: Ingo Molnar \u003cmingo@elte.hu\u003e\n\n  pte_unmap_unlock() takes the pte pointer as an argument.\n\nFrom: Hugh Dickins \u003chugh@veritas.com\u003e\n\n  Several times while testing swapless page migration, gcc has tried to exec\n  a pointer instead of a string: smells like COW mappings are not being\n  properly write-protected on fork.\n\n  The protection in copy_one_pte looks very convincing, until at last you\n  realize that the second arg to make_migration_entry is a boolean \"write\",\n  and SWP_MIGRATION_READ is 30.\n\n  Anyway, it\u0027s better done like in change_pte_range, using\n  is_write_migration_entry and make_migration_entry_read.\n\nFrom: Hugh Dickins \u003chugh@veritas.com\u003e\n\n  Remove unnecessary obfuscation from sys_swapon\u0027s range check on swap type,\n  which blew up causing memory corruption once swapless migration made\n  MAX_SWAPFILES no longer 2 ^ MAX_SWAPFILES_SHIFT.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nAcked-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Christoph Lameter \u003cclameter@engr.sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nFrom: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2d1db3b1170db4e8bf0531dd636742269c2cf579",
      "tree": "1161ed614a55869c278234d7472673fd1a577887",
      "parents": [
        "c3fcf8a5daacf350f0632e1379414c01f34eeea3"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Fri Jun 23 02:03:33 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:50 2006 -0700"
      },
      "message": "[PATCH] page migration cleanup: pass \"mapping\" to migration functions\n\nChange handling of address spaces.\n\nPass a pointer to the address space in which the page is migrated to all\nmigration function.  This avoids repeatedly having to retrieve the address\nspace pointer from the page and checking it for validity.  The old page\nmapping will change once migration has gone to a certain step, so it is less\nconfusing to have the pointer always available.\n\nMove the setting of the mapping and index for the new page into\nmigrate_pages().\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e7340f73307abed9283d0a07570d06e228c205dd",
      "tree": "e786e2d09cfaf670128571029d833d1d27998d59",
      "parents": [
        "1d8b85ccf1ed53a71b092fb5d807edf1ea7dabdd"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Fri Jun 23 02:03:29 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:50 2006 -0700"
      },
      "message": "[PATCH] page migration cleanup: remove useless definitions\n\nRemove the export for migrate_page_remove_references() and migrate_page_copy()\nthat are unlikely to be used directly by filesystems implementing migration.\nThe export was useful when buffer_migrate_page() lived in fs/buffer.c but it\nhas now been moved to migrate.c in the migration reorg.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "111ebb6e6f7bd7de6d722c5848e95621f43700d9",
      "tree": "bb00b13001db9be201e9b6d31468a79f4d1240bf",
      "parents": [
        "4c91c3648c620003cb7b21b8858f36cd6132e168"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Fri Jun 23 02:03:26 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:49 2006 -0700"
      },
      "message": "[PATCH] writeback: fix range handling\n\nWhen a writeback_control\u0027s `start\u0027 and `end\u0027 fields are used to\nindicate a one-byte-range starting at file offset zero, the required\nvalues of .start\u003d0,.end\u003d0 mean that the -\u003ewritepages() implementation\nhas no way of telling that it is being asked to perform a range\nrequest.  Because we\u0027re currently overloading (start \u003d\u003d 0 \u0026\u0026 end \u003d\u003d 0)\nto mean \"this is not a write-a-range request\".\n\nTo make all this sane, the patch changes range of writeback_control.\n\nSo caller does: If it is calling -\u003ewritepages() to write pages, it\nsets range (range_start/end or range_cyclic) always.\n\nAnd if range_cyclic is true, -\u003ewritepages() thinks the range is\ncyclic, otherwise it just uses range_start and range_end.\n\nThis patch does,\n\n    - Add LLONG_MAX, LLONG_MIN, ULLONG_MAX to include/linux/kernel.h\n      -1 is usually ok for range_end (type is long long). But, if someone did,\n\n\t\trange_end +\u003d val;\t\trange_end is \"val - 1\"\n\t\tu64val \u003d range_end \u003e\u003e bits;\tu64val is \"~(0ULL)\"\n\n      or something, they are wrong. So, this adds LLONG_MAX to avoid nasty\n      things, and uses LLONG_MAX for range_end.\n\n    - All callers of -\u003ewritepages() sets range_start/end or range_cyclic.\n\n    - Fix updates of -\u003ewriteback_index. It seems already bit strange.\n      If it starts at 0 and ended by check of nr_to_write, this last\n      index may reduce chance to scan end of file.  So, this updates\n      -\u003ewriteback_index only if range_cyclic is true or whole-file is\n      scanned.\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Nathan Scott \u003cnathans@sgi.com\u003e\nCc: Anton Altaparmakov \u003caia21@cantab.net\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nCc: \"Vladimir V. Saveliev\" \u003cvs@namesys.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "612d6c19db2fd0dc97b0fa370613ecd4a305ffc3",
      "tree": "3ab670895b5c3e389ff922192a572cbfd8159d03",
      "parents": [
        "929f97276bcf7f4a95272ed08a85339b98ba210d"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Fri Jun 23 02:03:22 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:49 2006 -0700"
      },
      "message": "[PATCH] radix-tree: direct data\n\nThe ability to have height 0 radix trees (a direct pointer to the data item\nrather than going through a full node-\u003eslot) quietly disappeared with\nold-2.6-bkcvs commit ffee171812d51652f9ba284302d9e5c5cc14bdfd.  On 64-bit\nmachines this causes nearly 600 bytes to be used for every \u003c\u003d 4K file in\npagecache.\n\nRe-introduce this feature, root tags stored in spare -\u003egfp_mask bits.\n\nSimplify radix_tree_delete\u0027s complex tag clearing arrangement (which would\nbecome even more complex) by just falling back to tag clearing functions\n(the pagecache radix-tree never uses this path anyway, so the icache\nsavings will mean it\u0027s actually a speedup).\n\nOn my 4GB G5, this saves 8MB RAM per kernel kernel source+object tree in\npagecache.\n\nPagecache lookup, insertion, and removal speed for small files will also be\nimproved.\n\nThis makes RCU radix tree harder, but it\u0027s worth it.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "929f97276bcf7f4a95272ed08a85339b98ba210d",
      "tree": "4975698af9559279c83e4e268213ed13e3efee9a",
      "parents": [
        "833423143c3a7c6545e409d65febd0d92deb351b"
      ],
      "author": {
        "name": "Dean Nelson",
        "email": "dcn@sgi.com",
        "time": "Fri Jun 23 02:03:21 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:49 2006 -0700"
      },
      "message": "[PATCH] change gen_pool allocator to not touch managed memory\n\nModify the gen_pool allocator (lib/genalloc.c) to utilize a bitmap scheme\ninstead of the buddy scheme.  The purpose of this change is to eliminate\nthe touching of the actual memory being allocated.\n\nSince the change modifies the interface, a change to the uncached allocator\n(arch/ia64/kernel/uncached.c) is also required.\n\nBoth Andrey Volkov and Jes Sorenson have expressed a desire that the\ngen_pool allocator not write to the memory being managed. See the\nfollowing:\n\n  http://marc.theaimsgroup.com/?l\u003dlinux-kernel\u0026m\u003d113518602713125\u0026w\u003d2\n  http://marc.theaimsgroup.com/?l\u003dlinux-kernel\u0026m\u003d113533568827916\u0026w\u003d2\n\nSigned-off-by: Dean Nelson \u003cdcn@sgi.com\u003e\nCc: Andrey Volkov \u003cavolkov@varma-el.com\u003e\nAcked-by: Jes Sorensen \u003cjes@trained-monkey.org\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "833423143c3a7c6545e409d65febd0d92deb351b",
      "tree": "13a1881f1ffd6e546e80a2ec04b1ac44ad145298",
      "parents": [
        "762834e8bf46bf41ce9034d062a7c1f8563175f3"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Fri Jun 23 02:03:20 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:49 2006 -0700"
      },
      "message": "[PATCH] mm: introduce remap_vmalloc_range()\n\nAdd remap_vmalloc_range, vmalloc_user, and vmalloc_32_user so that drivers\ncan have a nice interface for remapping vmalloc memory.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "762834e8bf46bf41ce9034d062a7c1f8563175f3",
      "tree": "fb134ef41772ba61050a08cc4ed92c50cd057658",
      "parents": [
        "d6277db4ab271862ed599da08d78961c70f00002"
      ],
      "author": {
        "name": "Yasunori Goto",
        "email": "y-goto@jp.fujitsu.com",
        "time": "Fri Jun 23 02:03:19 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:48 2006 -0700"
      },
      "message": "[PATCH] Unify pxm_to_node() and node_to_pxm()\n\nConsolidate the various arch-specific implementations of pxm_to_node() and\nnode_to_pxm() into a single generic version.\n\nSigned-off-by: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: \"Brown, Len\" \u003clen.brown@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a43a8c39bbb493c9e93f6764b350de2e33e18e92",
      "tree": "a3f0042371810ce6d076751d8e403baaa3d2630e",
      "parents": [
        "e8f03d02080b25f53cd6bba8dc3a297803f18c01"
      ],
      "author": {
        "name": "Chen, Kenneth W",
        "email": "kenneth.w.chen@intel.com",
        "time": "Fri Jun 23 02:03:15 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:48 2006 -0700"
      },
      "message": "[PATCH] tightening hugetlb strict accounting\n\nCurrent hugetlb strict accounting for shared mapping always assume mapping\nstarts at zero file offset and reserves pages between zero and size of the\nfile.  This assumption often reserves (or lock down) a lot more pages then\nnecessary if application maps at none zero file offset.  libhugetlbfs is\none example that requires proper reservation on shared mapping starts at\nnone zero offset.\n\nThis patch extends the reservation and hugetlb strict accounting to support\nany arbitrary pair of (offset, len), resulting a much more robust and\naccurate scheme.  More importantly, it won\u0027t lock down any hugetlb pages\noutside file mapping.\n\nSigned-off-by: Ken Chen \u003ckenneth.w.chen@intel.com\u003e\nAcked-by: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e8f03d02080b25f53cd6bba8dc3a297803f18c01",
      "tree": "64d2731203aa3e90273322620c3b964bba7abed9",
      "parents": [
        "6937a25cff818d32d0f9ff58a518c9ab96760aeb"
      ],
      "author": {
        "name": "Andreas Dilger",
        "email": "adilger@shaw.ca",
        "time": "Fri Jun 23 02:03:14 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:47 2006 -0700"
      },
      "message": "[PATCH] reserve space for swap label\n\nReserve space in the swap disk header for a LABEL and UUID to be specified.\n This has been possible with util-linux-2.12b (via e2fsprogs 1.36\nlibblkid), and is used by at least FC3 and later.  The kernel doesn\u0027t\nreally care about this, but the space shouldn\u0027t accidentally be used by\nsomething else either.\n\nAlso make the on-disk structures be fixed-size types, instead of \"int\",\nthough I don\u0027t know of any architecture in use where an \"int\" isn\u0027t the\nsame size as a \"__u32\" (all current kernel arches have it as \"unsigned\nint\").\n\nSigned-off-by: Andreas Dilger \u003cadilger@shaw.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fadd8fbd153c12963f8fe3c9ef7f8967f286f98b",
      "tree": "547cdee6203b769773521118a4dd19e95a7ef3fd",
      "parents": [
        "67de648211fa041fe08a0c25241a4980bbb90698"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Fri Jun 23 02:03:13 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:47 2006 -0700"
      },
      "message": "[PATCH] support for panic at OOM\n\nThis patch adds panic_on_oom sysctl under sys.vm.\n\nWhen sysctl vm.panic_on_oom \u003d 1, the kernel panics intead of killing rogue\nprocesses.  And if vm.panic_on_oom is 0 the kernel will do oom_kill() in\nthe same way as it does today.  Of course, the default value is 0 and only\nroot can modifies it.\n\nIn general, oom_killer works well and kill rogue processes.  So the whole\nsystem can survive.  But there are environments where panic is preferable\nrather than kill some processes.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "718127cc3170454f4aa274fdd2f1e01574fecd66",
      "tree": "8b42a48248d6508b8369718deef6b1af3ea82dbf",
      "parents": [
        "86356ab147669bd3bcb2149fd9561d1280835c24"
      ],
      "author": {
        "name": "Yasunori Goto",
        "email": "y-goto@jp.fujitsu.com",
        "time": "Fri Jun 23 02:03:10 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:46 2006 -0700"
      },
      "message": "[PATCH] wait_table and zonelist initializing for memory hotadd: add return code for init_current_empty_zone\n\nWhen add_zone() is called against empty zone (not populated zone), we have to\ninitialize the zone which didn\u0027t initialize at boot time.  But,\ninit_currently_empty_zone() may fail due to allocation of wait table.  So,\nthis patch is to catch its error code.\n\nChanges against wait_table is in the next patch.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "86356ab147669bd3bcb2149fd9561d1280835c24",
      "tree": "bedc7113593e0f6a91aff18bb506fc3327516d81",
      "parents": [
        "02b694dea473ad3db1e2d1b14c1fef8fbd92e5e6"
      ],
      "author": {
        "name": "Yasunori Goto",
        "email": "y-goto@jp.fujitsu.com",
        "time": "Fri Jun 23 02:03:09 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:46 2006 -0700"
      },
      "message": "[PATCH] wait_table and zonelist initializing for memory hotadd: change to meminit for build_zonelist\n\nChange definitions of some functions and data from __init to __meminit.\n\nThese functions and data can be used after bootup by this patch to be used for\nhot-add codes.\n\nSigned-off-by: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "02b694dea473ad3db1e2d1b14c1fef8fbd92e5e6",
      "tree": "a39451192b589486d70f4d989f9b7f19ef889db0",
      "parents": [
        "3c5a87f476bed45616e7e543dcaea4440c77bf93"
      ],
      "author": {
        "name": "Yasunori Goto",
        "email": "y-goto@jp.fujitsu.com",
        "time": "Fri Jun 23 02:03:08 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:46 2006 -0700"
      },
      "message": "[PATCH] wait_table and zonelist initializing for memory hotadd: change name of wait_table_size()\n\nThis is just to rename from wait_table_size() to wait_table_hash_nr_entries().\n\nSigned-off-by: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f886ed443fedb109e2062988bf120a531f0ec80a",
      "tree": "379858e1b4fc28c266f041902477ee41069171e4",
      "parents": [
        "729bd0b74ce9ac6c829109052fcd565f5c366ca5"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Jun 23 02:03:06 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:46 2006 -0700"
      },
      "message": "[PATCH] PG_uncached is ia64 only\n\nAs Nick points out, only ia64 uses PG_uncached.  So we can push it up into the\nhigher bits of the lower half of page-\u003eflags and make room for another flag on\n32-bit machines.\n\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Jesse Barnes \u003cjbarnes@sgi.com\u003e\nCc: Jes Sorensen \u003cjes@trained-monkey.org\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cb2b95e1c6b56e3d2369d3a5f4bc97f4fa180683",
      "tree": "121d3fcd539f7d62887949840307ac26aadaa9e4",
      "parents": [
        "6f0419e06a3b151ab616a31accdabef41dc2d1b0"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@shadowen.org",
        "time": "Fri Jun 23 02:03:01 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:45 2006 -0700"
      },
      "message": "[PATCH] zone handle unaligned zone boundaries\n\nThe buddy allocator has a requirement that boundaries between contigious\nzones occur aligned with the the MAX_ORDER ranges.  Where they do not we\nwill incorrectly merge pages cross zone boundaries.  This can lead to pages\nfrom the wrong zone being handed out.\n\nOriginally the buddy allocator would check that buddies were in the same\nzone by referencing the zone start and end page frame numbers.  This was\nremoved as it became very expensive and the buddy allocator already made\nthe assumption that zones boundaries were aligned.\n\nIt is clear that not all configurations and architectures are honouring\nthis alignment requirement.  Therefore it seems safest to reintroduce\nsupport for non-aligned zone boundaries.  This patch introduces a new check\nwhen considering a page a buddy it compares the zone_table index for the\ntwo pages and refuses to merge the pages where they do not match.  The\nzone_table index is unique for each node/zone combination when\nFLATMEM/DISCONTIGMEM is enabled and for each section/zone combination when\nSPARSEMEM is enabled (a SPARSEMEM section is at least a MAX_ORDER size).\n\nSigned-off-by: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "726c334223180e3c0197cc980a432681370d4baf",
      "tree": "8327b354bb3dc959a6606051ae6f8d4d035e38a2",
      "parents": [
        "454e2398be9b9fa30433fccc548db34d19aa9958"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jun 23 02:02:58 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:45 2006 -0700"
      },
      "message": "[PATCH] VFS: Permit filesystem to perform statfs with a known root dentry\n\nGive the statfs superblock operation a dentry pointer rather than a superblock\npointer.\n\nThis complements the get_sb() patch.  That reduced the significance of\nsb-\u003es_root, allowing NFS to place a fake root there.  However, NFS does\nrequire a dentry to use as a target for the statfs operation.  This permits\nthe root in the vfsmount to be used instead.\n\nlinux/mount.h has been added where necessary to make allyesconfig build\nsuccessfully.\n\nInterest has also been expressed for use with the FUSE and XFS filesystems.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Nathan Scott \u003cnathans@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "454e2398be9b9fa30433fccc548db34d19aa9958",
      "tree": "1f61cb0c3716a33b661cfc8977e9beeb480a322c",
      "parents": [
        "1ad5544098a69d7dc1fa508cbb17e13a7a952fd8"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jun 23 02:02:57 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:45 2006 -0700"
      },
      "message": "[PATCH] VFS: Permit filesystem to override root dentry on mount\n\nExtend the get_sb() filesystem operation to take an extra argument that\npermits the VFS to pass in the target vfsmount that defines the mountpoint.\n\nThe filesystem is then required to manually set the superblock and root dentry\npointers.  For most filesystems, this should be done with simple_set_mnt()\nwhich will set the superblock pointer and then set the root dentry to the\nsuperblock\u0027s s_root (as per the old default behaviour).\n\nThe get_sb() op now returns an integer as there\u0027s now no need to return the\nsuperblock pointer.\n\nThis patch permits a superblock to be implicitly shared amongst several mount\npoints, such as can be done with NFS to avoid potential inode aliasing.  In\nsuch a case, simple_set_mnt() would not be called, and instead the mnt_root\nand mnt_sb would be set directly.\n\nThe patch also makes the following changes:\n\n (*) the get_sb_*() convenience functions in the core kernel now take a vfsmount\n     pointer argument and return an integer, so most filesystems have to change\n     very little.\n\n (*) If one of the convenience function is not used, then get_sb() should\n     normally call simple_set_mnt() to instantiate the vfsmount. This will\n     always return 0, and so can be tail-called from get_sb().\n\n (*) generic_shutdown_super() now calls shrink_dcache_sb() to clean up the\n     dcache upon superblock destruction rather than shrink_dcache_anon().\n\n     This is required because the superblock may now have multiple trees that\n     aren\u0027t actually bound to s_root, but that still need to be cleaned up. The\n     currently called functions assume that the whole tree is rooted at s_root,\n     and that anonymous dentries are not the roots of trees which results in\n     dentries being left unculled.\n\n     However, with the way NFS superblock sharing are currently set to be\n     implemented, these assumptions are violated: the root of the filesystem is\n     simply a dummy dentry and inode (the real inode for \u0027/\u0027 may well be\n     inaccessible), and all the vfsmounts are rooted on anonymous[*] dentries\n     with child trees.\n\n     [*] Anonymous until discovered from another tree.\n\n (*) The documentation has been adjusted, including the additional bit of\n     changing ext2_* into foo_* in the documentation.\n\n[akpm@osdl.org: convert ipath_fs, do other stuff]\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Nathan Scott \u003cnathans@sgi.com\u003e\nCc: Roland Dreier \u003crolandd@cisco.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f4b8ea7849544114e9d3d682df4d400180854677",
      "tree": "502e33a7c2edaf9ffe899da39d0e7036128ccc12",
      "parents": [
        "c8a553ad7f0bf943047943a758cf07017819cb3c"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Thu Jun 22 16:00:11 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Jun 23 02:07:42 2006 -0700"
      },
      "message": "[NET]: fix net-core kernel-doc\n\nWarning(/var/linsrc/linux-2617-g4//include/linux/skbuff.h:304): No description found for parameter \u0027dma_cookie\u0027\nWarning(/var/linsrc/linux-2617-g4//include/net/sock.h:1274): No description found for parameter \u0027copied_early\u0027\nWarning(/var/linsrc/linux-2617-g4//net/core/dev.c:3309): No description found for parameter \u0027chan\u0027\nWarning(/var/linsrc/linux-2617-g4//net/core/dev.c:3309): No description found for parameter \u0027event\u0027\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c8a553ad7f0bf943047943a758cf07017819cb3c",
      "tree": "df54b3d8c241ca59c1cb626819d06ba5106adc33",
      "parents": [
        "09b8f7a93efd4b2c4ef391e2fbf076f28c6d36d6"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Thu Jun 22 14:28:09 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Jun 23 02:07:40 2006 -0700"
      },
      "message": "[TCP]: Move inclusion of \u003clinux/dmaengine.h\u003e to correct place in \u003clinux/tcp.h\u003e\n\nThe new \u003clinux/dmaengine.h\u003e header shouldn\u0027t be included from\nthe !__KERNEL__ portion of tcp.h\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "37c3185a02d4b85fbe134bf5204535405dd2c957",
      "tree": "7712fb706bb446b5b6a8ae25f365b4e135d9a1fb",
      "parents": [
        "f4c50d990dcf11a296679dc05de3873783236711"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Jun 22 03:07:29 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Jun 23 02:07:36 2006 -0700"
      },
      "message": "[NET]: Added GSO toggle\n\nThis patch adds a generic segmentation offload toggle that can be turned\non/off for each net device.  For now it only supports in TCPv4.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f4c50d990dcf11a296679dc05de3873783236711",
      "tree": "f4daf1c80fe591d45631e998b0b5d31d6fe76d85",
      "parents": [
        "f6a78bfcb141f963187464bac838d46a81c3882a"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Jun 22 03:02:40 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Jun 23 02:07:33 2006 -0700"
      },
      "message": "[NET]: Add software TSOv4\n\nThis patch adds the GSO implementation for IPv4 TCP.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f6a78bfcb141f963187464bac838d46a81c3882a",
      "tree": "fe30917dea1ab4cc046c6f1b8c1875373040c84a",
      "parents": [
        "7967168cefdbc63bf332d6b1548eca7cd65ebbcc"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Jun 22 02:57:17 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Jun 23 02:07:31 2006 -0700"
      },
      "message": "[NET]: Add generic segmentation offload\n\nThis patch adds the infrastructure for generic segmentation offload.\nThe idea is to tap into the potential savings of TSO without hardware\nsupport by postponing the allocation of segmented skb\u0027s until just\nbefore the entry point into the NIC driver.\n\nThe same structure can be used to support software IPv6 TSO, as well as\nUFO and segmentation offload for other relevant protocols, e.g., DCCP.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7967168cefdbc63bf332d6b1548eca7cd65ebbcc",
      "tree": "c45759149ae0acdc89d746e556a0ae278d11776d",
      "parents": [
        "d4828d85d188dc70ed172802e798d3978bb6e29e"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Jun 22 02:40:14 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Jun 23 02:07:29 2006 -0700"
      },
      "message": "[NET]: Merge TSO/UFO fields in sk_buff\n\nHaving separate fields in sk_buff for TSO/UFO (tso_size/ufo_size) is not\ngoing to scale if we add any more segmentation methods (e.g., DCCP).  So\nlet\u0027s merge them.\n\nThey were used to tell the protocol of a packet.  This function has been\nsubsumed by the new gso_type field.  This is essentially a set of netdev\nfeature bits (shifted by 16 bits) that are required to process a specific\nskb.  As such it\u0027s easy to tell whether a given device can process a GSO\nskb: you just have to and the gso_type field and the netdev\u0027s features\nfield.\n\nI\u0027ve made gso_type a conjunction.  The idea is that you have a base type\n(e.g., SKB_GSO_TCPV4) that can be modified further to support new features.\nFor example, if we add a hardware TSO type that supports ECN, they would\ndeclare NETIF_F_TSO | NETIF_F_TSO_ECN.  All TSO packets with CWR set would\nhave a gso_type of SKB_GSO_TCPV4 | SKB_GSO_TCPV4_ECN while all other TSO\npackets would be SKB_GSO_TCPV4.  This means that only the CWR packets need\nto be emulated in software.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5b057c6b1a25d57edf2b4d1e956e50936480a9ff",
      "tree": "e641febd6f562e0ed1198c160ff353ab513f0612",
      "parents": [
        "5fa21d821f6972e70942f2c555ec29dde962bdb2"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jun 23 02:06:41 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 23 02:06:41 2006 -0700"
      },
      "message": "[NET]: Avoid allocating skb in skb_pad\n\nFirst of all it is unnecessary to allocate a new skb in skb_pad since\nthe existing one is not shared.  More importantly, our hard_start_xmit\ninterface does not allow a new skb to be allocated since that breaks\nrequeueing.\n\nThis patch uses pskb_expand_head to expand the existing skb and linearize\nit if needed.  Actually, someone should sift through every instance of\nskb_pad on a non-linear skb as they do not fit the reasons why this was\noriginally created.\n\nIncidentally, this fixes a minor bug when the skb is cloned (tcpdump,\nTCP, etc.).  As it is skb_pad will simply write over a cloned skb.  Because\nof the position of the write it is unlikely to cause problems but still\nit\u0027s best if we don\u0027t do it.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "065a3e17baa36d1d48eb7376138820035b44775e",
      "tree": "556abb5dbeaad98fc5a66bd56f6a647dfbd22182",
      "parents": [
        "45c091bb2d453ce4a8b06cf19872ec7a77fc4799",
        "bfcbb00855db21dacd3c154ea13ec3fdd98e747b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 22 22:15:09 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 22 22:15:09 2006 -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: (33 commits)\n  [PATCH] myri10ge - drop workaround pci_save_state() disabling MSI\n  [PATCH] myri10ge - drop workaround for the missing AER ext cap on nVidia CK804\n  via-velocity: the link is not correctly detected when the device starts\n  [PATCH] add b44 to maintainers\n  [PATCH] WAN: ioremap() failure checks in drivers\n  [PATCH] WAN: register_hdlc_device() doesn\u0027t need dev_alloc_name()\n  [PATCH] skb_padto()-area fixes in 8390, wavelan\n  [PATCH] make drivers/net/forcedeth.c:nv_update_pause() static\n  [PATCH] network driver for Hilscher netx\n  [PATCH] Dereference in tokenring/olympic.c\n  [PATCH] Array overrun in drivers/net/wireless/wavelan.c\n  [PATCH] Remove useless check in drivers/net/pcmcia/xirc2ps_cs.c\n  [PATCH] 8139cp: add ethtool eeprom support\n  [PATCH] 8139cp: fix eeprom read command length\n  [PATCH] b44: update b44 Kconfig entry\n  [PATCH] b44: update version to 1.01\n  [PATCH] b44: add wol for old nic\n  [PATCH] b44: add parameter\n  [PATCH] b44: add wol\n  [PATCH] b44: fix manual speed/duplex/autoneg settings\n  ...\n"
    },
    {
      "commit": "45c091bb2d453ce4a8b06cf19872ec7a77fc4799",
      "tree": "06fb2e05518ebfba163f8424e028e7faf5672d66",
      "parents": [
        "d588fcbe5a7ba8bba2cebf7799ab2d573717a806",
        "2191fe3e39159e3375f4b7ec1420df149f154101"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 22 22:11:30 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 22 22:11:30 2006 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (139 commits)\n  [POWERPC] re-enable OProfile for iSeries, using timer interrupt\n  [POWERPC] support ibm,extended-*-frequency properties\n  [POWERPC] Extra sanity check in EEH code\n  [POWERPC] Dont look for class-code in pci children\n  [POWERPC] Fix mdelay badness on shared processor partitions\n  [POWERPC] disable floating point exceptions for init\n  [POWERPC] Unify ppc syscall tables\n  [POWERPC] mpic: add support for serial mode interrupts\n  [POWERPC] pseries: Print PCI slot location code on failure\n  [POWERPC] spufs: one more fix for 64k pages\n  [POWERPC] spufs: fail spu_create with invalid flags\n  [POWERPC] spufs: clear class2 interrupt status before wakeup\n  [POWERPC] spufs: fix Makefile for \"make clean\"\n  [POWERPC] spufs: remove stop_code from struct spu\n  [POWERPC] spufs: fix spu irq affinity setting\n  [POWERPC] spufs: further abstract priv1 register access\n  [POWERPC] spufs: split the Cell BE support into generic and platform dependant parts\n  [POWERPC] spufs: dont try to access SPE channel 1 count\n  [POWERPC] spufs: use kzalloc in create_spu\n  [POWERPC] spufs: fix initial state of wbox file\n  ...\n\nManually resolved conflicts in:\n\tdrivers/net/phy/Makefile\n\tinclude/asm-powerpc/spu.h\n"
    },
    {
      "commit": "ba6a13083c1b720a47c05bee7bedbb6ef06c4611",
      "tree": "26f9d8d37145fac426744f96ecf006ec0a481e31",
      "parents": [
        "47005f255ed126a4b48a1a2f63164fb1d83bcb0a"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Thu Jun 22 23:46:10 2006 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Thu Jun 22 23:46:10 2006 -0400"
      },
      "message": "[libata] Add host lock to struct ata_port\n\nPrepare for changes required to support SATA devices\nattached to SAS HBAs. For these devices we don\u0027t want to\nuse host_set at all, since libata will not be the owner\nof struct scsi_host.\n\nSigned-off-by: Brian King \u003cbrking@us.ibm.com\u003e\n\n(with slight merge modifications made by...)\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "47005f255ed126a4b48a1a2f63164fb1d83bcb0a",
      "tree": "bac4a73716af3d9cdb201f1bd83d65952fa2c988",
      "parents": [
        "3a778275626c0eb97674e92875efeba01189ce0e"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Jun 19 18:27:23 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Thu Jun 22 23:36:58 2006 -0400"
      },
      "message": "[PATCH] libata: implement per-dev EH action mask eh_info-\u003edev_action[]\n\nCurrently, the only per-dev EH action is REVALIDATE.  EH used to\nexploit ehi-\u003edev to do selective revalidation on a ATA bus.  However,\nthis is a bit hacky and makes it impossible to request selective\nrevalidation from outside of EH or add another per-dev EH action.\n\nThis patch adds per-dev EH action mask eh_info-\u003edev_action[] and\nupdate EH to use this field for REVALIDATE.  Note that per-dev actions\ncan still be specified at port-level and it has the same effect of\nspecifying the action for all devices on the port.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "4a31e348e3ecaf54c50240109ac4574b180f8840",
      "tree": "319978d90b95c7f1d4bf1fdfc552dc8850f330e7",
      "parents": [
        "aa95abefccc25efea5c8654bc3475e8161319b94"
      ],
      "author": {
        "name": "Krzysztof Halasa",
        "email": "khc@pm.waw.pl",
        "time": "Thu Jun 22 22:20:19 2006 +0200"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Thu Jun 22 23:32:03 2006 -0400"
      },
      "message": "[PATCH] WAN: register_hdlc_device() doesn\u0027t need dev_alloc_name()\n\nDavid Boggs noticed that register_hdlc_device() no longer needs\nto call dev_alloc_name() as it\u0027s called by register_netdev().\nregister_hdlc_device() is currently equivalent to register_netdev().\n\nhdlc_setup() is now EXPORTed as per David\u0027s request.\n\nSigned-off-by: Krzysztof Halasa \u003ckhc@pm.waw.pl\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "71d530cd1b6d97094481002a04c77fea1c8e1c22",
      "tree": "e786da7145d83c19a594adf76ed90d52c51058b1",
      "parents": [
        "d7a80dad2fe19a2b8c119c8e9cba605474a75a2b",
        "d588fcbe5a7ba8bba2cebf7799ab2d573717a806"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Thu Jun 22 22:11:56 2006 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Thu Jun 22 22:11:56 2006 -0400"
      },
      "message": "Merge branch \u0027master\u0027 into upstream\n\nConflicts:\n\n\tdrivers/scsi/libata-core.c\n\tdrivers/scsi/libata-scsi.c\n\tinclude/linux/pci_ids.h\n"
    },
    {
      "commit": "d588fcbe5a7ba8bba2cebf7799ab2d573717a806",
      "tree": "2c82f5d26bd9f2e2f82711ef58f3c7a1b6a9a4df",
      "parents": [
        "eaa8568901b3164197ce727c4c9b4067383e526c",
        "4941b395b3c2635a8c16d88791a789fb6ac6be43"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 22 15:08:56 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 22 15:08:56 2006 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/i2c-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/i2c-2.6: (44 commits)\n  [PATCH] I2C: I2C controllers go into right place on sysfs\n  [PATCH] hwmon-vid: Add support for Intel Core and Conroe\n  [PATCH] lm70: New hardware monitoring driver\n  [PATCH] hwmon: Fix the Kconfig header\n  [PATCH] i2c-i801: Merge setup function\n  [PATCH] i2c-i801: Better pci subsystem integration\n  [PATCH] i2c-i801: Cleanups\n  [PATCH] i2c-i801: Remove PCI function check\n  [PATCH] i2c-i801: Remove force_addr parameter\n  [PATCH] i2c-i801: Fix block transaction poll loops\n  [PATCH] scx200_acb: Documentation update\n  [PATCH] scx200_acb: Mark scx200_acb_probe __init\n  [PATCH] scx200_acb: Use PCI I/O resource when appropriate\n  [PATCH] i2c: Mark block write buffers as const\n  [PATCH] i2c-ocores: Minor cleanups\n  [PATCH] abituguru: Fix fan detection\n  [PATCH] abituguru: Review fixes\n  [PATCH] abituguru: New hardware monitoring driver\n  [PATCH] w83792d: Add missing data access locks\n  [PATCH] w83792d: Fix setting the PWM value\n  ...\n"
    },
    {
      "commit": "eaa8568901b3164197ce727c4c9b4067383e526c",
      "tree": "6dc48f016cfff6e1e5ce9278be819e1b651027b0",
      "parents": [
        "6c763eb9ead86c612492b59287b36c0dcf7d09b1",
        "c6976a4eb3c9ead165de950899b45db0840b8e30"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 22 15:08:34 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 22 15:08:34 2006 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/w1-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/w1-2.6:\n  [PATCH] w1: warning fix\n  [PATCH] w1: clean up W1_CON dependency.\n  [PATCH] drivers/w1/w1.c: fix a compile error\n  [PATCH] W1: fix dependencies of W1_SLAVE_DS2433_CRC\n  [PATCH] W1: possible cleanups\n  [PATCH] W1: cleanups\n  [PATCH] w1 exports\n  [PATCH] w1: Use mutexes instead of semaphores.\n  [PATCH] w1: Make w1 connector notifications depend on connector.\n  [PATCH] w1: netlink: Mark netlink group 1 as unused.\n  [PATCH] w1: Move w1-connector definitions into linux/include/connector.h\n  [PATCH] w1: Userspace communication protocol over connector.\n  [PATCH] w1: Replace dscore and ds_w1_bridge with ds2490 driver.\n  [PATCH] w1: Added default generic read/write operations.\n"
    },
    {
      "commit": "6c763eb9ead86c612492b59287b36c0dcf7d09b1",
      "tree": "46497ff44bcf909517bffac70f0d6c7ad45ae1f0",
      "parents": [
        "dcc1a66a09420ccc5a22671bddc5a842f92d67e5",
        "cf34a8e07f02c76f3f1232eecb681301a3d7b10b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 22 15:07:59 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 22 15:07:59 2006 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6: (27 commits)\n  [PATCH] PCI: nVidia quirk to make AER PCI-E extended capability visible\n  [PATCH] PCI: fix issues with extended conf space when MMCONFIG disabled because of e820\n  [PATCH] PCI: Bus Parity Status sysfs interface\n  [PATCH] PCI: fix memory leak in MMCONFIG error path\n  [PATCH] PCI: fix error with pci_get_device() call in the mpc85xx driver\n  [PATCH] PCI: MSI-K8T-Neo2-Fir: run only where needed\n  [PATCH] PCI: fix race with pci_walk_bus and pci_destroy_dev\n  [PATCH] PCI: clean up pci documentation to be more specific\n  [PATCH] PCI: remove unneeded msi code\n  [PATCH] PCI: don\u0027t move ioapics below PCI bridge\n  [PATCH] PCI: cleanup unused variable about msi driver\n  [PATCH] PCI: disable msi mode in pci_disable_device\n  [PATCH] PCI: Allow MSI to work on kexec kernel\n  [PATCH] PCI: AMD 8131 MSI quirk called too late, bus_flags not inherited ?\n  [PATCH] PCI: Move various PCI IDs to header file\n  [PATCH] PCI Bus Parity Status-broken hardware attribute, EDAC foundation\n  [PATCH] PCI: i386/x86_84: disable PCI resource decode on device disable\n  [PATCH] PCI ACPI: Rename the functions to avoid multiple instances.\n  [PATCH] PCI: don\u0027t enable device if already enabled\n  [PATCH] PCI: Add a \"enable\" sysfs attribute to the pci devices to allow userspace (Xorg) to enable devices without doing foul direct access\n  ...\n"
    },
    {
      "commit": "4f3865fb57a04db7cca068fed1c15badc064a302",
      "tree": "4c923c72b6ac9b633c87cc73b55a75c7cfd0f044",
      "parents": [
        "4f1bcaf094ccc512c23e10104c05a6f8e5b7a9e4"
      ],
      "author": {
        "name": "Richard Purdie",
        "email": "rpurdie@rpsys.net",
        "time": "Thu Jun 22 14:47:34 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 22 15:05:58 2006 -0700"
      },
      "message": "[PATCH] zlib_inflate: Upgrade library code to a recent version\n\nUpgrade the zlib_inflate implementation in the kernel from a patched\nversion 1.1.3/4 to a patched 1.2.3.\n\nThe code in the kernel is about seven years old and I noticed that the\nexternal zlib library\u0027s inflate performance was significantly faster (~50%)\nthan the code in the kernel on ARM (and faster again on x86_32).\n\nFor comparison the newer deflate code is 20% slower on ARM and 50% slower\non x86_32 but gives an approx 1% compression ratio improvement.  I don\u0027t\nconsider this to be an improvement for kernel use so have no plans to\nchange the zlib_deflate code.\n\nVarious changes have been made to the zlib code in the kernel, the most\nsignificant being the extra functions/flush option used by ppp_deflate.\nThis update reimplements the features PPP needs to ensure it continues to\nwork.\n\nThis code has been tested on ARM under both JFFS2 (with zlib compression\nenabled) and ppp_deflate and on x86_32.  JFFS2 sees an approx.  10% real\nworld file read speed improvement.\n\nThis patch also removes ZLIB_VERSION as it no longer has a correct value.\nWe don\u0027t need version checks anyway as the kernel\u0027s module handling will\ntake care of that for us.  This removal is also more in keeping with the\nzlib author\u0027s wishes (http://www.zlib.net/zlib_faq.html#faq24) and I\u0027ve\nadded something to the zlib.h header to note its a modified version.\n\nSigned-off-by: Richard Purdie \u003crpurdie@rpsys.net\u003e\nAcked-by: Joern Engel \u003cjoern@wh.fh-wedel.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0feae5c47aabdde59cbbec32d150e17102de37f0",
      "tree": "244f742d943a0516921180b840419fdc329075f0",
      "parents": [
        "de047c1bcd7f7bcfbdc29eb5b439fb332594da3f"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Jun 22 14:47:28 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 22 15:05:57 2006 -0700"
      },
      "message": "[PATCH] Fix dcache race during umount\n\nThe race is that the shrink_dcache_memory shrinker could get called while a\nfilesystem is being unmounted, and could try to prune a dentry belonging to\nthat filesystem.\n\nIf it does, then it will call in to iput on the inode while the dentry is\nno longer able to be found by the umounting process.  If iput takes a\nwhile, generic_shutdown_super could get all the way though\nshrink_dcache_parent and shrink_dcache_anon and invalidate_inodes without\never waiting on this particular inode.\n\nEventually the superblock gets freed anyway and if the iput tried to touch\nit (which some filesystems certainly do), it will lose.  The promised\n\"Self-destruct in 5 seconds\" doesn\u0027t lead to a nice day.\n\nThe race is closed by holding s_umount while calling prune_one_dentry on\nsomeone else\u0027s dentry.  As a down_read_trylock is used,\nshrink_dcache_memory will no longer try to prune the dentry of a filesystem\nthat is being unmounted, and unmount will not be able to start until any\nsuch active prune_one_dentry completes.\n\nThis requires that prune_dcache *knows* which filesystem (if any) it is\ndoing the prune on behalf of so that it can be careful of other\nfilesystems.  shrink_dcache_memory isn\u0027t called it on behalf of any\nfilesystem, and so is careful of everything.\n\nshrink_dcache_anon is now passed a super_block rather than the s_anon list\nout of the superblock, so it can get the s_anon list itself, and can pass\nthe superblock down to prune_dcache.\n\nIf prune_dcache finds a dentry that it cannot free, it leaves it where it\nis (at the tail of the list) and exits, on the assumption that some other\nthread will be removing that dentry soon.  To try to make sure that some\nwork gets done, a limited number of dnetries which are untouchable are\nskipped over while choosing the dentry to work on.\n\nI believe this race was first found by Kirill Korotaev.\n\nCc: Jan Blunck \u003cjblunck@suse.de\u003e\nAcked-by: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: Olaf Hering \u003colh@suse.de\u003e\nAcked-by: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c89681ed7d0e4a61d35bdc12c06c6733b718b2cb",
      "tree": "170d7c54d578480ba231dd690243aa21067ca253",
      "parents": [
        "09d967c6f32b35eab15b45862ae16e4f06259d8e"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Thu Jun 22 14:47:22 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 22 15:05:57 2006 -0700"
      },
      "message": "[PATCH] remove steal_locks()\n\nThis patch removes the steal_locks() function.\n\nsteal_locks() doesn\u0027t work correctly with any filesystem that does it\u0027s own\nlock management, including NFS, CIFS, etc.\n\nIn addition it has weird semantics on local filesystems in case tasks\nsharing file-descriptor tables are doing POSIX locking operations in\nparallel to execve().\n\nThe steal_locks() function has an effect on applications doing:\n\nclone(CLONE_FILES)\n  /* in child */\n  lock\n  execve\n  lock\n\nPOSIX locks acquired before execve (by \"child\", \"parent\" or any further\ntask sharing files_struct) will after the execve be owned exclusively by\n\"child\".\n\nAccording to Chris Wright some LSB/LTP kind of suite triggers without the\nstealing behavior, but there\u0027s no known real-world application that would\nalso fail.\n\nApps using NPTL are not affected, since all other threads are killed before\nexecve.\n\nApps using LinuxThreads are only affected if they\n\n  - have multiple threads during exec (LinuxThreads doesn\u0027t kill other\n    threads, the app may do it with pthread_kill_other_threads_np())\n  - rely on POSIX locks being inherited across exec\n\nBoth conditions are documented, but not their interaction.\n\nApps using clone() natively are affected if they\n\n  - use clone(CLONE_FILES)\n  - rely on POSIX locks being inherited across exec\n\nThe above scenarios are unlikely, but possible.\n\nIf the patch is vetoed, there\u0027s a plan B, that involves mostly keeping the\nweird stealing semantics, but changing the way lock ownership is handled so\nthat network and local filesystems work consistently.\n\nThat would add more complexity though, so this solution seems to be\npreferred by most people.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Matthew Wilcox \u003cwilly@debian.org\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0e5b3781591cc954037c08ef78edf7f1192d38c5",
      "tree": "252bc504e76564f232bd889481212eb53d407049",
      "parents": [
        "bec0e85910b95c325a008ead7c3bbe047cc39672"
      ],
      "author": {
        "name": "Brice Goglin",
        "email": "brice@myri.com",
        "time": "Thu Jun 22 14:47:20 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 22 15:05:56 2006 -0700"
      },
      "message": "[PATCH] PCI: Add PCI_CAP_ID_VNDR\n\nAdd the vendor-specific extended capability PCI_CAP_ID_VNDR.  It is required\nby the Myri-10G Ethernet driver.\n\nSigned-off-by: Brice Goglin \u003cbrice@myri.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "04c567d9313e4927b9835361d8ac0318ce65af6b",
      "tree": "d040ef59337342603f2cc30917493fb6a74a212a",
      "parents": [
        "d720024e94de4e8b7f10ee83c532926f3ad5d708"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Jun 22 14:47:18 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 22 15:05:56 2006 -0700"
      },
      "message": "[PATCH] Keys: Fix race between two instantiators of a key\n\nAdd a revocation notification method to the key type and calls it whilst\nthe key\u0027s semaphore is still write-locked after setting the revocation\nflag.\n\nThe patch then uses this to maintain a reference on the task_struct of the\nprocess that calls request_key() for as long as the authorisation key\nremains unrevoked.\n\nThis fixes a potential race between two processes both of which have\nassumed the authority to instantiate a key (one may have forked the other\nfor example).  The problem is that there\u0027s no locking around the check for\nrevocation of the auth key and the use of the task_struct it points to, nor\ndoes the auth key keep a reference on the task_struct.\n\nAccess to the \"context\" pointer in the auth key must thenceforth be done\nwith the auth key semaphore held.  The revocation method is called with the\ntarget key semaphore held write-locked and the search of the context\nprocess\u0027s keyrings is done with the auth key semaphore read-locked.\n\nThe check for the revocation state of the auth key just prior to searching\nit is done after the auth key is read-locked for the search.  This ensures\nthat the auth key can\u0027t be revoked between the check and the search.\n\nThe revocation notification method is added so that the context task_struct\ncan be released as soon as instantiation happens rather than waiting for\nthe auth key to be destroyed, thus avoiding the unnecessary pinning of the\nrequesting process.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d720024e94de4e8b7f10ee83c532926f3ad5d708",
      "tree": "8f21613c29a26bfbeb334cb0104b8b998b09fbdc",
      "parents": [
        "f893afbe1262e27e91234506f72e17716190dd2f"
      ],
      "author": {
        "name": "Michael LeMay",
        "email": "mdlemay@epoch.ncsc.mil",
        "time": "Thu Jun 22 14:47:17 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 22 15:05:55 2006 -0700"
      },
      "message": "[PATCH] selinux: add hooks for key subsystem\n\nIntroduce SELinux hooks to support the access key retention subsystem\nwithin the kernel.  Incorporate new flask headers from a modified version\nof the SELinux reference policy, with support for the new security class\nrepresenting retained keys.  Extend the \"key_alloc\" security hook with a\ntask parameter representing the intended ownership context for the key\nbeing allocated.  Attach security information to root\u0027s default keyrings\nwithin the SELinux initialization routine.\n\nHas passed David\u0027s testsuite.\n\nSigned-off-by: Michael LeMay \u003cmdlemay@epoch.ncsc.mil\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bb5427b5466782ba0bbf56a4ed752e08b65a5d08",
      "tree": "e59a0c4c6fa7ede28cfc245d320dda467831ddf7",
      "parents": [
        "b6043fcab4b2b06b9fcde4c783ab253cdc2c1129"
      ],
      "author": {
        "name": "Evgeniy Polyakov",
        "email": "johnpol@2ka.mipt.ru",
        "time": "Thu Mar 23 19:11:58 2006 +0300"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jun 22 11:22:50 2006 -0700"
      },
      "message": "[PATCH] w1: netlink: Mark netlink group 1 as unused.\n\nnetlink_w1 was moved to connector.\n\nSigned-off-by: Evgeniy Polyakov \u003cjohnpol@2ka.mipt.ru\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "b6043fcab4b2b06b9fcde4c783ab253cdc2c1129",
      "tree": "fd89df381e6d0beabf41f11be5fdc2b7bfe941d6",
      "parents": [
        "12003375acd879e498c6c511faf27531296f9640"
      ],
      "author": {
        "name": "Evgeniy Polyakov",
        "email": "johnpol@2ka.mipt.ru",
        "time": "Thu Mar 23 19:11:58 2006 +0300"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jun 22 11:22:50 2006 -0700"
      },
      "message": "[PATCH] w1: Move w1-connector definitions into linux/include/connector.h\n\nSigned-off-by: Evgeniy Polyakov \u003cjohnpol@2ka.mipt.ru\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "46f5ed753fac512f73069bd07455555b41a8a06e",
      "tree": "fd36fabe80349967a71efa373e2ad42c12b1af3b",
      "parents": [
        "1ded969fb97fba33e7310ef95f0b3e3123d4d92a"
      ],
      "author": {
        "name": "Krzysztof Halasa",
        "email": "khc@pm.waw.pl",
        "time": "Mon Jun 12 21:42:20 2006 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jun 22 11:10:34 2006 -0700"
      },
      "message": "[PATCH] i2c: Mark block write buffers as const\n\nThe attached patch marks i2c_smbus_write_block_data() and\ni2c_smbus_write_i2c_block_data() buffers as const.\n\nSigned-off-by: Krzysztof Halasa \u003ckhc@pm.waw.pl\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "18f98b1e3147afdb51e545cc6ff2b016c7d088a7",
      "tree": "5f974b01a7efadabe037ace19a0f33037d36a4b7",
      "parents": [
        "aee62305345863430a937af289b9bd080a100dac"
      ],
      "author": {
        "name": "Peter Korsgaard",
        "email": "jacmet@sunsite.dk",
        "time": "Sun Jun 04 20:01:08 2006 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jun 22 11:10:33 2006 -0700"
      },
      "message": "[PATCH] i2c: New bus driver for the OpenCores I2C controller\n\nThe following patch adds support for the OpenCores I2C controller IP\ncore (See http://www.opencores.org/projects.cgi/web/i2c/overview).\n\nSigned-off-by: Peter Korsgaard \u003cjacmet@sunsite.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "5c7ae65899a4c5b05b6277f856018d1eeeb98907",
      "tree": "e59ee9f28b3e07bdb0a0716c058cfde0fd867ee1",
      "parents": [
        "f9ba6c04ef1dcf16f7179b7883e9751baaac218e"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Tue Apr 25 14:18:16 2006 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jun 22 11:10:33 2006 -0700"
      },
      "message": "[PATCH] I2C: i2c-nforce2: Add support for the nForce4 MCP51 and MCP55\n\nAdd support for the new nForce4 MCP51 (also known as nForce 410 or\n430) and nForce4 MCP55 to the i2c-nforce2 driver. Some code changes\nwere required because the base I/O address registers have changed in\nthese versions. Standard BARs are now being used, while the original\nnForce2 chips used non-standard ones.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "5e9f4f2e5a02bb6908278a819952aa31fffefaa2",
      "tree": "6f000080ee15597f9523de0e6d31b192bdb0aaec",
      "parents": [
        "e931b8d8a428f87e6ea488d2fd80007bb66b3ea8"
      ],
      "author": {
        "name": "Mark A. Greer",
        "email": "mgreer@mvista.com",
        "time": "Tue Apr 25 13:04:54 2006 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jun 22 11:10:32 2006 -0700"
      },
      "message": "[PATCH] I2C: m41t00: Add support for the ST M41T81 and M41T85\n\nThis patch adds support for the ST m41t81 and m41t85 i2c rtc chips\nto the existing m41t00 driver.\n\nSince there is no way to reliably determine what type of rtc chip\nis in use, the chip type is passed in via platform_data.  The i2c\naddress and square wave frequency are passed in via platform_data\nas well.  To accommodate the use of platform_data, a new header\nfile include/linux/m41t00.h has been added.\n\nThe m41t81 and m41t85 chips halt the updating of their time registers\nwhile they are being accessed.  They resume when a stop condition\nexists on the i2c bus or when non-time related regs are accessed.\nTo make the best use of that facility and to make more efficient\nuse of the i2c bus, this patch replaces multiple i2c_smbus_xxx calls\nwith a single i2c_transfer call.\n\nSigned-off-by: Mark A. Greer \u003cmgreer@mvista.com\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "02e0c5d5c2e00374b6808a42f8eea4ea9baaa216",
      "tree": "13ab61631d66e9fe83d8abd47e774e90c90239e1",
      "parents": [
        "400b48ecd95a7fac6b126042d37b7efe0202b582"
      ],
      "author": {
        "name": "Rudolf Marek",
        "email": "r.marek@sh.cvut.cz",
        "time": "Thu Mar 23 16:48:09 2006 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jun 22 11:10:32 2006 -0700"
      },
      "message": "[PATCH] i2c-piix4: Add ATI IXP200/300/400 support\n\nThis patch adds the ATI IXP southbridges support to i2c-piix4,\nas it turned out those chips are compatible with it.\n\nSigned-off-by: Rudolf Marek \u003cr.marek@sh.cvut.cz\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "bd00949647ddcea47ce4ea8bb2cfcfc98ebf9f2a",
      "tree": "89086a5b63caf798086efbe7d3bb1094c8fa4d38",
      "parents": [
        "c182274ffe1277f4e7c564719a696a37cacf74ea"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jun 20 13:09:50 2006 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jun 21 15:04:19 2006 -0700"
      },
      "message": "[PATCH] USB: convert usb class devices to real devices\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "c182274ffe1277f4e7c564719a696a37cacf74ea",
      "tree": "0e9df4d75ff12dcefad3058b3509b2f2b09202bc",
      "parents": [
        "9bde7497e0b54178c317fac47a18be7f948dd471"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 19 23:59:31 2006 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jun 21 15:04:19 2006 -0700"
      },
      "message": "[PATCH] USB: move usb_device_class class devices to be real devices\n\nThis moves the usb class devices that control the usbfs nodes to show up\nin the proper place in the larger device tree.\n\nNo userspace changes is needed, this is compatible due to the symlinks\ngenerated by the driver core.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "9bde7497e0b54178c317fac47a18be7f948dd471",
      "tree": "395a1c86801a1ba1bd04a007ffac3c5a73d9f27d",
      "parents": [
        "36679ea59846d8f34a48f71ca1a37671ca0ad3c5"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jun 14 12:14:34 2006 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jun 21 15:04:19 2006 -0700"
      },
      "message": "[PATCH] USB: make endpoints real struct devices\n\nThis will allow for us to give endpoints a major/minor to create a\n\"usbfs2-like\" way to access endpoints directly from userspace in an\neasier manner than the current usbfs provides us.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "ae0dadcf0f912cbab2ac84caa437454620bf71b2",
      "tree": "8ad54ef4ddb8615256ee71196cbfca912e647a5c",
      "parents": [
        "325a4af60dc945bf2da9cbcdbabb276e312b297c"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Tue Jun 13 10:04:34 2006 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jun 21 15:04:18 2006 -0700"
      },
      "message": "[PATCH] USB: move \u003clinux/usb_input.h\u003e to \u003clinux/usb/input.h\u003e\n\nMove \u003clinux/usb_input.h\u003e to \u003clinux/usb/input.h\u003e and remove some\nredundant includes.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "325a4af60dc945bf2da9cbcdbabb276e312b297c",
      "tree": "05a6eeaf6c820485a011b3bcd40070c38b753abd",
      "parents": [
        "a8c28f2389942bab376e39351d27525499630248"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Tue Jun 13 09:59:32 2006 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jun 21 15:04:18 2006 -0700"
      },
      "message": "[PATCH] USB: move hardware-specific \u003clinux/usb_*.h\u003e to \u003clinux/usb/*.h\u003e\n\nThis moves header files for controller-specific platform data\nfrom \u003clinux/usb_XXX.h\u003e to \u003clinux/usb/XXX.h\u003e to start reducing\nsome clutter.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "a8c28f2389942bab376e39351d27525499630248",
      "tree": "a1e8aaa3eefbf2730a06e7ca16084d8ad7c94d90",
      "parents": [
        "7e27f18c8a37ffb95f677e4e9c3cca818a3e9eb1"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Tue Jun 13 09:57:47 2006 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jun 21 15:04:18 2006 -0700"
      },
      "message": "[PATCH] USB: move \u003clinux/usb_cdc.h\u003e to \u003clinux/usb/cdc.h\u003e\n\nThis moves \u003clinux/usb_cdc.h\u003e to \u003clinux/usb/cdc.h\u003e to reduce some of the\nclutter of usb header files.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "79efa097e75018a2918155f343f0e08e61ee8a8c",
      "tree": "336237ca96191aeb9cac6ed8706bc479545f3108",
      "parents": [
        "efcaa20525fde82bbb4fb8cd9e9016f6fabc6509"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Thu Jun 01 13:33:42 2006 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jun 21 15:04:15 2006 -0700"
      },
      "message": "[PATCH] usbcore: port reset for composite devices\n\nThis patch (as699) adds usb_reset_composite_device(), a routine for\nsending a USB port reset to a device with multiple interfaces owned by\ndifferent drivers.  Drivers are notified about impending and completed\nresets through two new methods in the usb_driver structure.\n\nThe patch modifieds the usbfs ioctl code to make it use the new routine\ninstead of usb_reset_device().  Follow-up patches will modify the hub,\nusb-storage, and usbhid drivers so they can utilize this new API.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "782a7a632e4b0581ade665e3d89ee97c8db0f441",
      "tree": "3d2e829e4581ff2be519429d8ed81d2fc2305333",
      "parents": [
        "caa2a1226741e023a103e091a7f6dce7c42e82ee"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri May 19 13:20:20 2006 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jun 21 15:04:12 2006 -0700"
      },
      "message": "[PATCH] USB: add usb_interrupt_msg() function for api completeness.\n\nReally just a wrapper around usb_bulk_msg() but now it\u0027s documented\nmuch better.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "1323523f505606cfd24af6122369afddefc3b09d",
      "tree": "a3238a27220dd91ec0918478683e59e48605865f",
      "parents": [
        "9ba89334552b96e2127dcafb1c46ce255ecf2667",
        "32e62c636a728cb39c0b3bd191286f2ca65d4028"
      ],
      "author": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Wed Jun 21 14:50:10 2006 -0700"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Wed Jun 21 14:50:10 2006 -0700"
      },
      "message": "Pull rework-memory-attribute-aliasing into release branch\n"
    },
    {
      "commit": "a5117ba7da37deb09df5eb802dace229b3fb1e9f",
      "tree": "eec1e160cbc11a4a1dae107ed27d92c991f5fcf6",
      "parents": [
        "3e95637a48820ff8bedb33e6439def96ccff1de5"
      ],
      "author": {
        "name": "Rene Herman",
        "email": "rene.herman@keyaccess.nl",
        "time": "Tue Jun 06 23:54:02 2006 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jun 21 12:40:49 2006 -0700"
      },
      "message": "[PATCH] Driver model: add ISA bus\n\nDuring the recent \"isa drivers using platform devices\" discussion it was\npointed out that (ALSA) ISA drivers ran into the problem of not having\nthe option to fail driver load (device registration rather) upon not\nfinding their hardware due to a probe() error not being passed up\nthrough the driver model. In the course of that, I suggested a seperate\nISA bus might be best; Russell King agreed and suggested this bus could\nuse the .match() method for the actual device discovery.\n\nThe attached does this. For this old non (generically) discoverable ISA\nhardware only the driver itself can do discovery so as a difference with\nthe platform_bus, this isa_bus also distributes match() up to the driver.\n\nAs another difference: these devices only exist in the driver model due\nto the driver creating them because it might want to drive them, meaning\nthat all device creation has been made internal as well.\n\nThe usage model this provides is nice, and has been acked from the ALSA\nside by Takashi Iwai and Jaroslav Kysela. The ALSA driver module_init\u0027s\nnow (for oldisa-only drivers) become:\n\nstatic int __init alsa_card_foo_init(void)\n{\n\treturn isa_register_driver(\u0026snd_foo_isa_driver, SNDRV_CARDS);\n}\n\nstatic void __exit alsa_card_foo_exit(void)\n{\n\tisa_unregister_driver(\u0026snd_foo_isa_driver);\n}\n\nQuite like the other bus models therefore. This removes a lot of\nduplicated init code from the ALSA ISA drivers.\n\nThe passed in isa_driver struct is the regular driver struct embedding a\nstruct device_driver, the normal probe/remove/shutdown/suspend/resume\ncallbacks, and as indicated that .match callback.\n\nThe \"SNDRV_CARDS\" you see being passed in is a \"unsigned int ndev\"\nparameter, indicating how many devices to create and call our methods with.\n\nThe platform_driver callbacks are called with a platform_device param;\nthe isa_driver callbacks are being called with a \"struct device *dev,\nunsigned int id\" pair directly -- with the device creation completely\ninternal to the bus it\u0027s much cleaner to not leak isa_dev\u0027s by passing\nthem in at all. The id is the only thing we ever want other then the\nstruct device * anyways, and it makes for nicer code in the callbacks as\nwell.\n\nWith this additional .match() callback ISA drivers have all options. If\nALSA would want to keep the old non-load behaviour, it could stick all\nof the old .probe in .match, which would only keep them registered after\neverything was found to be present and accounted for. If it wanted the\nbehaviour of always loading as it inadvertently did for a bit after the\nchangeover to platform devices, it could just not provide a .match() and\ndo everything in .probe() as before.\n\nIf it, as Takashi Iwai already suggested earlier as a way of following\nthe model from saner buses more closely, wants to load when a later bind\ncould conceivably succeed, it could use .match() for the prerequisites\n(such as checking the user wants the card enabled and that port/irq/dma\nvalues have been passed in) and .probe() for everything else. This is\nthe nicest model.\n\nTo the code...\n\nThis exports only two functions; isa_{,un}register_driver().\n\nisa_register_driver() register\u0027s the struct device_driver, and then\nloops over the passed in ndev creating devices and registering them.\nThis causes the bus match method to be called for them, which is:\n\nint isa_bus_match(struct device *dev, struct device_driver *driver)\n{\n          struct isa_driver *isa_driver \u003d to_isa_driver(driver);\n\n          if (dev-\u003eplatform_data \u003d\u003d isa_driver) {\n                  if (!isa_driver-\u003ematch ||\n                          isa_driver-\u003ematch(dev, to_isa_dev(dev)-\u003eid))\n                          return 1;\n                  dev-\u003eplatform_data \u003d NULL;\n          }\n          return 0;\n}\n\nThe first thing this does is check if this device is in fact one of this\ndriver\u0027s devices by seeing if the device\u0027s platform_data pointer is set\nto this driver. Platform devices compare strings, but we don\u0027t need to\ndo that with everything being internal, so isa_register_driver() abuses\ndev-\u003eplatform_data as a isa_driver pointer which we can then check here.\nI believe platform_data is available for this, but if rather not, moving\nthe isa_driver pointer to the private struct isa_dev is ofcourse fine as\nwell.\n\nThen, if the the driver did not provide a .match, it matches. If it did,\nthe driver match() method is called to determine a match.\n\nIf it did _not_ match, dev-\u003eplatform_data is reset to indicate this to\nisa_register_driver which can then unregister the device again.\n\nIf during all this, there\u0027s any error, or no devices matched at all\neverything is backed out again and the error, or -ENODEV, is returned.\n\nisa_unregister_driver() just unregisters the matched devices and the\ndriver itself.\n\nMore global points/questions...\n\n- I\u0027m introducing include/linux/isa.h. It was available but is ofcourse\na somewhat generic name. Moving more isa stuff over to it in time is\nofcourse fine, so can I have it please? :)\n\n- I\u0027m using device_initcall() and added the isa.o (dependent on\nCONFIG_ISA) after the base driver model things in the Makefile. Will\nthis do, or I really need to stick it in drivers/base/init.c, inside\n#ifdef CONFIG_ISA? It\u0027s working fine.\n\nLastly -- I also looked, a bit, into integrating with PnP. \"Old ISA\"\ncould be another pnp_protocol, but this does not seem to be a good\nmatch, largely due to the same reason platform_devices weren\u0027t -- the\ndevices do not have a life of their own outside the driver, meaning the\npnp_protocol {get,set}_resources callbacks would need to callback into\ndriver -- which again means you first need to _have_ that driver. Even\nif there\u0027s clean way around that, you only end up inventing fake but\nvalid-form PnP IDs and generally catering to the PnP layer without any\npractical advantages over this very simple isa_bus. The thing I also\nsuggested earlier about the user echoing values into /sys to set up the\nhardware from userspace first is... well, cute, but a horrible idea from\na user standpoint.\n\nComments ofcourse appreciated. Hope it\u0027s okay. As said, the usage model\nis nice at least.\n\nSigned-off-by: Rene Herman \u003crene.herman@keyaccess.nl\u003e\n"
    }
  ],
  "next": "3e95637a48820ff8bedb33e6439def96ccff1de5"
}
