)]}'
{
  "log": [
    {
      "commit": "8ab68ab420d5fc084b8cdd76a72df72c5e1cdb5d",
      "tree": "6aef86d06a5eda99f09ac00c1af4084c2d49d2ac",
      "parents": [
        "f05c463be51898e745c4aa8245b05e25d73fa975",
        "7b255436df0543856faaae4704034fe83bc20717"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 17:30:26 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 17:30:26 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (35 commits)\n  siimage: coding style cleanup (take 2)\n  ide-cd: clean up cdrom_analyze_sense_data()\n  ide-cd: fix test unsigned var \u003c 0\n  ide: add TSSTcorp CDDVDW SH-S202H to ivb_list[]\n  piix: add Asus Eee 701 controller to short cable list\n  ARM: always select HAVE_IDE\n  remove the broken ETRAX_IDE driver\n  ide: remove -\u003edma_prdtable field from ide_hwif_t\n  ide: remove -\u003edma_vendor{1,3} fields from ide_hwif_t\n  scc_pata: add -\u003edma_host_set and -\u003edma_start methods\n  ide: skip \"VLB sync\" if host uses MMIO\n  ide: add ide_pad_transfer() helper\n  ide: remove -\u003eINW and -\u003eOUTW methods\n  ide: use IDE I/O helpers directly in ide_tf_{load,read}()\n  ns87415: add -\u003etf_read method\n  scc_pata: add -\u003etf_{load,read} methods\n  ide-h8300: add -\u003etf_{load,read} methods\n  ide-cris: add -\u003etf_{load,read} methods\n  ide: add -\u003etf_load and -\u003etf_read methods\n  ide: move ide_tf_{load,read} to ide-iops.c\n  ...\n"
    },
    {
      "commit": "55224bc86a39409d55e47fd45573642ac709bb8f",
      "tree": "979fd9840607e4bca7a62347224d9b8207fb66e3",
      "parents": [
        "41051a141dcc67f4c5011a2ab2b547e80b9ac509"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Mon Apr 28 23:44:42 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Mon Apr 28 23:44:42 2008 +0200"
      },
      "message": "ide: remove -\u003edma_prdtable field from ide_hwif_t\n\n* Use \u0027hwif-\u003edma_base + {4,8}\u0027 instead of hwif-\u003edma_prdtable in\n  {ide,scc}_dma_setup().\n\n* Remove no longer needed -\u003edma_prdtable field from ide_hwif_t.\n\nWhile at it:\n\n* Use ATA_DMA_TABLE_OFS define.\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "41051a141dcc67f4c5011a2ab2b547e80b9ac509",
      "tree": "8b89b621964f26b2bf42c31478f4122d6145172e",
      "parents": [
        "669185e98c242fa4dcd68cf11899412da1a70dd7"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Mon Apr 28 23:44:42 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Mon Apr 28 23:44:42 2008 +0200"
      },
      "message": "ide: remove -\u003edma_vendor{1,3} fields from ide_hwif_t\n\n* Use \u0027hwif-\u003edma_base + {1,3}\u0027 instead of hwif-\u003edma_vendor{1,3} in\n  pdc202xx_new host driver.\n\n* Remove no longer needed -\u003edma_vendor{1,3} fields from ide_hwif_t.\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "9f87abe892f899f19df8d472f937ee955cd6264b",
      "tree": "f42dda5a9c12c043e3190de7dd43b0cee8e00c8b",
      "parents": [
        "7c0daf2681f140dd9f39cd95966f471b5c904d8a"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Mon Apr 28 23:44:41 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Mon Apr 28 23:44:41 2008 +0200"
      },
      "message": "ide: add ide_pad_transfer() helper\n\n* Add ide_pad_transfer() helper (which uses -\u003e{in,out}put_data methods\n  internally so the transfer is also padded to drive+host requirements)\n  and use it instead of ide_atapi_{write_zeros,discard_data}().\n\n* Remove no longer needed ide_atapi_{write_zeros,discard_data}().\n\nCc: Borislav Petkov \u003cpetkovbb@gmail.com\u003e\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "7c0daf2681f140dd9f39cd95966f471b5c904d8a",
      "tree": "b8ea0e987f5d2121f4f4e564c05d834c3ce30a89",
      "parents": [
        "ca545c1e75cd017bfd9a9b6c4f81f9b82ba20947"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Mon Apr 28 23:44:41 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Mon Apr 28 23:44:41 2008 +0200"
      },
      "message": "ide: remove -\u003eINW and -\u003eOUTW methods\n\n* Remove no longer used -\u003eINW and -\u003eOUTW methods.\n\nWhile at it:\n\n* scc_pata.c: scc_ide_{out,in}w() is called only in scc_tf_{load,read}()\n  so inline it there.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "94cd5b62ff9bb07ef065333eb97438f115a75890",
      "tree": "c09f78987100b745ee5bb67df953469c0d24e618",
      "parents": [
        "d309e0bb8e5f29692f10790f3e966f05bbfc9355"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Mon Apr 28 23:44:40 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Mon Apr 28 23:44:40 2008 +0200"
      },
      "message": "ide: add -\u003etf_load and -\u003etf_read methods\n\n* Add -\u003etf_load and -\u003etf_read methods to ide_hwif_t and set the default\n  methods in default_hwif_transport().\n\n* Use -\u003etf_{load,read} instead o calling ide_tf_{load,read}() directly.\n\n* Make ide_tf_{load,read}() static.\n\nThere should be no functional changes caused by this patch.\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "089c5c7e0089c3461545be936bcd236cbf16b79a",
      "tree": "c4708699e6997d2fb0d9f5734dfcd17a766985a2",
      "parents": [
        "1fc142589e58b20a67582974b8848595a2c7432e"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Mon Apr 28 23:44:39 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Mon Apr 28 23:44:39 2008 +0200"
      },
      "message": "ide: factor out debugging code from ide_tf_load()\n\nFactor out debugging code from ide_tf_load() to ide_tf_dump() helper\nand update ide_tf_load() users accordingly.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "1fc142589e58b20a67582974b8848595a2c7432e",
      "tree": "79b2006e761c70876d66a735fb30036cefb3f3e9",
      "parents": [
        "3910dde6410e742f8bd3f516ee9b1a7114abbad0"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Mon Apr 28 23:44:39 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Mon Apr 28 23:44:39 2008 +0200"
      },
      "message": "ide: add ide_execute_pkt_cmd() helper\n\nAdd ide_execute_pkt_cmd() helper for executing PACKET command,\nthen convert ATAPI device drivers to use it.\n\nAs a nice side-effect this fixes ide-{floppy,tape,scsi} w.r.t.\nide_lock taking (ide-cd was OK).\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "16bb69c14a42e64faef1ec5c724ffaca916347a1",
      "tree": "fd9abaf615c57183ad1ce09afd976c4fd1fefbe5",
      "parents": [
        "c5dd43ec65c1e1e378df043d517d40ed70a32cbe"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Mon Apr 28 23:44:37 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Mon Apr 28 23:44:37 2008 +0200"
      },
      "message": "ide: remove -\u003eINS{W,L} and -\u003eOUTS{W,L} methods\n\n* Use ins{w,l}()/outs{w,l}() and __ide_mm_ins{w,l}()/__ide_mm_outs{w,l}()\n  directly in ata_{in,out}put_data() (by using IDE_HFLAG_MMIO host flag to\n  decide which I/O ops are required).\n\n* Remove no longer needed -\u003eINS{W,L} and -\u003eOUTS{W,L} methods (ide-h8300,\n  au1xxx-ide and scc_pata implement their own -\u003e{in,out}put_data methods).\n\nThere should be no functional changes caused by this patch.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "c5dd43ec65c1e1e378df043d517d40ed70a32cbe",
      "tree": "f2bfaedd3454d163c4792f79d440b344d33fd42a",
      "parents": [
        "f04ff9cbb6389a6db64659cf917a1b6ac159f9f2"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Mon Apr 28 23:44:37 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Mon Apr 28 23:44:37 2008 +0200"
      },
      "message": "ide: add IDE_HFLAG_MMIO host flag (take 2)\n\n* Add IDE_HFLAG_MMIO host flag and set it for hosts which use\n  default_hwif_mmiops().\n\nv2:\n* Fix kernel panic in pmac host driver (\u0027,\u0027 should be \u0027|\u0027).\n\n  Thanks to Kamalesh for reporting it + testing the fix\n  and to Andrew for hinting me about the source of the issue.\n\nCc: Kamalesh Babulal \u003ckamalesh@linux.vnet.ibm.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "9567b349f7e7dd7e2483db99ee8e4a6fe0caca38",
      "tree": "29abab829b52a451567f8da4280d101fafa44527",
      "parents": [
        "92d3ab27e8fd23d1a9dc3b69d17b2afb83e5c6f5"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Mon Apr 28 23:44:36 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Mon Apr 28 23:44:36 2008 +0200"
      },
      "message": "ide: merge -\u003eatapi_*put_bytes and -\u003eata_*put_data methods\n\n* Merge -\u003eatapi_{in,out}put_bytes and -\u003eata_{in,out}put_data methods\n  into new -\u003e{in,out}put_data methods which take number of bytes to\n  transfer as an argument and always do padding.\n\nWhile at it:\n\n* Use \u0027hwif\u0027 or \u0027drive-\u003ehwif\u0027 instead of \u0027HWIF(drive)\u0027.\n\nThere should be no functional changes caused by this patch (all users\nof -\u003eata_{in,out}put_data methods were using multiply-of-4 word counts).\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "92d3ab27e8fd23d1a9dc3b69d17b2afb83e5c6f5",
      "tree": "e58076cb0102443dfe76401931a41931f97053cf",
      "parents": [
        "284aa76b5339ce79d5ad2ac1c7cbf717082816a7"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Mon Apr 28 23:44:36 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Mon Apr 28 23:44:36 2008 +0200"
      },
      "message": "falconide/q40ide: add -\u003eatapi_*put_bytes and -\u003eata_*put_data methods (take 2)\n\n* Add -\u003eatapi_{in,out}put_bytes and -\u003eata_{in,out}put_data methods to\n  falconide and q40ide host drivers (-\u003eata_* methods are implemented on\n  top of -\u003eatapi_* methods so they also do byte-swapping now).\n\n* Cleanup atapi_{in,out}put_bytes().\n\nv2:\n* Add \u0027struct request *rq\u0027 argument to -\u003eata_{in,out}put_data methods\n  and don\u0027t byte-swap disk fs requests (we shouldn\u0027t un-swap fs requests\n  because fs itself is stored byte-swapped on the disk) - this is how\n  things were done before the patch (ideally device mapper should be\n  used instead but it would break existing setups and would have some\n  performance impact).\n\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Michael Schmitz \u003cschmitz@debian.org\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Richard Zidlicky \u003crz@linux-m68k.org\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "e97e386b126c2d60b8da61ce1e4964b41b3d1514",
      "tree": "7e04b7f735004330777200c6742568fc130ff893",
      "parents": [
        "d9dedc13851f9cbd568fbc631a17b0be83404957",
        "c124f5b54f879e5870befcc076addbd5d614663f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 14:08:56 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 14:08:56 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6:\n  slub: pack objects denser\n  slub: Calculate min_objects based on number of processors.\n  slub: Drop DEFAULT_MAX_ORDER / DEFAULT_MIN_OBJECTS\n  slub: Simplify any_slab_object checks\n  slub: Make the order configurable for each slab cache\n  slub: Drop fallback to page allocator method\n  slub: Fallback to minimal order during slab page allocation\n  slub: Update statistics handling for variable order slabs\n  slub: Add kmem_cache_order_objects struct\n  slub: for_each_object must be passed the number of objects in a slab\n  slub: Store max number of objects in the page struct.\n  slub: Dump list of objects not freed on kmem_cache_close()\n  slub: free_list() cleanup\n  slub: improve kmem_cache_destroy() error message\n  slob: fix bug - when slob allocates \"struct kmem_cache\", it does not force alignment.\n"
    },
    {
      "commit": "e31a94ed371c70855eb30b77c490d6d85dd4da26",
      "tree": "58d9f1a75a22319f97731db8d9ac07b78a8d8aaf",
      "parents": [
        "9d9ad4b51d2b29b5bbeb4011f5e76f7538119cf9",
        "fcbd3b4b92efe29b59df16b910138cf43683be88"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 10:51:43 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 10:51:43 2008 -0700"
      },
      "message": "Merge branch \u0027upstream\u0027 of git://ftp.linux-mips.org/pub/scm/upstream-linus\n\n* \u0027upstream\u0027 of git://ftp.linux-mips.org/pub/scm/upstream-linus: (45 commits)\n  [MIPS] Pb1200/DBAu1200: move platform code to its proper place\n  [MIPS] Fix handling of trap and breakpoint instructions\n  [MIPS] Pb1200: do register SMC 91C111\n  [MIPS] DBAu1200: fix bad SMC 91C111 resource size\n  [NET] Kconfig: Rename MIKROTIK_RB500 -\u003e MIKROTIK_RB532\n  [MIPS] IP27: Fix build bug due to missing include\n  [MIPS] Fix some sparse warnings on traps.c and irq-msc01.c\n  [MIPS] cevt-gt641xx: Kill unnecessary include\n  [MIPS] DS1287: Add clockevent driver\n  [MIPS] add DECstation I/O ASIC clocksource\n  [MIPS] rbtx4938: minor cleanup\n  [MIPS] Alchemy: kill unused PCI_IRQ_TABLE_LOOKUP macro\n  [MIPS] rbtx4938: misc cleanups\n  [MIPS] jmr3927: use generic txx9 gpio\n  [MIPS] rbhma4500: use generic txx9 gpio\n  [MIPS] generic txx9 gpio support\n  [MIPS] make fallback gpio.h gpiolib-friendly\n  [MIPS] unexport null_perf_irq() and make it static\n  [MIPS] unexport rtc_mips_set_time()\n  [MIPS] unexport copy_from_user_page()\n  ...\n"
    },
    {
      "commit": "cfd299dffe6f47c04c47b95893708cdc65876fbd",
      "tree": "469eb611cdda8ee2b0775e018756be8df2d3ffd4",
      "parents": [
        "6b8588f71890fba78742f90e22390028a6cd706f",
        "c9b7b9793764b171a118d049d4b721a7f5d8ac82"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 10:08:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 10:08:49 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6:\n  SELinux: Fix a RCU free problem with the netport cache\n  SELinux: Made netnode cache adds faster\n  SELinux: include/security.h whitespace, syntax, and other cleanups\n  SELinux: policydb.h whitespace, syntax, and other cleanups\n  SELinux: mls_types.h whitespace, syntax, and other cleanups\n  SELinux: mls.h whitespace, syntax, and other cleanups\n  SELinux: hashtab.h whitespace, syntax, and other cleanups\n  SELinux: context.h whitespace, syntax, and other cleanups\n  SELinux: ss/conditional.h whitespace, syntax, and other cleanups\n  SELinux: selinux/include/security.h whitespace, syntax, and other cleanups\n  SELinux: objsec.h whitespace, syntax, and other cleanups\n  SELinux: netlabel.h whitespace, syntax, and other cleanups\n  SELinux: avc_ss.h whitespace, syntax, and other cleanups\n\nFixed up conflict in include/linux/security.h manually\n"
    },
    {
      "commit": "01d7b369887b6feb7c9ce2b20988fafe3f70841c",
      "tree": "562a5c2696aed8982cfbc616add8bb05d8073d1e",
      "parents": [
        "d28aa3ac4cdc2d03a2bde4b78780064a00f7ef61"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Mon Apr 28 07:00:05 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 10:03:31 2008 -0700"
      },
      "message": "usbhid endianness annotations and fixes\n\nusb_control_msg() converts arguments to little-endian itself,\ndoing that in caller means breakage on big-endian boxen.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b7505680538375e3e562805851e3f061675369b7",
      "tree": "b5eb2db198d47306826f7f7dc6d1367adfefaa05",
      "parents": [
        "ea696f9cf37d8ab9236dd133ddb2727264f3add6"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Mon Apr 28 06:59:15 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 10:03:31 2008 -0700"
      },
      "message": "fix ia64 local_irq_save() et.al.\n\npsr is not a good name for local variable in macro body when it\nhas a good chance of being the argument of said macro (actually\nis at least in one place)\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e945e849e18006c131fe59252ab920c6b5f7959c",
      "tree": "a86b1a299c5cebed14889fb638cb6808417b5f4a",
      "parents": [
        "77a50df2b14c8d3ee3c58c21c4a0e0157570df09",
        "194f1a68b93e959ede6ec363db4714e630bdbb6a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 09:45:57 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 09:45:57 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:\n  sparc: video drivers: add facility level\n  sparc: tcx.c make tcx_init and tcx_exit static\n  sparc: ffb.c make ffb_init and ffb_exit static\n  sparc: cg14.c make cg14_init and cg15_exit static\n  sparc: bw2.c fix bw2_exit\n  sparc64: Fix accidental syscall restart on child return from clone/fork/vfork.\n  sparc64: Clean up handling of pt_regs trap type encoding.\n  sparc: Remove old style signal frame support.\n  sparc64: Kill bogus RT_ALIGNEDSZ macro from signal.c\n  sparc: sunzilog.c remove unused argument\n  sparc: fix drivers/video/tcx.c warning\n  sparc64: Kill unused local ISA bus layer.\n  input: Rewrite sparcspkr device probing.\n  sparc64: Do not ignore \u0027pmu\u0027 device ranges.\n  sparc64: Kill ISA_FLOPPY_WORKS code.\n  sparc64: Kill CONFIG_SPARC32_COMPAT\n  sparc64: Cleanups and corrections for arch/sparc64/Kconfig\n  sparc64: Fix wedged irq regression.\n"
    },
    {
      "commit": "77a50df2b14c8d3ee3c58c21c4a0e0157570df09",
      "tree": "0e324a712e5e768c8353b0b5ba6ddc31095479f0",
      "parents": [
        "96fffeb4b413a4f8f65bb627d59b7dfc97ea0b39",
        "358c12953b88c5a06a57c33eb27c753b2e7934d1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 09:44:11 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 09:44:11 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:\n  iwlwifi: Allow building iwl3945 without iwl4965.\n  wireless: Fix compile error with wifi \u0026 leds\n  tcp: Fix slab corruption with ipv6 and tcp6fuzz\n  ipv4/ipv6 compat: Fix SSM applications on 64bit kernels.\n  [IPSEC]: Use digest_null directly for auth\n  sunrpc: fix missing kernel-doc\n  can: Fix copy_from_user() results interpretation\n  Revert \"ipv6: Fix typo in net/ipv6/Kconfig\"\n  tipc: endianness annotations\n  ipv6: result of csum_fold() is already 16bit, no need to cast\n  [XFRM] AUDIT: Fix flowlabel text format ambibuity.\n"
    },
    {
      "commit": "fcbd3b4b92efe29b59df16b910138cf43683be88",
      "tree": "2aadd1e40849ea39e08fe41ee8772f38f27e6872",
      "parents": [
        "df2700519c84ee8ee1e5ea165725c651f6d4d1a4"
      ],
      "author": {
        "name": "Sergei Shtylyov",
        "email": "sshtylyov@ru.mvista.com",
        "time": "Mon Apr 28 19:54:38 2008 +0400"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Apr 28 17:14:33 2008 +0100"
      },
      "message": "[MIPS] Pb1200/DBAu1200: move platform code to its proper place\n\nSince both the IDE interface and SMC 91C111 Ethernet chip are on-board\ndevices, not SOC devices, move the platform device registration form the\ncommon to the board specific code.\n\nWhile at it, remove semicolon (which didn\u0027t break compilation only by\nchance) from the AU1XXX_ATA_DDMA_REQ macro and do some renaming:\n\n- change \u0027au1200_ide0_\u0027 variable name prefix to the mere \u0027ide_\u0027;\n\n- change \u0027smc91x_\u0027 variable name prefix to \u0027smc91c111_\u0027 since that\u0027s the\n  name of the chip used on the boards;\n\n- drop \u0027AU1XXX_\u0027 prefix from the names of macros describing IDE and Ethernet\n  on-board devices;\n\n- change \u0027SMC91111_\u0027 to \u0027SMC91C111_\u0027, change \u0027IRQ\u0027 to \u0027INT\u0027 in the names of\n  the macros describing the Ethernet chip for consistency with the IDE\n  macros;\n\n- change \u0027ATA_\u0027 to \u0027IDE_\u0027 and \u0027OFFSET\u0027 to \u0027SHIFT\u0027 (since this value is\n  indeed a shift count) in the names of the macros describing the IDE\n  interface.\n\nSigned-off-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "a4a8f70d2db2998cf28532287ee89776d4d8a2ca",
      "tree": "acfafde5e105c2f6b1b508aa67cbe7b7bf5ddb22",
      "parents": [
        "411ba7fcba54b30ba4ce2c492ea8d20f1d0db996"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Apr 23 18:55:59 2008 +0300"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Apr 28 17:14:32 2008 +0100"
      },
      "message": "[MIPS] IP27: Fix build bug due to missing include\n\nasm-mips/mach-ip27/topology.h must #include \u003casm-generic/topology.h\u003e\nThis fixes the following compile error:\n\n...\n  CC      kernel/sched.o\n/home/bunk/linux/kernel-2.6/git/linux-2.6/kernel/sched.c: In function \u0027find_next_best_node\u0027:\n/home/bunk/linux/kernel-2.6/git/linux-2.6/kernel/sched.c:7015: error: implicit declaration of function \u0027node_to_cpumask_ptr\u0027\n/home/bunk/linux/kernel-2.6/git/linux-2.6/kernel/sched.c:7015: error: \u0027__tmp__\u0027 undeclared (first use in this function)\n/home/bunk/linux/kernel-2.6/git/linux-2.6/kernel/sched.c:7015: error: (Each undeclared identifier is reported only once\n/home/bunk/linux/kernel-2.6/git/linux-2.6/kernel/sched.c:7015: error: for each function it appears in.)\n/home/bunk/linux/kernel-2.6/git/linux-2.6/kernel/sched.c: In function \u0027sched_domain_node_span\u0027:\n/home/bunk/linux/kernel-2.6/git/linux-2.6/kernel/sched.c:7047: error: \u0027nodemask\u0027 undeclared (first use in this function)\n/home/bunk/linux/kernel-2.6/git/linux-2.6/kernel/sched.c:7048: warning: ISO C90 forbids mixed declarations and code\n/home/bunk/linux/kernel-2.6/git/linux-2.6/kernel/sched.c:7059: error: implicit declaration of function \u0027node_to_cpumask_ptr_next\u0027\n/home/bunk/linux/kernel-2.6/git/linux-2.6/kernel/sched.c: In function \u0027__build_sched_domains\u0027:\n/home/bunk/linux/kernel-2.6/git/linux-2.6/kernel/sched.c:7605: error: \u0027pnodemask\u0027 undeclared (first use in this function)\nmake[2]: *** [kernel/sched.o] Error 1\n\n\u003c--  snip  --\u003e\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "411ba7fcba54b30ba4ce2c492ea8d20f1d0db996",
      "tree": "1fe2b498d07cd685c142e037bda0885644f19705",
      "parents": [
        "855808392adf499a29e6bdb418f9474726ecbace"
      ],
      "author": {
        "name": "Atsushi Nemoto",
        "email": "anemo@mba.ocn.ne.jp",
        "time": "Sat Apr 26 01:55:30 2008 +0900"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Apr 28 17:14:32 2008 +0100"
      },
      "message": "[MIPS] Fix some sparse warnings on traps.c and irq-msc01.c\n\n* Declare board_bind_eic_interrupt, board_watchpoint_handler in traps.h\n* Make msc_bind_eic_interrupt static and fix its argument types.\n* Make msc_levelirq_type, msc_edgeirq_type static.\n\nSigned-off-by: Atsushi Nemoto \u003canemo@mba.ocn.ne.jp\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "6457d9fc3bb87c72db03cfb34cd414c8fb9b8edf",
      "tree": "baf16332ea9bb5734985bb9bc3357b992b32238c",
      "parents": [
        "4247417d8457b326ede001cb74af8570b5aa302b"
      ],
      "author": {
        "name": "Yoichi Yuasa",
        "email": "yoichi_yuasa@tripeaks.co.jp",
        "time": "Fri Apr 25 12:11:44 2008 +0900"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Apr 28 17:14:32 2008 +0100"
      },
      "message": "[MIPS] DS1287: Add clockevent driver\n\nSigned-off-by: Yoichi Yuasa \u003cyoichi_yuasa@tripeaks.co.jp\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "4247417d8457b326ede001cb74af8570b5aa302b",
      "tree": "d52e4b8e5c7a8fe6d353234984d6414c9982b987",
      "parents": [
        "05a96fae433a662e12879b543a6838b6c2129402"
      ],
      "author": {
        "name": "Yoichi Yuasa",
        "email": "yoichi_yuasa@tripeaks.co.jp",
        "time": "Thu Apr 24 09:48:40 2008 +0900"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Apr 28 17:14:32 2008 +0100"
      },
      "message": "[MIPS] add DECstation I/O ASIC clocksource\n\nAdd DECstation I/O ASIC clocksource\n\nSigned-off-by: Yoichi Yuasa \u003cyoichi_yuasa@tripeaks.co.jp\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "6ed436932d1417534aa1a738fd9585795f954304",
      "tree": "d352670d3a4f008f205cac5f24eba195a00ab239",
      "parents": [
        "66140c8e9f0d978bd26c58f236d0d86aa666d8fc"
      ],
      "author": {
        "name": "Sergei Shtylyov",
        "email": "sshtylyov@ru.mvista.com",
        "time": "Tue Apr 22 23:28:57 2008 +0400"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Apr 28 17:14:31 2008 +0100"
      },
      "message": "[MIPS] Alchemy: kill unused PCI_IRQ_TABLE_LOOKUP macro\n\nSigned-off-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "66140c8e9f0d978bd26c58f236d0d86aa666d8fc",
      "tree": "c23657f4c761e09b48bf64a64e95cf8798b8169d",
      "parents": [
        "1bd0962e3d5bc66ee0ee207a61485c6a436cfac2"
      ],
      "author": {
        "name": "Atsushi Nemoto",
        "email": "anemo@mba.ocn.ne.jp",
        "time": "Mon Apr 14 21:49:07 2008 +0900"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Apr 28 17:14:31 2008 +0100"
      },
      "message": "[MIPS] rbtx4938: misc cleanups\n\n* Do not use non-standard I/O accessors, such as reg_rd08, etc.\n* Kill unnecessary wbflush()\n* Kill tx4938_mips.h\n* Kill unnecessary includes\n\nSigned-off-by: Atsushi Nemoto \u003canemo@mba.ocn.ne.jp\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "1bd0962e3d5bc66ee0ee207a61485c6a436cfac2",
      "tree": "4244f3ac55b7c0d464680d063fcca6a3cae4d535",
      "parents": [
        "4cad154b30e7471628cb1943081c72b6368b079a"
      ],
      "author": {
        "name": "Atsushi Nemoto",
        "email": "anemo@mba.ocn.ne.jp",
        "time": "Sat Apr 05 00:56:27 2008 +0900"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Apr 28 17:14:31 2008 +0100"
      },
      "message": "[MIPS] jmr3927: use generic txx9 gpio\n\nUse generic txx9 gpio (and gpiolib) for JMR3927 board.\n\nSigned-off-by: Atsushi Nemoto \u003canemo@mba.ocn.ne.jp\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "4cad154b30e7471628cb1943081c72b6368b079a",
      "tree": "b4b67bcb39b868ee31436f8e9bd00b9e5f3927c5",
      "parents": [
        "a9aec7fe74cd912cad74ca621ed91cb1c37566ae"
      ],
      "author": {
        "name": "Atsushi Nemoto",
        "email": "anemo@mba.ocn.ne.jp",
        "time": "Sat Apr 05 00:56:09 2008 +0900"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Apr 28 17:14:31 2008 +0100"
      },
      "message": "[MIPS] rbhma4500: use generic txx9 gpio\n\nUse generic txx9 gpio (and gpiolib) for RBHMA4500 board.\n\nSigned-off-by: Atsushi Nemoto \u003canemo@mba.ocn.ne.jp\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "a9aec7fe74cd912cad74ca621ed91cb1c37566ae",
      "tree": "4fc186913e742b46c02a537ec6b5f32349cef838",
      "parents": [
        "8aa62adafada6e3f29e12dacf1d6f491d2ba5f7f"
      ],
      "author": {
        "name": "Atsushi Nemoto",
        "email": "anemo@mba.ocn.ne.jp",
        "time": "Sat Apr 05 00:55:41 2008 +0900"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Apr 28 17:14:31 2008 +0100"
      },
      "message": "[MIPS] generic txx9 gpio support\n\nThis is a board-independent TXx9 gpio API implementation using gpiolib.\n\nSigned-off-by: Atsushi Nemoto \u003canemo@mba.ocn.ne.jp\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "8aa62adafada6e3f29e12dacf1d6f491d2ba5f7f",
      "tree": "34823f01604a79d519050b4b788812eeb4360b48",
      "parents": [
        "46684734dd6a55af09c3fe799af7d74cb938684c"
      ],
      "author": {
        "name": "Atsushi Nemoto",
        "email": "anemo@mba.ocn.ne.jp",
        "time": "Sat Apr 05 00:55:24 2008 +0900"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Apr 28 17:14:31 2008 +0100"
      },
      "message": "[MIPS] make fallback gpio.h gpiolib-friendly\n\nIf gpiolib was selected, asm-generic/gpio.h provides some prototypes\nfor gpio API and implementation helpers.  With this patch, platform\ncode can implement its GPIO API using gpiolib without custom gpio.h\nfile.\n\nSigned-off-by: Atsushi Nemoto \u003canemo@mba.ocn.ne.jp\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "0167509574ef1cdb516906db5e8b6ad5ca64ab61",
      "tree": "3047fc8adf04601f529e2d497a36d1a79d4681bc",
      "parents": [
        "a92b05880d261e9017ef8e7d5b6b01e0e5aa991d"
      ],
      "author": {
        "name": "Sergei Shtylyov",
        "email": "sshtylyov@ru.mvista.com",
        "time": "Mon Mar 24 23:15:50 2008 +0300"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Apr 28 17:14:26 2008 +0100"
      },
      "message": "[MIPS] Alchemy: don\u0027t unmask timer IRQ early\n\nDefer the unmasking of the count/compare interrupt (IRQ5) till the\nclockevent driver initialization:\n\n- only enable the cascaded IRQs 0 thru 4 in arch_init_irq(); kill the\n  ALLINTS macro -- this change is blessed by AMD as I saw it in their own\n  patch; :-)\n\n- do not force IRQ5 enabled in plat_time_init() if PM is enabled and there\u0027s\n  no 32 KHz crystal.\n\nUpdate the copyrights (taking into account my prior changes), also removing\nPete Popov\u0027s old email...\n\nSigned-off-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "a92b05880d261e9017ef8e7d5b6b01e0e5aa991d",
      "tree": "663109c57e75dd2183507818a035c99ab53fff25",
      "parents": [
        "389310e2b0c195f176e7d4be788bc245e9102412"
      ],
      "author": {
        "name": "Daniel Laird",
        "email": "daniel.j.laird@nxp.com",
        "time": "Thu Mar 06 09:07:18 2008 +0000"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Apr 28 17:14:26 2008 +0100"
      },
      "message": "[MIPS] Move arch/mips/philips to arch/mips/nxp\n\nSigned-off-by: daniel.j.laird \u003cdaniel.j.laird@nxp.com\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "39b8d5254246ac56342b72f812255c8f7a74dca9",
      "tree": "a9ec6bfb5d09a8367c34cc2067328d1b49bb46c1",
      "parents": [
        "308402445e005a039a72b315cd9b5ceeaea0063c"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Apr 28 17:14:26 2008 +0100"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Apr 28 17:14:26 2008 +0100"
      },
      "message": "[MIPS] Add support for MIPS CMP platform.\n\nSigned-off-by: Chris Dearman \u003cchris@mips.com\u003e\nSigned-off-by: Atsushi Nemoto \u003canemo@mba.ocn.ne.jp\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "308402445e005a039a72b315cd9b5ceeaea0063c",
      "tree": "b7eed05100987528df9df9d793b78373e8754ee0",
      "parents": [
        "bdc94eb41e6090961695747508ac7e33ea5d6c08"
      ],
      "author": {
        "name": "Chris Dearman",
        "email": "chris@mips.com",
        "time": "Fri Sep 21 14:50:08 2007 +0100"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Apr 28 17:14:26 2008 +0100"
      },
      "message": "[MIPS] Add CoreFPGA5 support; distinguish between SOCit/ROCit\n\nSigned-off-by: Chris Dearman \u003cchris@mips.com\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "351336929ccf222ae38ff0cb7a8dd5fd5c6236a0",
      "tree": "d9e9253bd30cf011d248ad3b63761a9a725e5cb0",
      "parents": [
        "bec5052743ec8ae4c5669918cf9b130bf15709a2"
      ],
      "author": {
        "name": "Chris Dearman",
        "email": "chris@mips.com",
        "time": "Wed Sep 19 00:58:24 2007 +0100"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Apr 28 17:14:25 2008 +0100"
      },
      "message": "[MIPS] Allow setting of the cache attribute at run time.\n\nSlightly tacky, but there is a precedent in the sparc archirecture code.\n\nSigned-off-by: Chris Dearman \u003cchris@mips.com\u003e\nSigned-off-by: Atsushi Nemoto \u003canemo@mba.ocn.ne.jp\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "bec5052743ec8ae4c5669918cf9b130bf15709a2",
      "tree": "c5d01f46fa24fa22624eab3e194aad663e8ef50a",
      "parents": [
        "962f480e0f9024ecdcfe2ba1d216c038ee328ced"
      ],
      "author": {
        "name": "Chris Dearman",
        "email": "chris@mips.com",
        "time": "Wed Sep 19 00:51:57 2007 +0100"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Apr 28 17:14:25 2008 +0100"
      },
      "message": "[MIPS] Tidy up cache attributes\n\nSigned-off-by: Chris Dearman \u003cchris@mips.com\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "962f480e0f9024ecdcfe2ba1d216c038ee328ced",
      "tree": "7bdc4f14bd9e894ed3178b3a9b6ec235710868a6",
      "parents": [
        "0bfa130e741f8f73a7bbf6a89aad4816e9094a71"
      ],
      "author": {
        "name": "Chris Dearman",
        "email": "chris@mips.com",
        "time": "Wed Sep 19 00:46:32 2007 +0100"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Apr 28 17:14:25 2008 +0100"
      },
      "message": "[MIPS] All MIPS32 processors support64-bit physical addresses.\n\nStill, only the 4K may actually implement it.\n\nSigned-off-by: Chris Dearman \u003cchris@mips.com\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "73f20e58b1d586e9f6d3ddc3aad872829aca7743",
      "tree": "cd426ad1186438a0b16ade918e73c0b84c4bbe92",
      "parents": [
        "c7a6c4edc74ee5c3d990325fe93b6916f43499f4"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Mon Apr 28 02:16:30 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:47 2008 -0700"
      },
      "message": "FAT_VALID_MEDIA(): remove pointless test\n\nThe on-disk media specification field in FAT is only 8-bits, so testing for\n\u003c\u003d0xff is pointless, and can generate a \"comparison is always true due to\nlimited range of data type\" warning.\n\nWhile we\u0027re there, convert FAT_VALID_MEDIA() into a C function - the present\nimplementation is buggy: it generates either one or two references to its\nargument.\n\nCc: Frank Seidel \u003cfseidel@suse.de\u003e\nAcked-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "606e423e43bac0c2f7b85b682eb1ddd2a634586e",
      "tree": "86e7bc56e7e70cf1403aec7fd58d854490b1478f",
      "parents": [
        "1ae43f826b6cb951fc5b0f9c92372a8d5b63c7f9"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Mon Apr 28 02:16:27 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:47 2008 -0700"
      },
      "message": "fat: Update free_clusters even if it is untrusted\n\nCurrently, free_clusters is not updated until it is trusted, because\nWindows doesn\u0027t update it correctly.\n\nBut if user is using FAT driver of Linux, it updates free_clusters\ncorrectly.  Instead, this updates it even if it\u0027s untrusted, so if\nfree_clustes is correct, now keep correct value.\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1ae43f826b6cb951fc5b0f9c92372a8d5b63c7f9",
      "tree": "aea00f01d74a40e026974182006e8af903b0b241",
      "parents": [
        "e97e8de388723f9491514fa0434ddf1fd713a188"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Mon Apr 28 02:16:26 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:47 2008 -0700"
      },
      "message": "fat: Add allow_utime option\n\nNormally utime(2) checks current process is owner of the file, or it\nhas CAP_FOWNER capability.  But FAT filesystem doesn\u0027t have uid/gid as\non disk info, so normal check is too unflexible.\n\nWith this option you can relax it.\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1278fdd34b12214b5c2e91e64848a5e54e57ed96",
      "tree": "3d50d0f2fd3444389031d5a540d65eb16480d8e8",
      "parents": [
        "3754a544474b9fd4fdd32a96d98bc4ab558b2bb6"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Mon Apr 28 02:16:25 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:47 2008 -0700"
      },
      "message": "fat: fat_notify_change() and check_mode() cleanup\n\n- Rename fat_notify_change() to fat_setattr()\n- check_mode() cleanup\n- Change layout of code\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d5dee5c395062a55236318ac4eec1f4ebb9de6db",
      "tree": "2481afd9fbdd1df106d71a41cce2b08380f21d44",
      "parents": [
        "a2fe594fa3732298947377409b5d8111b14f56ec"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Apr 28 02:16:23 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:46 2008 -0700"
      },
      "message": "reiserfs: unpack tails on quota files\n\nQuota files cannot have tails because quota_write and quota_read functions do\nnot support them.  So far when quota files did have tail, we just refused to\nturn quotas on it.  Sadly this check has been wrong and so there are now\nplenty installations where quota files don\u0027t have NOTAIL flag set and so now\nafter fixing the check, they suddently fail to turn quotas on.  Since it\u0027s\neasy to unpack the tail from kernel, do this from reiserfs_quota_on() which\nsolves the problem and is generally nicer to users anyway.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nReported-by: \u003curhausen@urifabi.net\u003e\nCc: Jeff Mahoney \u003cjeffm@suse.com\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8b3e6cdc53b7f29f7026955d6cb6902a49322a15",
      "tree": "69d9f22a526e687fe2892d327caa3fa6ddd65cf6",
      "parents": [
        "e46b272b6608783ed7aa7b0594871550ce20b849"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Apr 28 02:15:53 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:42 2008 -0700"
      },
      "message": "md: introduce get_priority_stripe() to improve raid456 write performance\n\nImprove write performance by preventing the delayed_list from dumping all its\nstripes onto the handle_list in one shot.  Delayed stripes are now further\ndelayed by being held on the \u0027hold_list\u0027.  The \u0027hold_list\u0027 is bypassed when:\n\n  * a STRIPE_IO_STARTED stripe is found at the head of \u0027handle_list\u0027\n  * \u0027handle_list\u0027 is empty and i/o is being done to satisfy full stripe-width\n    write requests\n  * \u0027bypass_count\u0027 is less than \u0027bypass_threshold\u0027.  By default the threshold\n    is 1, i.e. every other stripe handled is a preread stripe provided the\n    top two conditions are false.\n\nBenchmark data:\nSystem: 2x Xeon 5150, 4x SATA, mem\u003d1GB\nBaseline: 2.6.24-rc7\nConfiguration: mdadm --create /dev/md0 /dev/sd[b-e] -n 4 -l 5 --assume-clean\nTest1: dd if\u003d/dev/zero of\u003d/dev/md0 bs\u003d1024k count\u003d2048\n  * patched:  +33% (stripe_cache_size \u003d 256), +25% (stripe_cache_size \u003d 512)\n\nTest2: tiobench --size 2048 --numruns 5 --block 4096 --block 131072 (XFS)\n  * patched: +13%\n  * patched + preread_bypass_threshold \u003d 0: +37%\n\nChanges since v1:\n* reduce bypass_threshold from (chunk_size / sectors_per_chunk) to (1) and\n  make it configurable.  This defaults to fairness and modest performance\n  gains out of the box.\nChanges since v2:\n* [neilb@suse.de]: kill STRIPE_PRIO_HI and preread_needed as they are not\n  necessary, the important change was clearing STRIPE_DELAYED in\n  add_stripe_bio and this has been moved out to make_request for the hang\n  fix.\n* [neilb@suse.de]: simplify get_priority_stripe\n* [dan.j.williams@intel.com]: reset the bypass_count when -\u003ehold_list is\n  sampled empty (+11%)\n* [dan.j.williams@intel.com]: decrement the bypass_count at the detection\n  of stripes being naturally promoted off of hold_list +2%.  Note, resetting\n  bypass_count instead of decrementing on these events yields +4% but that is\n  probably too aggressive.\nChanges since v3:\n* cosmetic fixups\n\nTested-by: James W. Laferriere \u003cbabydr@baby-dragons.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0e27aa3dabb541edee9f23b37114856a528de01e",
      "tree": "5516f7e6445f0bd95a1e4bbca2c3c678643b28a4",
      "parents": [
        "2422fbba0684ddf08898ec2f3cf23cb16a54b3f5"
      ],
      "author": {
        "name": "Jaya Kumar",
        "email": "jayakumar.lkml@gmail.com",
        "time": "Mon Apr 28 02:15:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:41 2008 -0700"
      },
      "message": "fbdev: platforming hecubafb and n411\n\nThis patch splits hecubafb into the platform independent hecubafb and the\nplatform dependent n411.\n\nSigned-off-by: Jaya Kumar \u003cjayakumar.lkml@gmail.com\u003e\nCc: \"Antonino A. Daplas\" \u003cadaplas@pol.net\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "03c33a4f002b2521debf1efc269cade983b6e86a",
      "tree": "e4ed669161ba7d029497fe6917854bea0ae83aec",
      "parents": [
        "963654a9c919d18f8b9137f8ffd9d2d30a139269"
      ],
      "author": {
        "name": "Jaya Kumar",
        "email": "jayakumar.lkml@gmail.com",
        "time": "Mon Apr 28 02:15:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:41 2008 -0700"
      },
      "message": "fbdev: platforming metronomefb and am200epd\n\nThis patch splits metronomefb into the platform independent metronomefb and\nthe platform dependent am200epd.\n\nSigned-off-by: Jaya Kumar \u003cjayakumar.lkml@gmail.com\u003e\nCc: \"Antonino A. Daplas\" \u003cadaplas@pol.net\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fd96795630428ceca775bd1effc5bf41a9fe5272",
      "tree": "d14276ebf1ff907711e56e2742e15b594ebd166e",
      "parents": [
        "61a517a063abf659cbf61df11f8e2131fdafccec"
      ],
      "author": {
        "name": "Andres Salomon",
        "email": "dilinger@queued.net",
        "time": "Mon Apr 28 02:15:30 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:40 2008 -0700"
      },
      "message": "gxfb/lxfb: detect framebuffer size using an MSR if VSA2 isn\u0027t available\n\nIf there\u0027s no VSA2 (ie, if we\u0027re using tinybios or OpenFirmware), use the\nGLIU\u0027s P2D Range Offset Descriptor to determine how much memory we have\navailable for the framebuffer.\n\nOriginally based on a patch by Jordan Crouse.  Tested with OpenFirmware;\nPascal informs me that tinybios has a stub that fills in P2D_RO0.\n\nSigned-off-by: Andres Salomon \u003cdilinger@debian.org\u003e\nCc: Jordan Crouse \u003cjordan.crouse@amd.com\u003e\nCc: \"Antonino A. Daplas\" \u003cadaplas@pol.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "61a517a063abf659cbf61df11f8e2131fdafccec",
      "tree": "9d5dcda60662eb483cd71827036e5ece913c1138",
      "parents": [
        "4537f93ae88c77a26e77d192ca32a0c2cd359592"
      ],
      "author": {
        "name": "Andres Salomon",
        "email": "dilinger@queued.net",
        "time": "Mon Apr 28 02:15:30 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:40 2008 -0700"
      },
      "message": "gxfb/lxfb: use VSA definitions when fetching framebuffer size\n\n..Rather than using magic constants.\n\nSigned-off-by: Andres Salomon \u003cdilinger@debian.org\u003e\nCc: Jordan Crouse \u003cjordan.crouse@amd.com\u003e\nCc: \"Antonino A. Daplas\" \u003cadaplas@pol.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fd0858017eb67aa0d41dd4e8499ca6a7bfb63941",
      "tree": "782b525181b6cd2f10b4f1307e93a8716c783dd4",
      "parents": [
        "cf19a37e0641d975d271a5a30f097dd6b96d232f"
      ],
      "author": {
        "name": "Nicolas Ferre",
        "email": "nicolas.ferre@atmel.com",
        "time": "Mon Apr 28 02:15:21 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:39 2008 -0700"
      },
      "message": "atmel_lcdfb: wiring BGR to RGB color mode\n\nAdds different wiring mode for the LCD screen.\n\nThe legacy atmel LCDC IP uses a non standard color mode, \"BGR-555.1\" instead\n\"RGB-565\".  The major part of graphic stacks for embedded systems uses only\n\"RGB-565\".  It is possible to swap LCD IOs instead of doing this bit swapping\nby software (See application note AT91SAM9 LCD Controller\nhttp://www.atmel.com/dyn/resources/prod_documents/doc6300.pdf)\n\nThis wire swapping is done on the at91sam9rl-ek board (board code\nusing this patch will come later).\n\nSigned-off-by: Nicolas Ferre \u003cnicolas.ferre@atmel.com\u003e\nCc: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: Hans-Christian Egtvedt \u003chcegtvedt@atmel.com\u003e\nCc: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nCc: Andrew Victor \u003cavictor.za@gmail.com\u003e\nCc: \"Antonino A. Daplas\" \u003cadaplas@pol.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cf19a37e0641d975d271a5a30f097dd6b96d232f",
      "tree": "bc5876359c353ac5f072cb9858d8dd4e5db731f7",
      "parents": [
        "01d3a5e7fab7732cfc5d5d4533e9378ea435295a"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Mon Apr 28 02:15:20 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:38 2008 -0700"
      },
      "message": "atmel_lcdfb: suspend/resume support\n\nTeach atmel_lcdfb driver how to suspend/resume.\n\nNote that the backlight control should probably do more of the same stuff:\nturning off display power (more than just the backlight) and stopping the\nclocks (and dma to drive the no-longer-seen display).  No point in wasting\npower to generate images that can\u0027t be observed, after all...\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Nicolas Ferre \u003cnicolas.ferre@atmel.com\u003e\nCc: Hans-Christian Egtvedt \u003chcegtvedt@atmel.com\u003e\nCc: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nCc: Andrew Victor \u003cavictor.za@gmail.com\u003e\nCc: \"Antonino A. Daplas\" \u003cadaplas@pol.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b6f448e99ce7955b9707ed36a46cab2c6ddf7ddc",
      "tree": "74ae26692c1fd713a0178faca99dea6761d442e8",
      "parents": [
        "46fb6f110dfc3fc99f44cf701f66ea3e790b6a81"
      ],
      "author": {
        "name": "Andres Salomon",
        "email": "dilinger@queued.net",
        "time": "Mon Apr 28 02:15:03 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:36 2008 -0700"
      },
      "message": "PM/gxfb: add hook to PM console layer that allows disabling of suspend VT switch\n\nPrior to suspend, we allocate and switch to a new VT; after suspend, we switch\nback to the original VT.  This can be slow, and is completely unnecessary if\nthe framebuffer we\u0027re using can restore video properly.\n\nThis adds a hook that allows drivers to select whether or not to do this vt\nswitch, and changes the gxfb driver to call this hook.  It also adds a module\nparam to gxfb to allow controlling of the vt switch (defaulting to no switch).\n\n(Note: I\u0027m not convinced that console_sem is the best way to protect this, but\nwe should probably have some form of locking..)\n\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Andres Salomon \u003cdilinger@debian.org\u003e\nCc: Jordan Crouse \u003cjordan.crouse@amd.com\u003e\nCc: \"Antonino A. Daplas\" \u003cadaplas@pol.net\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e9338364e6989ca2707638c7c70ae22975b0bb6c",
      "tree": "dd27e70a9804ee80abb28752b13c07b0ebe63dda",
      "parents": [
        "32bf87e3697cf2f730b8fbf47cad903ceef718a2"
      ],
      "author": {
        "name": "Andres Salomon",
        "email": "dilinger@queued.net",
        "time": "Mon Apr 28 02:14:54 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:35 2008 -0700"
      },
      "message": "x86: GEODE: add Virtual Systems Architecture detection\n\nThis is generic VSA2 detection.  It\u0027s used by OLPC to determine whether or not\nthe BIOS contains VSA2, but since other BIOSes are coming out that don\u0027t use\nthe VSA (ie, tinybios), it might end up being useful for others.\n\nSigned-off-by: Andres Salomon \u003cdilinger@debian.org\u003e\nAcked-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Jordan Crouse \u003cjordan.crouse@amd.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "32bf87e3697cf2f730b8fbf47cad903ceef718a2",
      "tree": "6476a1f8796c28e7eb70deb7eaae75872f95fb6d",
      "parents": [
        "22af89aa0c0b4012a7431114a340efd3665a7617"
      ],
      "author": {
        "name": "Andres Salomon",
        "email": "dilinger@queued.net",
        "time": "Mon Apr 28 02:14:53 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:35 2008 -0700"
      },
      "message": "x86: geode: MSR cleanup\n\nThis cleans up a few MSR-using drivers in the following manner:\n  - Ensures MSRs are all defined in asm/geode.h, rather than in misc\n    places\n  - Makes the naming consistent; cs553[56] ones begin with MSR_,\n    GX-specific ones start with MSR_GX_, and LX-specific ones start\n    with MSR_LX_.  Also, make the names match the data sheet.\n  - Use MSR names rather than numbers in source code\n  - Document the fact that the LX\u0027s MSR_PADSEL has the wrong value\n    in the data sheet.  That\u0027s, uh, good to note.\n\nSigned-off-by: Andres Salomon \u003cdilinger@debian.org\u003e\nAcked-by: Jordan Crouse \u003cjordan.crouse@amd.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e4c690e061b909127ab0f12e929f82f3f39ec953",
      "tree": "b798bbda541f615cd4830cad96ed3f58db1fd19c",
      "parents": [
        "6b745b6fd02213f4b2fef2f2635985929fc5b8cc"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "avorontsov@ru.mvista.com",
        "time": "Mon Apr 28 02:14:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:35 2008 -0700"
      },
      "message": "fb: add support for foreign endianness\n\nAdd support for the framebuffers with non-native endianness.  This is done via\nFBINFO_FOREIGN_ENDIAN flag that will be used by the drivers.  Depending on the\nhost endianness this flag will be overwritten by FBINFO_BE_MATH internal flag,\nor cleared.\n\nTested to work on MPC8360E-RDK (BE) + Fujitsu MINT framebuffer (LE).\n\nSigned-off-by: Anton Vorontsov \u003cavorontsov@ru.mvista.com\u003e\nCc: \"Antonino A. Daplas\" \u003cadaplas@pol.net\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: \u003cValdis.Kletnieks@vt.edu\u003e\nCc: Clemens Koller \u003cclemens.koller@anagramm.de\u003e\nCc: Krzysztof Helt \u003ckrzysztof.h1@poczta.fm\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "169b6a7a6e91e1ea32136681b475cbaf2074bf35",
      "tree": "bf29842528e61cb07c581e43acbe3619a25746ab",
      "parents": [
        "8d0aab2f16c4fa170f32e7a74a52cd0122bbafef"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "avorontsov@ru.mvista.com",
        "time": "Mon Apr 28 02:14:47 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:34 2008 -0700"
      },
      "message": "gpiochip_reserve()\n\nAdd a new function gpiochip_reserve() to reserve ranges of gpios that platform\ncode has pre-allocated.  That is, this marks gpio numbers which will be\nclaimed by drivers that haven\u0027t yet been loaded, and thus are not available\nfor dynamic gpio number allocation.\n\n[akpm@linux-foundation.org: remove unneeded __must_check]\n[david-b@pacbell.net: don\u0027t export gpiochip_reserve (section fix)]\nSigned-off-by: Anton Vorontsov \u003cavorontsov@ru.mvista.com\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e6de1808f8ebfeb7e49f3c5a30cb8f2032beb287",
      "tree": "2230ea8f384449c7785d636ab016af3b2aa20123",
      "parents": [
        "d72cbed0c486e3db8b56380635f8e845073ce63a"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "g.liakhovetski@pengutronix.de",
        "time": "Mon Apr 28 02:14:46 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:34 2008 -0700"
      },
      "message": "gpio: define gpio_is_valid()\n\nIntroduce a gpio_is_valid() predicate; use it in gpiolib.\n\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@pengutronix.de\u003e\n    [ use inline function; follow the gpio_* naming convention;\n      work without gpiolib; all programming interfaces need docs ]\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "438d8908b379b6322fc3b28d45c9ebdddf58bc20",
      "tree": "ce9439dc8c7e5d9e80f514751fb3b4ce4e414233",
      "parents": [
        "73fcdc9e15c27bb92595c611c8938a36645ea20d"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "g.liakhovetski@pengutronix.de",
        "time": "Mon Apr 28 02:14:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:34 2008 -0700"
      },
      "message": "gpiolib: better rmmod infrastructure\n\nAs long as one or more GPIOs on a gpio chip are used its driver should not be\nunloaded.  The existing mechanism (gpiochip_remove failure) doesn\u0027t address\nthat, since rmmod can no longer be made to fail by having the cleanup code\nreport errors.  Module usecounts are the solution.\n\nAssuming standard \"initialize struct to zero\" policies, this change won\u0027t\naffect SOC platform drivers.  However, drivers for external chips (on I2C and\nSPI busses) should be updated if they can be built as modules.\n\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@pengutronix.de\u003e\n[ gpio_ensure_requested() needs to update module usecounts too ]\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "73fcdc9e15c27bb92595c611c8938a36645ea20d",
      "tree": "74aca4cdffd3bd557f9583ca1a3485473e81f21f",
      "parents": [
        "37772ac0fcc6728df47e6b0609766b7b77a8064b"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Mon Apr 28 02:14:43 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:34 2008 -0700"
      },
      "message": "i2o: remove static inline forward declarations\n\nNothing in between of them and the later declaration with body\nneeds them.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "50f8c370e77befe9121720bd7bdada2ac0d13915",
      "tree": "24e38a076b70e41664f2ff259c9d072b1b9e46de",
      "parents": [
        "1b445a9c21f593be9d3c4ab912359d2c51c371dd"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Mon Apr 28 02:14:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:33 2008 -0700"
      },
      "message": "quota: convert stub functions from macros into inlines\n\nFixes things like this:\n\nfs/super.c: In function `deactivate_super\u0027:\nfs/super.c:182: warning: statement with no effect\nfs/super.c: In function `do_remount_sb\u0027:\nfs/super.c:644: warning: statement with no effect\n\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0ff5af8340aa6be44220d7237ef4a654314cf795",
      "tree": "a9536ea573725931cd4eb3139f4885887e3f8bf8",
      "parents": [
        "03f6e92bdd467aed9d7571a571868563ae6ad288"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Apr 28 02:14:33 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:33 2008 -0700"
      },
      "message": "quota: quota core changes for quotaon on remount\n\nCurrently, we just turn quotas off on remount of filesystem to read-only\nstate.  The patch below adds necessary framework so that we can turn quotas\noff on remount RO but we are able to automatically reenable them again when\nfilesystem is remounted to RW state.  All we need to do is to keep references\nto inodes of quota files when remounting RO and using these references to\nreenable quotas when remounting RW.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "03f6e92bdd467aed9d7571a571868563ae6ad288",
      "tree": "b10ba6373ffeb0d929ec9004faafcc0ac64103c0",
      "parents": [
        "8794b5b246cf6f67baf57bd9db386e79ca5cac33"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Apr 28 02:14:32 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:33 2008 -0700"
      },
      "message": "quota: various style cleanups\n\nCleanups in quota code:\n  Change __inline__ to inline.\n  Change some macros to inline functions.\n  Remove vfs_quota_off_mount() macro.\n  DQUOT_OFF() should be (0) is CONFIG_QUOTA is disabled.\n  Move declaration of mark_dquot_dirty and dirty_dquot from quota.h to dquot.c\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "338bf9afda91ec005a1e9a0de4af0271cc167d56",
      "tree": "e60edf0441efbe8215cdeb08bf05c1b6afff58a1",
      "parents": [
        "3b0cb4caefeca6fe6b05c6c5a76e9c633b44c58f"
      ],
      "author": {
        "name": "Andrew Perepechko",
        "email": "andrew.perepechko@sun.com",
        "time": "Mon Apr 28 02:14:31 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:32 2008 -0700"
      },
      "message": "quota: do not allow setting of quota limits to too high values\n\nWe should check whether quota limits set via Q_SETQUOTA are not exceeding\nlimits which quota format is able to handle.\n\nSigned-off-by: Andrew Perepechko \u003candrew.perepechko@sun.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "26b31c1908e02a316edfba08080373342e662c14",
      "tree": "d9140d82ccc9ed3faa2062549d0e7471da9c9b29",
      "parents": [
        "4a296e07c3a410c09b9155da4c2fa84a07964f38"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Mon Apr 28 02:14:29 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:32 2008 -0700"
      },
      "message": "kprobes: add (un)register_jprobes for batch registration\n\nIntroduce unregister_/register_jprobes() for jprobe batch registration.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nCc: Prasanna S Panchamukhi \u003cprasanna@in.ibm.com\u003e\nCc: Shaohua Li \u003cshaohua.li@intel.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: \"Frank Ch. Eigler\" \u003cfche@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4a296e07c3a410c09b9155da4c2fa84a07964f38",
      "tree": "d6070555a2ddf026a7c8534689b425c0e931dcfe",
      "parents": [
        "9861668f747895608cea425f8457989d8dd2edf2"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Mon Apr 28 02:14:29 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:32 2008 -0700"
      },
      "message": "kprobes: add (un)register_kretprobes for batch registration\n\nIntroduce unregister_/register_kretprobes() for kretprobe batch registration.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nCc: Prasanna S Panchamukhi \u003cprasanna@in.ibm.com\u003e\nCc: Shaohua Li \u003cshaohua.li@intel.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: \"Frank Ch. Eigler\" \u003cfche@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9861668f747895608cea425f8457989d8dd2edf2",
      "tree": "db5dad352826407afb549a8cfa44d4c66823af15",
      "parents": [
        "99602572812442d47403d85f376ad51298dd82a6"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Mon Apr 28 02:14:28 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:32 2008 -0700"
      },
      "message": "kprobes: add (un)register_kprobes for batch registration\n\nIntroduce unregister_/register_kprobes() for kprobe batch registration.  This\ncan reduce waiting time for synchronized_sched() when a lot of probes have to\nbe unregistered at once.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nCc: Prasanna S Panchamukhi \u003cprasanna@in.ibm.com\u003e\nCc: Shaohua Li \u003cshaohua.li@intel.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: \"Frank Ch. Eigler\" \u003cfche@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "99602572812442d47403d85f376ad51298dd82a6",
      "tree": "204948267936e9a3f1c430d970c9a68f1583b55d",
      "parents": [
        "3d8d996e0ca5b4093203d3f050b0f70b5c949ae8"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Mon Apr 28 02:14:27 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:32 2008 -0700"
      },
      "message": "list.h: add list_is_singular()\n\nAdd list_is_singular() to check a list has just one entry.\n\nlist_is_singular() is useful to check whether a list_head which have been\ntemporarily allocated for listing objects can be released or not.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3d8d996e0ca5b4093203d3f050b0f70b5c949ae8",
      "tree": "2b19d3a47bf723c3bf6ff7c8a0d90078feaee08c",
      "parents": [
        "0341a4d0fdd2a0a3d9e2bb3a9afef9f8292c8502"
      ],
      "author": {
        "name": "Srinivasa Ds",
        "email": "srinivasa@in.ibm.com",
        "time": "Mon Apr 28 02:14:26 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:32 2008 -0700"
      },
      "message": "kprobes: prevent probing of preempt_schedule()\n\nProhibit users from probing preempt_schedule().  One way of prohibiting the\nuser from probing functions is by marking such functions with __kprobes.  But\nthis method doesn\u0027t work for those functions, which are already marked to\ndifferent section like preempt_schedule() (belongs to __sched section).  So we\nuse blacklist approach to refuse user from probing these functions.\n\nIn blacklist approach we populate the blacklisted function\u0027s starting address\nand its size in kprobe_blacklist structure.  Then we verify the user specified\naddress against start and end of the blacklisted function.  So any attempt to\nregister probe on blacklisted functions will be rejected.\n\n[akpm@linux-foundation.org: build fix]\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Srinivasa DS \u003csrinivasa@in.ibm.com\u003e\nSigned-off-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nSigned-off-by: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0341a4d0fdd2a0a3d9e2bb3a9afef9f8292c8502",
      "tree": "e073b06ad0d0e4a7d3aaed487db0655feadb31bb",
      "parents": [
        "f7440b0ecdeb3a04d07c546d02d29700d2a574b7"
      ],
      "author": {
        "name": "Karl Dahlke",
        "email": "eklhad@comcast.net",
        "time": "Mon Apr 28 02:14:25 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:32 2008 -0700"
      },
      "message": "VT notifier extension for accessibility\n\nSome accessibility modules need to be able to catch the output on the\nconsole before the VT interpretation, and possibly swallow it.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Samuel Thibault \u003csamuel.thibault@ens-lyon.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "61711f8fd8180e458cfb6846bcf4fc636a95f3db",
      "tree": "d5c0a40de101622accdacfdbb18a183239596ca7",
      "parents": [
        "5d9f3f6b7c4c9fe1706006f24f964e7c0fa49fb7"
      ],
      "author": {
        "name": "Magnus Damm",
        "email": "magnus.damm@gmail.com",
        "time": "Mon Apr 28 02:14:22 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:32 2008 -0700"
      },
      "message": "sm501: add uart support\n\nThis patch extends the sm501 mfd with 8250 uart support. We\u0027re currently\ndoing this in the board specific r2d-1 code already, but it would be nice to\ndo move things into the mfd since it\u0027s more chip specific than board specific.\n\nSigned-off-by: Magnus Damm \u003cdamm@igel.co.jp\u003e\nCc: Ben Dooks \u003cben-linux@fluff.org\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7ae9392c0a3bc01562361bb21e23dfb2e5c81c5a",
      "tree": "96affc937131086ee823d328f1b8c06b167350e2",
      "parents": [
        "d83fd8a26769c75d51a6b05d8dcb3e36302dd8ba"
      ],
      "author": {
        "name": "Thomas Petazzoni",
        "email": "thomas.petazzoni@free-electrons.com",
        "time": "Mon Apr 28 02:14:14 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:30 2008 -0700"
      },
      "message": "x86: configurable DMI scanning code\n\nTurn CONFIG_DMI into a selectable option if EMBEDDED is defined, in\norder to be able to remove the DMI table scanning code if it\u0027s not\nneeded, and then reduce the kernel code size.\n\nWith CONFIG_DMI (i.e before) :\n\n   text    data     bss     dec     hex filename\n1076076  128656   98304 1303036  13e1fc vmlinux\n\nWithout CONFIG_DMI (i.e after) :\n\n   text    data     bss     dec     hex filename\n1068092  126308   98304 1292704  13b9a0 vmlinux\n\nResult:\n\n   text    data     bss     dec     hex filename\n  -7984   -2348       0  -10332   -285c vmlinux\n\nThe new option appears in \"Processor type and features\", only when\nCONFIG_EMBEDDED is defined.\n\nThis patch is part of the Linux Tiny project, and is based on previous work\ndone by Matt Mackall \u003cmpm@selenic.com\u003e.\n\nSigned-off-by: Thomas Petazzoni \u003cthomas.petazzoni@free-electrons.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Anvin\" \u003chpa@zytor.com\u003e\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fc3f341b5a1a3f26ec8ed74a38234db7d0d1bae1",
      "tree": "d7c0bc678f4b83ddf66bb9b9501d72a02a39fa11",
      "parents": [
        "baac58955d6933571f29126a1a95299b421faef7"
      ],
      "author": {
        "name": "Yoichi Yuasa",
        "email": "yoichi_yuasa@tripeaks.co.jp",
        "time": "Mon Apr 28 02:14:08 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:30 2008 -0700"
      },
      "message": "serial: add VR41xx SIU setup for serial console\n\nAdd VR41xx SIU setup for serial console.\n\nSigned-off-by: Yoichi Yuasa \u003cyoichi_yuasa@tripeaks.co.jp\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0fab6de09c71a976e5d765e1ff548b14be385153",
      "tree": "74782032b89218366fc999f570c01e7d6a105be6",
      "parents": [
        "7a63ce5a1f2fde5ae737f059e2714e441447120c"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Apr 28 02:14:02 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:29 2008 -0700"
      },
      "message": "synclink drivers bool conversion\n\nRemove more TRUE/FALSE defines and uses\nRemove \u003d\u003d TRUE tests\nConvert BOOLEAN to bool\nConvert int to bool where appropriate\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nAcked-by: Paul Fulghum \u003cpaulkf@microgate.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cdf8803768db6f652d498628fe1421a23c025253",
      "tree": "284315ddbecc55e6212c0afd6a9aced8313fe6f7",
      "parents": [
        "5dc62b1b6408396d5f6c13ed585adc87b2e296f9"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Mon Apr 28 02:13:59 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:29 2008 -0700"
      },
      "message": "ncpfs: add prototypes to ncp_fs.h\n\nRemoves some externs from C files, noticed from the sparse warnings:\nfs/ncpfs/dir.c:90:26: warning: symbol \u0027ncp_root_dentry_operations\u0027 was not declared. Should it be static?\nfs/ncpfs/symlink.c:107:5: warning: symbol \u0027ncp_symlink\u0027 was not declared. Should it be static?\nfs/ncpfs/symlink.c:101:39: warning: symbol \u0027ncp_symlink_aops\u0027 was not declared. Should it be static?\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nAcked-by: Petr Vandrovec \u003cVANDROVE@vc.cvut.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "16a26ef5ad31b59c521bd9becccaee84c0157326",
      "tree": "6650f06644b525bb0420ed68c4998172f8dd3b57",
      "parents": [
        "5fd284fd976232dbd0d0dc94e07c91e50e2898b2"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Mon Apr 28 02:13:51 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:28 2008 -0700"
      },
      "message": "cris: add constfy to pgd_offset()\n\nadd constfy to pgd_offset() for avoid following warnings.\n\n  CC      mm/pagewalk.o\nmm/pagewalk.c: In function \u0027walk_page_range\u0027:\nmm/pagewalk.c:111: warning: passing argument 1 of \u0027pgd_offset\u0027 discards qualifiers from p\\\nointer target type\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: \"Vegard Nossum\" \u003cvegard.nossum@gmail.com\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: Jesper Nilsson \u003cjesper.nilsson@axis.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ed6b9b97f42c091630335bfb71a2931e6f86388b",
      "tree": "1c003a652308955da0677f8d05b6ad110f5dee48",
      "parents": [
        "037f436f525dac36c9f5fd5c5054518a63debb3e"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Mon Apr 28 02:13:48 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:27 2008 -0700"
      },
      "message": "alpha: teach the compiler that BUG doesn\u0027t return\n\nFix things like this:\n\nsecurity/selinux/netnode.c: In function \u0027sel_netnode_find\u0027:\nsecurity/selinux/netnode.c:126: warning: \u0027idx\u0027 may be used uninitialized in this function\nsecurity/selinux/netnode.c: In function \u0027sel_netnode_sid\u0027:\nsecurity/selinux/netnode.c:225: warning: \u0027ret\u0027 may be used uninitialized in this function\nsecurity/selinux/netnode.c:168: warning: \u0027idx\u0027 may be used uninitialized in this function\n\ndue to code correctly not expecting BUG() to return.\n\nFor some reason this reduces the object code size for that particular file.\n\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "95d193a90335b4e39dd1f750f1fc1672339ff487",
      "tree": "13a82fc9b253b4fef79665a2921fecb277b03a61",
      "parents": [
        "bbb8d343affd21850849fa4d41bf91c7527a3d04"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Mon Apr 28 02:13:46 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:27 2008 -0700"
      },
      "message": "alpha: replace __inline with inline\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3898b1b4ebff8dcfbcf1807e0661585e06c9a91c",
      "tree": "69a338864dfe654f68064a599c5d0da460df34ac",
      "parents": [
        "4016a1390d07f15b267eecb20e76a48fd5c524ef"
      ],
      "author": {
        "name": "Andrew G. Morgan",
        "email": "morgan@kernel.org",
        "time": "Mon Apr 28 02:13:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:26 2008 -0700"
      },
      "message": "capabilities: implement per-process securebits\n\nFilesystem capability support makes it possible to do away with (set)uid-0\nbased privilege and use capabilities instead.  That is, with filesystem\nsupport for capabilities but without this present patch, it is (conceptually)\npossible to manage a system with capabilities alone and never need to obtain\nprivilege via (set)uid-0.\n\nOf course, conceptually isn\u0027t quite the same as currently possible since few\nuser applications, certainly not enough to run a viable system, are currently\nprepared to leverage capabilities to exercise privilege.  Further, many\napplications exist that may never get upgraded in this way, and the kernel\nwill continue to want to support their setuid-0 base privilege needs.\n\nWhere pure-capability applications evolve and replace setuid-0 binaries, it is\ndesirable that there be a mechanisms by which they can contain their\nprivilege.  In addition to leveraging the per-process bounding and inheritable\nsets, this should include suppressing the privilege of the uid-0 superuser\nfrom the process\u0027 tree of children.\n\nThe feature added by this patch can be leveraged to suppress the privilege\nassociated with (set)uid-0.  This suppression requires CAP_SETPCAP to\ninitiate, and only immediately affects the \u0027current\u0027 process (it is inherited\nthrough fork()/exec()).  This reimplementation differs significantly from the\nhistorical support for securebits which was system-wide, unwieldy and which\nhas ultimately withered to a dead relic in the source of the modern kernel.\n\nWith this patch applied a process, that is capable(CAP_SETPCAP), can now drop\nall legacy privilege (through uid\u003d0) for itself and all subsequently\nfork()\u0027d/exec()\u0027d children with:\n\n  prctl(PR_SET_SECUREBITS, 0x2f);\n\nThis patch represents a no-op unless CONFIG_SECURITY_FILE_CAPABILITIES is\nenabled at configure time.\n\n[akpm@linux-foundation.org: fix uninitialised var warning]\n[serue@us.ibm.com: capabilities: use cap_task_prctl when !CONFIG_SECURITY]\nSigned-off-by: Andrew G. Morgan \u003cmorgan@kernel.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nReviewed-by: James Morris \u003cjmorris@namei.org\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: Paul Moore \u003cpaul.moore@hp.com\u003e\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8cece85ec744bdc7ea0fc2d33f65b3f031c28468",
      "tree": "f11f84a37cf53f4db78d12b6372b7fe105ddccf5",
      "parents": [
        "2309f9e6fe3f1de661eab9613f7903ab4420c753"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Mon Apr 28 02:13:36 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:26 2008 -0700"
      },
      "message": "mm: fix broken gfp_zone with __GFP_THISNODE\n\nThis hack, \"base \u003d MAX_NR_ZONES\", at __GFP_THISNODE was used for old\nzonliests.\n\nNow, new zonelist[] have a list for __GFP_THISNODE and this hack is incorrect.\nShould be removed.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e70260aabea3af2a84b951e75166dcebe689b88e",
      "tree": "196dc5f2804f9f5496f51954330a036e3a2762d8",
      "parents": [
        "9d99217a02a06a7cc83f065b73e976970970c58c"
      ],
      "author": {
        "name": "Yasunori Goto",
        "email": "y-goto@jp.fujitsu.com",
        "time": "Mon Apr 28 02:13:32 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:25 2008 -0700"
      },
      "message": "memory hotplug: make alloc_bootmem_section()\n\nalloc_bootmem_section() can allocate specified section\u0027s area.  This is used\nfor usemap to keep same section with pgdat by later patch.\n\nSigned-off-by: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nCc: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nCc: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "04753278769f3b6c3b79a080edb52f21d83bf6e2",
      "tree": "0dff4088b44016b6d04930b2fc09419412821aa2",
      "parents": [
        "7f2e9525ba55b1c42ad6c4a5a59d7eb7bdd9be72"
      ],
      "author": {
        "name": "Yasunori Goto",
        "email": "y-goto@jp.fujitsu.com",
        "time": "Mon Apr 28 02:13:31 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:25 2008 -0700"
      },
      "message": "memory hotplug: register section/node id to free\n\nThis patch set is to free pages which is allocated by bootmem for\nmemory-hotremove.  Some structures of memory management are allocated by\nbootmem.  ex) memmap, etc.\n\nTo remove memory physically, some of them must be freed according to\ncircumstance.  This patch set makes basis to free those pages, and free\nmemmaps.\n\nBasic my idea is using remain members of struct page to remember information\nof users of bootmem (section number or node id).  When the section is\nremoving, kernel can confirm it.  By this information, some issues can be\nsolved.\n\n  1) When the memmap of removing section is allocated on other\n     section by bootmem, it should/can be free.\n  2) When the memmap of removing section is allocated on the\n     same section, it shouldn\u0027t be freed. Because the section has to be\n     logical memory offlined already and all pages must be isolated against\n     page allocater. If it is freed, page allocator may use it which will\n     be removed physically soon.\n  3) When removing section has other section\u0027s memmap,\n     kernel will be able to show easily which section should be removed\n     before it for user. (Not implemented yet)\n  4) When the above case 2), the page isolation will be able to check and skip\n     memmap\u0027s page when logical memory offline (offline_pages()).\n     Current page isolation code fails in this case because this page is\n     just reserved page and it can\u0027t distinguish this pages can be\n     removed or not. But, it will be able to do by this patch.\n     (Not implemented yet.)\n  5) The node information like pgdat has similar issues. But, this\n     will be able to be solved too by this.\n     (Not implemented yet, but, remembering node id in the pages.)\n\nFortunately, current bootmem allocator just keeps PageReserved flags,\nand doesn\u0027t use any other members of page struct. The users of\nbootmem doesn\u0027t use them too.\n\nThis patch:\n\nThis is to register information which is node or section\u0027s id.  Kernel can\ndistinguish which node/section uses the pages allcated by bootmem.  This is\nbasis for hot-remove sections or nodes.\n\nSigned-off-by: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nCc: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nCc: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7f2e9525ba55b1c42ad6c4a5a59d7eb7bdd9be72",
      "tree": "10792496f50b4b0fed8a2c356a8819ae8f9ce47f",
      "parents": [
        "8fe627ec5b7c47b1654dff50536d9709863295a3"
      ],
      "author": {
        "name": "Gerald Schaefer",
        "email": "gerald.schaefer@de.ibm.com",
        "time": "Mon Apr 28 02:13:29 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:25 2008 -0700"
      },
      "message": "hugetlbfs: common code update for s390\n\nHuge ptes have a special type on s390 and cannot be handled with the standard\npte functions in certain cases, e.g.  because of a different location of the\ninvalid bit.  This patch adds some new architecture- specific functions to\nhugetlb common code, as a prerequisite for the s390 large page support.\n\nThis won\u0027t affect other architectures in functionality, but I need to add some\nnew dummy inline functions to the headers.\n\nAcked-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Gerald Schaefer \u003cgerald.schaefer@de.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8fe627ec5b7c47b1654dff50536d9709863295a3",
      "tree": "78511553eb4111224e89ef02a9436d0db382694b",
      "parents": [
        "6d779079bfd1196e077bb1d0a906c37ae770b102"
      ],
      "author": {
        "name": "Gerald Schaefer",
        "email": "gerald.schaefer@de.ibm.com",
        "time": "Mon Apr 28 02:13:28 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:25 2008 -0700"
      },
      "message": "hugetlbfs: add missing TLB flush to hugetlb_cow()\n\nA cow break on a hugetlbfs page with page_count \u003e 1 will set a new pte with\nset_huge_pte_at(), w/o any tlb flush operation.  The old pte will remain in\nthe tlb and subsequent write access to the page will result in a page fault\nloop, for as long as it may take until the tlb is flushed from somewhere else.\n This patch introduces an architecture-specific huge_ptep_clear_flush()\nfunction, which is called before the the set_huge_pte_at() in hugetlb_cow().\n\nATTENTION: This is just a nop on all architectures for now, the s390\nimplementation will come with our large page patch later.  Other architectures\nshould define their own huge_ptep_clear_flush() if needed.\n\nAcked-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Gerald Schaefer \u003cgerald.schaefer@de.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6d779079bfd1196e077bb1d0a906c37ae770b102",
      "tree": "880b17a8c5d4badb548773928868606826899c68",
      "parents": [
        "71fe804b6d56d6a7aed680e096901434cef6a2c3"
      ],
      "author": {
        "name": "Gerald Schaefer",
        "email": "gerald.schaefer@de.ibm.com",
        "time": "Mon Apr 28 02:13:27 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:25 2008 -0700"
      },
      "message": "hugetlbfs: architecture header cleanup\n\nThis patch moves all architecture functions for hugetlb to architecture header\nfiles (include/asm-foo/hugetlb.h) and converts all macros to inline functions.\n It also removes (!) ARCH_HAS_HUGEPAGE_ONLY_RANGE,\nARCH_HAS_HUGETLB_FREE_PGD_RANGE, ARCH_HAS_PREPARE_HUGEPAGE_RANGE,\nARCH_HAS_SETCLEAR_HUGE_PTE and ARCH_HAS_HUGETLB_PREFAULT_HOOK.\n\nGetting rid of the ARCH_HAS_xxx #ifdef and macro fugliness should increase\nreadability and maintainability, at the price of some code duplication.  An\nasm-generic common part would have reduced the loc, but we would end up with\nnew ARCH_HAS_xxx defines eventually.\n\nAcked-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Gerald Schaefer \u003cgerald.schaefer@de.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "71fe804b6d56d6a7aed680e096901434cef6a2c3",
      "tree": "3dd437e09fe6ee57644c72c79e08c562d4bb6389",
      "parents": [
        "3f226aa1cbc006f9d90f22084f519ad2a1286cd8"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Mon Apr 28 02:13:26 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:25 2008 -0700"
      },
      "message": "mempolicy: use struct mempolicy pointer in shmem_sb_info\n\nThis patch replaces the mempolicy mode, mode_flags, and nodemask in the\nshmem_sb_info struct with a struct mempolicy pointer, initialized to NULL.\nThis removes dependency on the details of mempolicy from shmem.c and hugetlbfs\ninode.c and simplifies the interfaces.\n\nmpol_parse_str() in mempolicy.c is changed to return, via a pointer to a\npointer arg, a struct mempolicy pointer on success.  For MPOL_DEFAULT, the\nreturned pointer is NULL.  Further, mpol_parse_str() now takes a \u0027no_context\u0027\nargument that causes the input nodemask to be stored in the w.user_nodemask of\nthe created mempolicy for use when the mempolicy is installed in a tmpfs inode\nshared policy tree.  At that time, any cpuset contextualization is applied to\nthe original input nodemask.  This preserves the previous behavior where the\ninput nodemask was stored in the superblock.  We can think of the returned\nmempolicy as \"context free\".\n\nBecause mpol_parse_str() is now calling mpol_new(), we can remove from\nmpol_to_str() the semantic checks that mpol_new() already performs.\n\nAdd \u0027no_context\u0027 parameter to mpol_to_str() to specify that it should format\nthe nodemask in w.user_nodemask for \u0027bind\u0027 and \u0027interleave\u0027 policies.\n\nChange mpol_shared_policy_init() to take a pointer to a \"context free\" struct\nmempolicy and to create a new, \"contextualized\" mempolicy using the mode,\nmode_flags and user_nodemask from the input mempolicy.\n\n  Note: we know that the mempolicy passed to mpol_to_str() or\n  mpol_shared_policy_init() from a tmpfs superblock is \"context free\".  This\n  is currently the only instance thereof.  However, if we found more uses for\n  this concept, and introduced any ambiguity as to whether a mempolicy was\n  context free or not, we could add another internal mode flag to identify\n  context free mempolicies.  Then, we could remove the \u0027no_context\u0027 argument\n  from mpol_to_str().\n\nAdded shmem_get_sbmpol() to return a reference counted superblock mempolicy,\nif one exists, to pass to mpol_shared_policy_init().  We must add the\nreference under the sb stat_lock to prevent races with replacement of the mpol\nby remount.  This reference is removed in mpol_shared_policy_init().\n\n[akpm@linux-foundation.org: build fix]\n[akpm@linux-foundation.org: another build fix]\n[akpm@linux-foundation.org: yet another build fix]\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "095f1fc4ebf36c64fddf9b6db29b1ab5517378e6",
      "tree": "39aae9d5b05d8501d1794e92c6115331c0a40848",
      "parents": [
        "2291990ab36b4b2d8a81b1f92e7a046e51632a60"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Mon Apr 28 02:13:23 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:24 2008 -0700"
      },
      "message": "mempolicy: rework shmem mpol parsing and display\n\nmm/shmem.c currently contains functions to parse and display memory policy\nstrings for the tmpfs \u0027mpol\u0027 mount option.  Move this to mm/mempolicy.c with\nthe rest of the mempolicy support.  With subsequent patches, we\u0027ll be able to\nremove knowledge of the details [mode, flags, policy, ...] completely from\nshmem.c\n\n1) replace shmem_parse_mpol() in mm/shmem.c with mpol_parse_str() in\n   mm/mempolicy.c.  Rework to use the policy_types[] array [used by\n   mpol_to_str()] to look up mode by name.\n\n2) use mpol_to_str() to format policy for shmem_show_mpol().  mpol_to_str()\n   expects a pointer to a struct mempolicy, so temporarily construct one.\n   This will be replaced with a reference to a struct mempolicy in the tmpfs\n   superblock in a subsequent patch.\n\n   NOTE 1: I changed mpol_to_str() to use a colon \u0027:\u0027 rather than an equal\n   sign \u0027\u003d\u0027 as the nodemask delimiter to match mpol_parse_str() and the\n   tmpfs/shmem mpol mount option formatting that now uses mpol_to_str().  This\n   is a user visible change to numa_maps, but then the addition of the mode\n   flags already changed the display.  It makes sense to me to have the mounts\n   and numa_maps display the policy in the same format.  However, if anyone\n   objects strongly, I can pass the desired nodemask delimeter as an arg to\n   mpol_to_str().\n\n   Note 2: Like show_numa_map(), I don\u0027t check the return code from\n   mpol_to_str().  I do use a longer buffer than the one provided by\n   show_numa_map(), which seems to have sufficed so far.\n\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fc36b8d3d819047eb4d23ca079fb4d3af20ff076",
      "tree": "65ee215a6bdca1e8d4ac4b57525445d7d1829c1d",
      "parents": [
        "53f2556b6792ed99fde965f5e061749edd455623"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Mon Apr 28 02:13:21 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:24 2008 -0700"
      },
      "message": "mempolicy: use MPOL_F_LOCAL to Indicate Preferred Local Policy\n\nNow that we\u0027re using \"preferred local\" policy for system default, we need to\nmake this as fast as possible.  Because of the variable size of the mempolicy\nstructure [based on size of nodemasks], the preferred_node may be in a\ndifferent cacheline from the mode.  This can result in accessing an extra\ncacheline in the normal case of system default policy.  Suspect this is the\ncause of an observed 2-3% slowdown in page fault testing relative to kernel\nwithout this patch series.\n\nTo alleviate this, use an internal mode flag, MPOL_F_LOCAL in the mempolicy\nflags member which is guaranteed [?] to be in the same cacheline as the mode\nitself.\n\nVerified that reworked mempolicy now performs slightly better on 25-rc8-mm1\nfor both anon and shmem segments with system default and vma [preferred local]\npolicy.\n\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "52cd3b074050dd664380b5e8cfc85d4a6ed8ad48",
      "tree": "fcfcf55c0e81376ea34919fab26e29bedd7f3b88",
      "parents": [
        "a6020ed759404372e8be2b276e85e51735472cc9"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Mon Apr 28 02:13:16 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:24 2008 -0700"
      },
      "message": "mempolicy: rework mempolicy Reference Counting [yet again]\n\nAfter further discussion with Christoph Lameter, it has become clear that my\nearlier attempts to clean up the mempolicy reference counting were a bit of\noverkill in some areas, resulting in superflous ref/unref in what are usually\nfast paths.  In other areas, further inspection reveals that I botched the\nunref for interleave policies.\n\nA separate patch, suitable for upstream/stable trees, fixes up the known\nerrors in the previous attempt to fix reference counting.\n\nThis patch reworks the memory policy referencing counting and, one hopes,\nsimplifies the code.  Maybe I\u0027ll get it right this time.\n\nSee the update to the numa_memory_policy.txt document for a discussion of\nmemory policy reference counting that motivates this patch.\n\nSummary:\n\nLookup of mempolicy, based on (vma, address) need only add a reference for\nshared policy, and we need only unref the policy when finished for shared\npolicies.  So, this patch backs out all of the unneeded extra reference\ncounting added by my previous attempt.  It then unrefs only shared policies\nwhen we\u0027re finished with them, using the mpol_cond_put() [conditional put]\nhelper function introduced by this patch.\n\nNote that shmem_swapin() calls read_swap_cache_async() with a dummy vma\ncontaining just the policy.  read_swap_cache_async() can call alloc_page_vma()\nmultiple times, so we can\u0027t let alloc_page_vma() unref the shared policy in\nthis case.  To avoid this, we make a copy of any non-null shared policy and\nremove the MPOL_F_SHARED flag from the copy.  This copy occurs before reading\na page [or multiple pages] from swap, so the overhead should not be an issue\nhere.\n\nI introduced a new static inline function \"mpol_cond_copy()\" to copy the\nshared policy to an on-stack policy and remove the flags that would require a\nconditional free.  The current implementation of mpol_cond_copy() assumes that\nthe struct mempolicy contains no pointers to dynamically allocated structures\nthat must be duplicated or reference counted during copy.\n\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a6020ed759404372e8be2b276e85e51735472cc9",
      "tree": "1fb0a346909dcc9d3b916671001af87b17931ddd",
      "parents": [
        "aab0b1029f0843756b68e0ed3ca983685bf43ed6"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Mon Apr 28 02:13:14 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:24 2008 -0700"
      },
      "message": "mempolicy: document {set|get}_policy() vm_ops APIs\n\nDocument mempolicy return value reference semantics assumed by the rest of the\nmempolicy code for the set_ and get_policy vm_ops in \u003clinux/mm.h\u003e--where the\nprototypes are defined--to inform any future mempolicy vm_op writers what the\nrest of the subsystem expects of them.\n\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "aab0b1029f0843756b68e0ed3ca983685bf43ed6",
      "tree": "95a0546c908a1c7a3bf1353f433ff1464faf68db",
      "parents": [
        "45c4745af381851b0406d8e4db99e62e265691c2"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Mon Apr 28 02:13:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:24 2008 -0700"
      },
      "message": "mempolicy: mark shared policies for unref\n\nAs part of yet another rework of mempolicy reference counting, we want to be\nable to identify shared policies efficiently, because they have an extra ref\ntaken on lookup that needs to be removed when we\u0027re finished using the policy.\n\n  Note:  the extra ref is required because the policies are\n  shared between tasks/processes and can be changed/freed\n  by one task while another task is using them--e.g., for\n  page allocation.\n\nBuilding on David Rientjes mempolicy \"mode flags\" enhancement, this patch\nindicates a \"shared\" policy by setting a new MPOL_F_SHARED flag in the flags\nmember of the struct mempolicy added by David.  MPOL_F_SHARED, and any future\n\"internal mode flags\" are reserved from bit zero up, as they will never be\npassed in the upper bits of the mode argument of a mempolicy API.\n\nI set the MPOL_F_SHARED flag when the policy is installed in the shared policy\nrb-tree.  Don\u0027t need/want to clear the flag when removing from the tree as the\nmempolicy is freed [unref\u0027d] internally to the sp_delete() function.  However,\na task could hold another reference on this mempolicy from a prior lookup.  We\nneed the MPOL_F_SHARED flag to stay put so that any tasks holding a ref will\nunref, eventually freeing, the mempolicy.\n\nA later patch in this series will introduce a function to conditionally unref\n[mpol_free] a policy.  The MPOL_F_SHARED flag is one reason [currently the\nonly reason] to unref/free a policy via the conditional free.\n\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "45c4745af381851b0406d8e4db99e62e265691c2",
      "tree": "d93f6f7b3d7eb3773aaa80444c56baff99e670d6",
      "parents": [
        "ae4d8c16aa22775f5731677abb8a82f03cec877e"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Mon Apr 28 02:13:12 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:24 2008 -0700"
      },
      "message": "mempolicy: rename struct mempolicy \u0027policy\u0027 member to \u0027mode\u0027\n\nThe terms \u0027policy\u0027 and \u0027mode\u0027 are both used in various places to describe the\nsemantics of the value stored in the \u0027policy\u0027 member of struct mempolicy.\nFurthermore, the term \u0027policy\u0027 is used to refer to that member, to the entire\nstruct mempolicy and to the more abstract concept of the tuple consisting of a\n\"mode\" and an optional node or set of nodes.  Recently, we have added \"mode\nflags\" that are passed in the upper bits of the \u0027mode\u0027 [or sometimes,\n\u0027policy\u0027] member of the numa APIs.\n\nI\u0027d like to resolve this confusion, which perhaps only exists in my mind, by\nrenaming the \u0027policy\u0027 member to \u0027mode\u0027 throughout, and fixing up the\nDocumentation.  Man pages will be updated separately.\n\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "846a16bf0fc80dc95a414ffce465e3cbf9680247",
      "tree": "45e03061c5e3d8242bf470509771926f37177415",
      "parents": [
        "f0be3d32b05d3fea2fcdbbb81a39dac2a7163169"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Mon Apr 28 02:13:09 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:23 2008 -0700"
      },
      "message": "mempolicy: rename mpol_copy to mpol_dup\n\nThis patch renames mpol_copy() to mpol_dup() because, well, that\u0027s what it\ndoes.  Like, e.g., strdup() for strings, mpol_dup() takes a pointer to an\nexisting mempolicy, allocates a new one and copies the contents.\n\nIn a later patch, I want to use the name mpol_copy() to copy the contents from\none mempolicy to another like, e.g., strcpy() does for strings.\n\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f0be3d32b05d3fea2fcdbbb81a39dac2a7163169",
      "tree": "5794ce6a8befbce82cd3e44ff15fbf3bb5f2f3bf",
      "parents": [
        "3b1163006332302117b1b2acf226d4014ff46525"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Mon Apr 28 02:13:08 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:23 2008 -0700"
      },
      "message": "mempolicy: rename mpol_free to mpol_put\n\nThis is a change that was requested some time ago by Mel Gorman.  Makes sense\nto me, so here it is.\n\nNote: I retain the name \"mpol_free_shared_policy()\" because it actually does\nfree the shared_policy, which is NOT a reference counted object.  However, ...\n\nThe mempolicy object[s] referenced by the shared_policy are reference counted,\nso mpol_put() is used to release the reference held by the shared_policy.  The\nmempolicy might not be freed at this time, because some task attached to the\nshared object associated with the shared policy may be in the process of\nallocating a page based on the mempolicy.  In that case, the task performing\nthe allocation will hold a reference on the mempolicy, obtained via\nmpol_shared_policy_lookup().  The mempolicy will be freed when all tasks\nholding such a reference have called mpol_put() for the mempolicy.\n\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3b1163006332302117b1b2acf226d4014ff46525",
      "tree": "c9e43179620cfe612ce57795cb0b1e1ceb2c9d1b",
      "parents": [
        "122c7a59055c77434118d7dd4dff4b625d4a2c15"
      ],
      "author": {
        "name": "Adam Litke",
        "email": "agl@us.ibm.com",
        "time": "Mon Apr 28 02:13:06 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:23 2008 -0700"
      },
      "message": "Subject: [PATCH] hugetlb: vmstat events for huge page allocations\n\nAllocating huge pages directly from the buddy allocator is not guaranteed to\nsucceed.  Success depends on several factors (such as the amount of physical\nmemory available and the level of fragmentation).  With the addition of\ndynamic hugetlb pool resizing, allocations can occur much more frequently.\nFor these reasons it is desirable to keep track of huge page allocation\nsuccesses and failures.\n\nAdd two new vmstat entries to track huge page allocations that succeed and\nfail.  The presence of the two entries is contingent upon CONFIG_HUGETLB_PAGE\nbeing enabled.\n\n[akpm@linux-foundation.org: reduced ifdeffery]\nSigned-off-by: Adam Litke \u003cagl@us.ibm.com\u003e\nSigned-off-by: Eric Munson \u003cebmunson@us.ibm.com\u003e\nTested-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a08cb629f546d1cecebe955392197f226e58dbe1",
      "tree": "1cbab3071f6d35a0f58abc0ad3b05641ed41df6b",
      "parents": [
        "70688e4dd1647f0ceb502bbd5964fa344c5eb411"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Mon Apr 28 02:13:03 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:23 2008 -0700"
      },
      "message": "s390: implement pte special bit\n\nConvert XIP to support non-struct page backed memory, using VM_MIXEDMAP for\nthe user mappings.\n\nThis requires the get_xip_page API to be changed to an address based one.\nImprove the API layering a little bit too, while we\u0027re here.\n\nThis is required in order to support XIP filesystems on memory that isn\u0027t\nbacked with struct page (but memory with struct page is still supported too).\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nAcked-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nCc: Jared Hulbert \u003cjaredeh@gmail.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "70688e4dd1647f0ceb502bbd5964fa344c5eb411",
      "tree": "e0bd8c3b4b6050c067a453d800c2e87948d1abaf",
      "parents": [
        "30afcb4bd2762fa4b87b17ada9500aa46dc10b1b"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Mon Apr 28 02:13:02 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:23 2008 -0700"
      },
      "message": "xip: support non-struct page backed memory\n\nConvert XIP to support non-struct page backed memory, using VM_MIXEDMAP for\nthe user mappings.\n\nThis requires the get_xip_page API to be changed to an address based one.\nImprove the API layering a little bit too, while we\u0027re here.\n\nThis is required in order to support XIP filesystems on memory that isn\u0027t\nbacked with struct page (but memory with struct page is still supported too).\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nAcked-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nCc: Jared Hulbert \u003cjaredeh@gmail.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "30afcb4bd2762fa4b87b17ada9500aa46dc10b1b",
      "tree": "0920f491a37683a8784c146270b98f82a7e0aa2c",
      "parents": [
        "423bad600443c590f34ed7ce357591f76f48f137"
      ],
      "author": {
        "name": "Jared Hulbert",
        "email": "jaredeh@gmail.com",
        "time": "Mon Apr 28 02:13:02 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:23 2008 -0700"
      },
      "message": "return pfn from direct_access, for XIP\n\nAlter the block device -\u003edirect_access() API to work with the new\nget_xip_mem() API (that requires both kaddr and pfn are returned).\n\nSome architectures will not do the right thing in their virt_to_page() for use\nby XIP (to translate from the kernel virtual address returned by\ndirect_access(), to a user mappable pfn in XIP\u0027s page fault handler.\n\nHowever, we can\u0027t switch it to just return the pfn and not the kaddr, because\nwe have no good way to get a kva from a pfn, and XIP requires the kva for its\nread(2) and write(2) handlers.  So we have to return both.\n\nSigned-off-by: Jared Hulbert \u003cjaredeh@gmail.com\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Carsten Otte \u003ccotte@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: linux-mm@kvack.org\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "423bad600443c590f34ed7ce357591f76f48f137",
      "tree": "79487f811bf1097f2592c4d20f688d1b1ec41e25",
      "parents": [
        "7e675137a8e1a4d45822746456dd389b65745bf6"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Mon Apr 28 02:13:01 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:23 2008 -0700"
      },
      "message": "mm: add vm_insert_mixed\n\nvm_insert_mixed will insert either a raw pfn or a refcounted struct page into\nthe page tables, depending on whether vm_normal_page() will return the page or\nnot.  With the introduction of the new pte bit, this is now a too tricky for\ndrivers to be doing themselves.\n\nfilemap_xip uses this in a subsequent patch.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Jared Hulbert \u003cjaredeh@gmail.com\u003e\nCc: Carsten Otte \u003ccotte@de.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7e675137a8e1a4d45822746456dd389b65745bf6",
      "tree": "5df01d23ea1b6b212d18f2136ff82913fcbe7718",
      "parents": [
        "b379d790197cdf8a95fb67507d75a24ac0a1678d"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Mon Apr 28 02:13:00 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:23 2008 -0700"
      },
      "message": "mm: introduce pte_special pte bit\n\ns390 for one, cannot implement VM_MIXEDMAP with pfn_valid, due to their memory\nmodel (which is more dynamic than most).  Instead, they had proposed to\nimplement it with an additional path through vm_normal_page(), using a bit in\nthe pte to determine whether or not the page should be refcounted:\n\nvm_normal_page()\n{\n\t...\n        if (unlikely(vma-\u003evm_flags \u0026 (VM_PFNMAP|VM_MIXEDMAP))) {\n                if (vma-\u003evm_flags \u0026 VM_MIXEDMAP) {\n#ifdef s390\n\t\t\tif (!mixedmap_refcount_pte(pte))\n\t\t\t\treturn NULL;\n#else\n                        if (!pfn_valid(pfn))\n                                return NULL;\n#endif\n                        goto out;\n                }\n\t...\n}\n\nThis is fine, however if we are allowed to use a bit in the pte to determine\nrefcountedness, we can use that to _completely_ replace all the vma based\nschemes.  So instead of adding more cases to the already complex vma-based\nscheme, we can have a clearly seperate and simple pte-based scheme (and get\nslightly better code generation in the process):\n\nvm_normal_page()\n{\n#ifdef s390\n\tif (!mixedmap_refcount_pte(pte))\n\t\treturn NULL;\n\treturn pte_page(pte);\n#else\n\t...\n#endif\n}\n\nAnd finally, we may rather make this concept usable by any architecture rather\nthan making it s390 only, so implement a new type of pte state for this.\nUnfortunately the old vma based code must stay, because some architectures may\nnot be able to spare pte bits.  This makes vm_normal_page a little bit more\nugly than we would like, but the 2 cases are clearly seperate.\n\nSo introduce a pte_special pte state, and use it in mm/memory.c.  It is\ncurrently a noop for all architectures, so this doesn\u0027t actually result in any\ncompiled code changes to mm/memory.o.\n\nBTW:\nI haven\u0027t put vm_normal_page() into arch code as-per an earlier suggestion.\nThe reason is that, regardless of where vm_normal_page is actually\nimplemented, the *abstraction* is still exactly the same. Also, while it\ndepends on whether the architecture has pte_special or not, that is the\nonly two possible cases, and it really isn\u0027t an arch specific function --\nthe role of the arch code should be to provide primitive functions and\naccessors with which to build the core code; pte_special does that. We do\nnot want architectures to know or care about vm_normal_page itself, and\nwe definitely don\u0027t want them being able to invent something new there\nout of sight of mm/ code. If we made vm_normal_page an arch function, then\nwe have to make vm_insert_mixed (next patch) an arch function too. So I\ndon\u0027t think moving it to arch code fundamentally improves any abstractions,\nwhile it does practically make the code more difficult to follow, for both\nmm and arch developers, and easier to misuse.\n\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nAcked-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nCc: Jared Hulbert \u003cjaredeh@gmail.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b379d790197cdf8a95fb67507d75a24ac0a1678d",
      "tree": "8ea36c9a0766aca3cfd69cd33aa8a5d2ca8dd2d4",
      "parents": [
        "214e471ff99064726b2d8af3aa0e24a73c775531"
      ],
      "author": {
        "name": "Jared Hulbert",
        "email": "jaredeh@gmail.com",
        "time": "Mon Apr 28 02:12:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:22 2008 -0700"
      },
      "message": "mm: introduce VM_MIXEDMAP\n\nThis series introduces some important infrastructure work.  The overall result\nis that:\n\n1. We now support XIP backed filesystems using memory that have no\n   struct page allocated to them. And patches 6 and 7 actually implement\n   this for s390.\n\n   This is pretty important in a number of cases. As far as I understand,\n   in the case of virtualisation (eg. s390), each guest may mount a\n   readonly copy of the same filesystem (eg. the distro). Currently,\n   guests need to allocate struct pages for this image. So if you have\n   100 guests, you already need to allocate more memory for the struct\n   pages than the size of the image. I think. (Carsten?)\n\n   For other (eg. embedded) systems, you may have a very large non-\n   volatile filesystem. If you have to have struct pages for this, then\n   your RAM consumption will go up proportionally to fs size. Even\n   though it is just a small proportion, the RAM can be much more costly\n   eg in terms of power, so every KB less that Linux uses makes it more\n   attractive to a lot of these guys.\n\n2. VM_MIXEDMAP allows us to support mappings where you actually do want\n   to refcount _some_ pages in the mapping, but not others, and support\n   COW on arbitrary (non-linear) mappings. Jared needs this for his NVRAM\n   filesystem in progress. Future iterations of this filesystem will\n   most likely want to migrate pages between pagecache and XIP backing,\n   which is where the requirement for mixed (some refcounted, some not)\n   comes from.\n\n3. pte_special also has a peripheral usage that I need for my lockless\n   get_user_pages patch. That was shown to speed up \"oltp\" on db2 by\n   10% on a 2 socket system, which is kind of significant because they\n   scrounge for months to try to find 0.1% improvement on these\n   workloads. I\u0027m hoping we might finally be faster than AIX on\n   pSeries with this :). My reference to lockless get_user_pages is not\n   meant to justify this patchset (which doesn\u0027t include lockless gup),\n   but just to show that pte_special is not some s390 specific thing that\n   should be hidden in arch code or xip code: I definitely want to use it\n   on at least x86 and powerpc as well.\n\nThis patch:\n\nIntroduce a new type of mapping, VM_MIXEDMAP.  This is unlike VM_PFNMAP in\nthat it can support COW mappings of arbitrary ranges including ranges without\nstruct page *and* ranges with a struct page that we actually want to refcount\n(PFNMAP can only support COW in those cases where the un-COW-ed translations\nare mapped linearly in the virtual address, and can only support non\nrefcounted ranges).\n\nVM_MIXEDMAP achieves this by refcounting all pfn_valid pages, and not\nrefcounting !pfn_valid pages (which is not an option for VM_PFNMAP, because it\nneeds to avoid refcounting pfn_valid pages eg.  for /dev/mem mappings).\n\nSigned-off-by: Jared Hulbert \u003cjaredeh@gmail.com\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nAcked-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nCc: Jared Hulbert \u003cjaredeh@gmail.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e20b8cca760ed2a6abcfe37ef56f2306790db648",
      "tree": "85e5610364f73da193ee781be61710fddfbe045f",
      "parents": [
        "97965478a66fbdf0f4ad5e4ecc4828f0cb548a45"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Apr 28 02:12:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:22 2008 -0700"
      },
      "message": "PAGEFLAGS_EXTENDED and separate page flags for Head and Tail\n\nHaving separate page flags for the head and the tail of a compound page allows\nthe compiler to use bitops instead of operations on a word to check for a tail\npage.  That is f.e.  important for virt_to_head_page() which is used in\nvarious critical code paths (kfree for example):\n\nCode for PageTail(page)\n\nBefore:\n\n mov    (%rdi),%rdx\t\tpage-\u003eflags\n mov    %rdx,%rax\t\t3 bytes\n and    $0x12000,%eax\t\t5 bytes\n cmp    $0x12000,%rax\t\t6 bytes\n je     897 \u003ckfree+0xa7\u003e\n\nAfter:\n\n mov    (%rdi),%rax\n test   $0x40,%ah\t\t\t(3 bytes)\n jne    887 \u003ckfree+0x97\u003e\n\nSo we go from 14 bytes to 3 bytes and from 3 instructions to one.  From the\nuse of 2 registers we go to none.\n\nWe can only use page flags for this if we have page flags available.  This\npatch introduces CONFIG_PAGEFLAGS_EXTENDED that is set if pageflags are not\nscarce due to SPARSEMEM using page flags for its sectionid on 32 bit NUMA\nplatforms.\n\nAdditional page flag definitions can be added to the CONFIG_PAGEFLAGS_EXTENDED\nsection in page-flags.h if the functionality depends on PAGEFLAGS_EXTENDED or\nif more page flag overlapping tricks are used for the !PAGEFLAGS_EXTENDED\nfallback (the upcoming virtual compound patch may hook in here and Rik\u0027s/Lee\u0027s\nadditional page flags to solve the reclaim issues could also be added there\n[hint...  hint...  where are these patchsets?]).\n\nAvoiding the overlaying of Pg_reclaim also clears the way for possible use of\ncompound pages for the pagecache or on the LRU.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "97965478a66fbdf0f4ad5e4ecc4828f0cb548a45",
      "tree": "a60bb6c46acdc35d16b2e48f5c13248fc009b35e",
      "parents": [
        "ec7cade8c1a3d1ace69b35cc843b181818578dce"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Apr 28 02:12:54 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:22 2008 -0700"
      },
      "message": "mm: Get rid of __ZONE_COUNT\n\nIt was used to compensate because MAX_NR_ZONES was not available to the\n#ifdefs.  Export MAX_NR_ZONES via the new mechanism and get rid of\n__ZONE_COUNT.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "ec7cade8c1a3d1ace69b35cc843b181818578dce"
}
