)]}'
{
  "log": [
    {
      "commit": "f6a8c60960bbea378142d1fa1b3d111555ee41c7",
      "tree": "1928b9e3fb242b5e220ca9369ec465fd7f05a821",
      "parents": [
        "0f4bd46ec252887f44f1f065b41867cac8f70dfb"
      ],
      "author": {
        "name": "Russell King - ARM Linux",
        "email": "linux@arm.linux.org.uk",
        "time": "Sun Nov 29 15:23:51 2009 +0000"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Wed Jan 13 09:04:53 2010 +0000"
      },
      "message": "mtd: Really add ARM pismo support\n\n(Commit 7cb777a3d71f9d1f7eb149c7a504d21f24219ae8 (mtd: add ARM pismo support)\nintended to add this, but seems only to have patched the Makefile without\ntouching Kconfig or providing any code...)\n\nThe following patch adds support for PISMO modules found on ARM Ltd\ndevelopment platforms.  These are MTD modules, and can have a\nselection of SRAM, flash or DOC devices as described by an on-board\nI2C EEPROM.\n\nWe support SRAM and NOR flash devices only by registering appropriate\nconventional MTD platform devices as children of the \u0027pismo\u0027 device.\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "0f4bd46ec252887f44f1f065b41867cac8f70dfb",
      "tree": "daa176e9f9e1f5e9ba8c5476b5333142f31aa062",
      "parents": [
        "60d9aa758c00f20ade0cb1951f6a934f628dd2d7"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Tue Dec 22 03:15:43 2009 +0000"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Thu Dec 31 19:45:04 2009 +0000"
      },
      "message": "kmsg_dump: Dump on crash_kexec as well\n\ncrash_kexec gets called before kmsg_dump(KMSG_DUMP_OOPS) if\npanic_on_oops is set, so the kernel log buffer is not stored\nfor this case.\n\nThis patch adds a KMSG_DUMP_KEXEC dump type which gets called\nwhen crash_kexec() is invoked. To avoid getting double dumps,\nthe old KMSG_DUMP_PANIC is moved below crash_kexec(). The\nmtdoops driver is modified to handle KMSG_DUMP_KEXEC in the\nsame way as a panic.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: Simon Kagstrom \u003csimon.kagstrom@netinsight.net\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "60d9aa758c00f20ade0cb1951f6a934f628dd2d7",
      "tree": "e3bdfa4ec0d3f9a29a822810b8b9188c7d613cbd",
      "parents": [
        "b2adf0cbec4cf0934c63f48f893e0cebde380d0c",
        "2e16cfca6e17ae37ae21feca080a6f2eca9087dc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 10:23:43 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 10:23:43 2009 -0800"
      },
      "message": "Merge git://git.infradead.org/mtd-2.6\n\n* git://git.infradead.org/mtd-2.6: (90 commits)\n  jffs2: Fix long-standing bug with symlink garbage collection.\n  mtd: OneNAND: Fix test of unsigned in onenand_otp_walk()\n  mtd: cfi_cmdset_0002, fix lock imbalance\n  Revert \"mtd: move mxcnd_remove to .exit.text\"\n  mtd: m25p80: add support for Macronix MX25L4005A\n  kmsg_dump: fix build for CONFIG_PRINTK\u003dn\n  mtd: nandsim: add support for 4KiB pages\n  mtd: mtdoops: refactor as a kmsg_dumper\n  mtd: mtdoops: make record size configurable\n  mtd: mtdoops: limit the maximum mtd partition size\n  mtd: mtdoops: keep track of used/unused pages in an array\n  mtd: mtdoops: several minor cleanups\n  core: Add kernel message dumper to call on oopses and panics\n  mtd: add ARM pismo support\n  mtd: pxa3xx_nand: Fix PIO data transfer\n  mtd: nand: fix multi-chip suspend problem\n  mtd: add support for switching old SST chips into QRY mode\n  mtd: fix M29W800D dev_id and uaddr\n  mtd: don\u0027t use PF_MEMALLOC\n  mtd: Add bad block table overrides to Davinci NAND driver\n  ...\n\nFixed up conflicts (mostly trivial) in\n\tdrivers/mtd/devices/m25p80.c\n\tdrivers/mtd/maps/pcmciamtd.c\n\tdrivers/mtd/nand/pxa3xx_nand.c\n\tkernel/printk.c\n"
    },
    {
      "commit": "a79960e576ebca9dbf24489b562689f2be7e9ff0",
      "tree": "b0748839230c2bba1d49ccdd732608d7d1f334cb",
      "parents": [
        "661e338f728d101b4839b6b157d44cfcb80e3c5e",
        "cd7bcf32d42b15891620b3f1387a00178b54291a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 10:11:38 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 10:11:38 2009 -0800"
      },
      "message": "Merge git://git.infradead.org/iommu-2.6\n\n* git://git.infradead.org/iommu-2.6:\n  implement early_io{re,un}map for ia64\n  Revert \"Intel IOMMU: Avoid memory allocation failures in dma map api calls\"\n  intel-iommu: ignore page table validation in pass through mode\n  intel-iommu: Fix oops with intel_iommu\u003digfx_off\n  intel-iommu: Check for an RMRR which ends before it starts.\n  intel-iommu: Apply BIOS sanity checks for interrupt remapping too.\n  intel-iommu: Detect DMAR in hyperspace at probe time.\n  dmar: Fix build failure without NUMA, warn on bogus RHSA tables and don\u0027t abort\n  iommu: Allocate dma-remapping structures using numa locality info\n  intr_remap: Allocate intr-remapping table using numa locality info\n  dmar: Allocate queued invalidation structure using numa locality info\n  dmar: support for parsing Remapping Hardware Static Affinity structure\n"
    },
    {
      "commit": "6a5df38f5f07981dda5457ec6c05efe1c4200d84",
      "tree": "d82c3862f7ba719d7723111140a0c89e6387cb19",
      "parents": [
        "9cfc86249f32d984339c6d1f8a1fd1326989b3b8",
        "262ab9ac0daadebcece8e3cbf3ae66ee8774cfd7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 10:09:16 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 10:09:16 2009 -0800"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (116 commits)\n  V4L/DVB (13698): pms: replace asm/uaccess.h to linux/uaccess.h\n  V4L/DVB (13690): radio/si470x: #include \u003csched.h\u003e\n  V4L/DVB (13688): au8522: modify the attributes of local filter coefficients\n  V4L/DVB (13687): cx231xx: use NULL when pointer is needed\n  V4L/DVB: Davinci VPFE Capture: remove unused #include \u003clinux/version.h\u003e\n  V4L/DVB (13685): Correct code taking the size of a pointer\n  V4L/DVB (13684): Fix some cut-and-paste noise in dib0090.h\n  V4L/DVB (13683): sanio-ms: clean up init, exit and id_table\n  V4L/DVB (13682): dib8000: make some constant static\n  V4L/DVB: lgs8gxx: Use shifts rather than multiply/divide when possible\n  V4L/DVB (13680b): DocBook/media: create links for included sources\n  V4L/DVB (13680a): DocBook/media: copy images after building HTML\n  V4L/DVB (13678): Add support for yet another DvbWorld, TeVii and Prof USB devices\n  V4L/DVB (13676): configurable IRQ mode on NetUP Dual DVB-S2 CI; IRQ from CAM processing (CI interface works faster)\n  V4L/DVB (13674): stv090x: Add DiSEqC envelope mode\n  V4L/DVB (13673): lnbp21: Implement 22 kHz tone control\n  V4L/DVB (13671): sh_mobile_ceu_camera: Remove frame size page alignment\n  V4L/DVB (13670): soc-camera: Add mt9t112 camera driver\n  V4L/DVB (13669): tw9910: Add sync polarity support\n  V4L/DVB (13668): tw9910: remove cropping\n  ...\n"
    },
    {
      "commit": "9cfc86249f32d984339c6d1f8a1fd1326989b3b8",
      "tree": "56428d319483f54949de8d9d0a5b3f715287ed91",
      "parents": [
        "f42647acc4eab1befa9e290691ed7a40f9a7d3cc",
        "243797f59b748f679ab88d456fcc4f92236d724b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 10:06:39 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 10:06:39 2009 -0800"
      },
      "message": "Merge branch \u0027akpm\u0027\n\n* akpm: (173 commits)\n  genalloc: use bitmap_find_next_zero_area\n  ia64: use bitmap_find_next_zero_area\n  sparc: use bitmap_find_next_zero_area\n  mlx4: use bitmap_find_next_zero_area\n  isp1362-hcd: use bitmap_find_next_zero_area\n  iommu-helper: use bitmap library\n  bitmap: introduce bitmap_set, bitmap_clear, bitmap_find_next_zero_area\n  qnx4: use hweight8\n  qnx4fs: remove remains of the (defunct) write support\n  resource: constify arg to resource_size() and resource_type()\n  gru: send cross partition interrupts using the gru\n  gru: function to generate chipset IPI values\n  gru: update driver version number\n  gru: improve GRU TLB dropin statistics\n  gru: fix GRU interrupt race at deallocate\n  gru: add hugepage support\n  gru: fix bug in allocation of kernel contexts\n  gru: update GRU structures to match latest hardware spec\n  gru: check for correct GRU chiplet assignment\n  gru: remove stray local_irq_enable\n  ...\n"
    },
    {
      "commit": "a66022c457755b5eef61e30866114679c95e1f54",
      "tree": "acf5cbe134398b9541dfa0db267205e6c579cb6b",
      "parents": [
        "c1a2a962a2ad103846e7950b4591471fabecece7"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Tue Dec 15 16:48:28 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:18 2009 -0800"
      },
      "message": "iommu-helper: use bitmap library\n\nUse bitmap library and kill some unused iommu helper functions.\n\n1. s/iommu_area_free/bitmap_clear/\n\n2. s/iommu_area_reserve/bitmap_set/\n\n3. Use bitmap_find_next_zero_area instead of find_next_zero_area\n\n  This cannot be simple substitution because find_next_zero_area\n  doesn\u0027t check the last bit of the limit in bitmap\n\n4. Remove iommu_area_free, iommu_area_reserve, and find_next_zero_area\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Joerg Roedel \u003cjoerg.roedel@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": "c1a2a962a2ad103846e7950b4591471fabecece7",
      "tree": "9a06ab8d1c65037456bad02c821033197f67f03f",
      "parents": [
        "868d64812ae84e8f094e0bcf95157c7d79d625ec"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Tue Dec 15 16:48:25 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:18 2009 -0800"
      },
      "message": "bitmap: introduce bitmap_set, bitmap_clear, bitmap_find_next_zero_area\n\nThis introduces new bitmap functions:\n\nbitmap_set: Set specified bit area\nbitmap_clear: Clear specified bit area\nbitmap_find_next_zero_area: Find free bit area\n\nThese are mostly stolen from iommu helper. The differences are:\n\n- Use find_next_bit instead of doing test_bit for each bit\n\n- Rewrite bitmap_set and bitmap_clear\n\n  Instead of setting or clearing for each bit.\n\n- Check the last bit of the limit\n\n  iommu-helper doesn\u0027t want to find such area\n\n- The return value if there is no zero area\n\n  find_next_zero_area in iommu helper: returns -1\n  bitmap_find_next_zero_area: return \u003e\u003d bitmap size\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCc: Lothar Wassmann \u003cLW@KARO-electronics.de\u003e\nCc: Roland Dreier \u003crolandd@cisco.com\u003e\nCc: Yevgeny Petrilin \u003cyevgenyp@mellanox.co.il\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Fenghua Yu \u003cfenghua.yu@intel.com\u003e\nCc: Joerg Roedel \u003cjoerg.roedel@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": "f65380c07b64b0e45ad5c7d70ca54a9cde1c00db",
      "tree": "f0ea736f2c3b21af00dbc085ea53d47847f9632f",
      "parents": [
        "76148df19cbd5437dc5358408a58c7cc6366ecf4"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Tue Dec 15 16:48:21 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:17 2009 -0800"
      },
      "message": "resource: constify arg to resource_size() and resource_type()\n\nresource_size() doesn\u0027t change the resource it operates on, so the res\nparameter can be marked const.  Same for resource_type().\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nReviewed-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5fe878ae7f82fbf0830dbfaee4c5ca18f3aee442",
      "tree": "7e7ad290cfb30705948d8ebeb46b013afa913f42",
      "parents": [
        "23aee091d804efa8cc732a31c1ae5d625e1ec886"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Dec 15 16:47:50 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:13 2009 -0800"
      },
      "message": "direct-io: cleanup blockdev_direct_IO locking\n\nCurrently the locking in blockdev_direct_IO is a mess, we have three\ndifferent locking types and very confusing checks for some of them.  The\nmost complicated one is DIO_OWN_LOCKING for reads, which happens to not\nactually be used.\n\nThis patch gets rid of the DIO_OWN_LOCKING - as mentioned above the read\ncase is unused anyway, and the write side is almost identical to\nDIO_NO_LOCKING.  The difference is that DIO_NO_LOCKING always sets the\ncreate argument for the get_blocks callback to zero, but we can easily\nmove that to the actual get_blocks callbacks.  There are four users of the\nDIO_NO_LOCKING mode: gfs already ignores the create argument and thus is\nfine with the new version, ocfs2 only errors out if create were ever set,\nand we can remove this dead code now, the block device code only ever uses\ncreate for an error message if we are fully beyond the device which can\nnever happen, and last but not least XFS will need the new behavour for\nwrites.\n\nNow we can replace the lock_type variable with a flags one, where no flag\nmeans the DIO_NO_LOCKING behaviour and DIO_LOCKING is kept as the first\nflag.  Separate out the check for not allowing to fill holes into a\nseparate flag, although for now both flags always get set at the same\ntime.\n\nAlso revamp the documentation of the locking scheme to actually make\nsense.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nCc: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Zach Brown \u003czach.brown@oracle.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Alex Elder \u003caelder@sgi.com\u003e\nCc: Mark Fasheh \u003cmfasheh@suse.com\u003e\nCc: Joel Becker \u003cjoel.becker@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": "fac046ad0b1ee2c4244ebf43a26433ef0ea29ae4",
      "tree": "a2354b6b80efebbbd0d0f24a325a722ad06b5a54",
      "parents": [
        "ea58ceb543b45d45b257a86eaf9d60c94e8adcf2"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Tue Dec 15 16:47:47 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:13 2009 -0800"
      },
      "message": "aio: remove unused field\n\nDon\u0027t know the reason, but it appears ki_wait field of iocb never gets used.\n\nSigned-off-by: Shaohua Li \u003cshaohua.li@intel.com\u003e\nCc: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nCc: Benjamin LaHaise \u003cbcrl@kvack.org\u003e\nCc: Zach Brown \u003czach.brown@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": "06a7f711246b081afc21fff859f1003f1f2a0fbc",
      "tree": "aece49693ad751923ce71387201d3c3e6214e335",
      "parents": [
        "1f2c19f8c959c1d0ccd3e33b1f480593b66d95dd"
      ],
      "author": {
        "name": "Amerigo Wang",
        "email": "amwang@redhat.com",
        "time": "Tue Dec 15 16:47:46 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:13 2009 -0800"
      },
      "message": "kexec: premit reduction of the reserved memory size\n\nImplement shrinking the reserved memory for crash kernel, if it is more\nthan enough.\n\nFor example, if you have already reserved 128M, now you just want 100M,\nyou can do:\n\n# echo $((100*1024*1024)) \u003e /sys/kernel/kexec_crash_size\n\nNote, you can only do this before loading the crash kernel.\n\nSigned-off-by: WANG Cong \u003camwang@redhat.com\u003e\nCc: Neil Horman \u003cnhorman@redhat.com\u003e\nAcked-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9cf18e1dd74cd0061d58ac55029784ca3dd88f6a",
      "tree": "cec024557847462d5c6d3b9b52f4d59c08dc40c7",
      "parents": [
        "e5cc9c7b1a3e7ae4d700d9fce168fb597bcfe9b6"
      ],
      "author": {
        "name": "Amerigo Wang",
        "email": "amwang@redhat.com",
        "time": "Tue Dec 15 16:47:36 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:10 2009 -0800"
      },
      "message": "ipc: HARD_MSGMAX should be higher not lower on 64bit\n\nWe have HARD_MSGMAX lower on 64bit than on 32bit, since usually 64bit\nmachines have more memory than 32bit machines.\n\nMaking it higher on 64bit seems reasonable, and keep the original number\non 32bit.\n\nAcked-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nSigned-off-by: WANG Cong \u003camwang@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": "b97e820ffffbf49e94ed60c9c26f1a54bccae924",
      "tree": "195146c43d24051aada20a211f2bb146bfebe9d2",
      "parents": [
        "b6e90822e77cd476c18410f7003197d466e36ac6"
      ],
      "author": {
        "name": "Manfred Spraul",
        "email": "manfred@colorfullife.com",
        "time": "Tue Dec 15 16:47:32 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:10 2009 -0800"
      },
      "message": "ipc/sem.c: add a per-semaphore pending list\n\nBased on Nick\u0027s findings:\n\nsysv sem has the concept of semaphore arrays that consist out of multiple\nsemaphores.  Atomic operations that affect multiple semaphores are\nsupported.\n\nThe patch is the first step for optimizing simple, single semaphore\noperations: In addition to the global list of all pending operations, a\n2nd, per-semaphore list with the simple operations is added.\n\nNote: this patch does not make sense by itself, the new list is used\nnowhere.\n\nSigned-off-by: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Pierre Peiffer \u003cpeifferp@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ad09750b51150ca87531b8790a379214a974c167",
      "tree": "785520da252e18a058642c7bc95dda35100e4565",
      "parents": [
        "7486e5d9fc773cb67c29381567bed5236fc9573c"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Tue Dec 15 16:47:25 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:09 2009 -0800"
      },
      "message": "signals: kill force_sig_specific()\n\nKill force_sig_specific(), this trivial wrapper has no callers.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@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": "614c517d7c00af1b26ded20646b329397d6f51a1",
      "tree": "ddd7a82b3479c9fabe141b4c82a1794650a82b4f",
      "parents": [
        "d51965037325e51f6cd68583413243c3573e47b0"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Tue Dec 15 16:47:22 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:08 2009 -0800"
      },
      "message": "signals: SEND_SIG_NOINFO should be considered as SI_FROMUSER()\n\nNo changes in compiled code. The patch adds the new helper, si_fromuser()\nand changes check_kill_permission() to use this helper.\n\nThe real effect of this patch is that from now we \"officially\" consider\nSEND_SIG_NOINFO signal as \"from user-space\" signals. This is already true\nif we look at the code which uses SEND_SIG_NOINFO, except __send_signal()\nhas another opinion - see the next patch.\n\nThe naming of these special SEND_SIG_XXX siginfo\u0027s is really bad\nimho.  From __send_signal()\u0027s pov they mean\n\n\tSEND_SIG_NOINFO\t\tfrom user\n\tSEND_SIG_PRIV\t\tfrom kernel\n\tSEND_SIG_FORCED\t\tno info\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nReviewed-by: Sukadev Bhattiprolu \u003csukadev@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": "2f0edac5555983dc28033acce8a355f588fd01b2",
      "tree": "a17d83571df83ca0a09bd048f01e8d9d2e9bbff7",
      "parents": [
        "25baa35befeebe6a4a8d8d12a4fc5b95918bda54"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Tue Dec 15 16:47:19 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:08 2009 -0800"
      },
      "message": "ptrace: change tracehook_report_syscall_exit() to handle stepping\n\nSuggested by Roland.\n\nChange tracehook_report_syscall_exit() to look at step flag and send the\ntrap signal if needed.\n\nThis change affects ia64, microblaze, parisc, powerpc, sh.  They pass\nnonzero \"step\" argument to tracehook but since it was ignored the tracee\nreports via ptrace_notify(), this is not right and not consistent.\n\n\t- PTRACE_SETSIGINFO doesn\u0027t work\n\n\t- if the tracer resumes the tracee with signr !\u003d 0 the new signal\n\t  is generated rather than delivering it\n\n\t- If PT_TRACESYSGOOD is set the tracee reports the wrong exit_code\n\nI don\u0027t have a powerpc machine, but I think this test-case should see the\ndifference:\n\n\t#include \u003cunistd.h\u003e\n\t#include \u003csys/ptrace.h\u003e\n\t#include \u003csys/wait.h\u003e\n\t#include \u003cassert.h\u003e\n\t#include \u003cstdio.h\u003e\n\n\tint main(void)\n\t{\n\t\tint pid, status;\n\n\t\tif (!(pid \u003d fork())) {\n\t\t\tassert(ptrace(PTRACE_TRACEME) \u003d\u003d 0);\n\t\t\tkill(getpid(), SIGSTOP);\n\n\t\t\tgetppid();\n\n\t\t\treturn 0;\n\t\t}\n\n\t\tassert(pid \u003d\u003d wait(\u0026status));\n\t\tassert(ptrace(PTRACE_SETOPTIONS, pid, 0, PTRACE_O_TRACESYSGOOD) \u003d\u003d 0);\n\n\t\tassert(ptrace(PTRACE_SYSCALL, pid, 0,0) \u003d\u003d 0);\n\t\tassert(pid \u003d\u003d wait(\u0026status));\n\n\t\tassert(ptrace(PTRACE_SINGLESTEP, pid, 0,0) \u003d\u003d 0);\n\t\tassert(pid \u003d\u003d wait(\u0026status));\n\n\t\tif (status \u003d\u003d 0x57F)\n\t\t\treturn 0;\n\n\t\tprintf(\"kernel bug: status\u003d%X shouldn\u0027t have 0x80\\n\", status);\n\t\treturn 1;\n\t}\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "85ec7fd9f8e528c4f61d595cfe4df7681a19f252",
      "tree": "67c81a68f3302f02b6f769b9acede7efeb5edc8e",
      "parents": [
        "6580807da14c423f0d0a708108e6df6ebc8bc83d"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Tue Dec 15 16:47:17 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:08 2009 -0800"
      },
      "message": "ptrace: introduce user_single_step_siginfo() helper\n\nSuggested by Roland.\n\nCurrently there is no way to synthesize a single-stepping trap in the\narch-independent manner.  This patch adds the default helper which fills\nsiginfo_t, arch/ can can override it.\n\nArchitetures which implement user_enable_single_step() should add\nuser_single_step_siginfo() also.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c6a47cc2ccf9649ee09eeddd70a6d061bde69568",
      "tree": "b5ff696302607cd8f325199f84f88448e6475b84",
      "parents": [
        "aa20d489ceb024f91aae084ee00c47fc6a12255c"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Tue Dec 15 16:47:15 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:08 2009 -0800"
      },
      "message": "ptrace: cleanup ptrace_init_task()-\u003eptrace_link() path\n\nNo functional changes.\n\nptrace_init_task() looks confusing, as if we always auto-attach when \"bool\nptrace\" argument is true, while in fact we attach only if current is\ntraced.\n\nMake the code more explicit and kill now unused ptrace_link().\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "57f9fd7d25ac9a0d7e3a4ced580e780ab4524e3b",
      "tree": "ff95e62e7326ba7e77903f7f767e9650c0d9b3dd",
      "parents": [
        "a3032a2c15c6967f9f0c0c28375b1a5c833a3112"
      ],
      "author": {
        "name": "Daisuke Nishimura",
        "email": "nishimura@mxp.nes.nec.co.jp",
        "time": "Tue Dec 15 16:47:11 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:07 2009 -0800"
      },
      "message": "memcg: cleanup mem_cgroup_move_parent()\n\nmem_cgroup_move_parent() calls try_charge first and cancel_charge on\nfailure.  IMHO, charge/uncharge(especially charge) is high cost operation,\nso we should avoid it as far as possible.\n\nThis patch tries to delay try_charge in mem_cgroup_move_parent() by\nre-ordering checks it does.\n\nAnd this patch renames mem_cgroup_move_account() to\n__mem_cgroup_move_account(), changes the return value of\n__mem_cgroup_move_account() from int to void, and adds a new\nwrapper(mem_cgroup_move_account()), which checks whether a @pc is valid\nfor moving account and calls __mem_cgroup_move_account().\n\nThis patch removes the last caller of trylock_page_cgroup(), so removes\nits definition too.\n\nSigned-off-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.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": "d8046582d5ee24448800e71c6933fdb6813aa062",
      "tree": "857d014a850deee5ddb6da6550d81ce0122f03b1",
      "parents": [
        "cdec2e4265dfa09490601b00aeabd8a8d4af30f0"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue Dec 15 16:47:09 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:07 2009 -0800"
      },
      "message": "memcg: make memcg\u0027s file mapped consistent with global VM\n\nIn global VM, FILE_MAPPED is used but memcg uses MAPPED_FILE.  This makes\ngrep difficult.  Replace memcg\u0027s MAPPED_FILE with FILE_MAPPED\n\nAnd in global VM, mapped shared memory is accounted into FILE_MAPPED.\nBut memcg doesn\u0027t. fix it.\nNote:\n  page_is_file_cache() just checks SwapBacked or not.\n  So, we need to check PageAnon.\n\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nReviewed-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "569b846df54ffb2827b83ce3244c5f032394cba4",
      "tree": "77c5d373a5edf97710fab8777912971b99e84828",
      "parents": [
        "cd9b45b78a61e8df250e69385c74e729e5b66abf"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue Dec 15 16:47:03 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:07 2009 -0800"
      },
      "message": "memcg: coalesce uncharge during unmap/truncate\n\nIn massive parallel enviroment, res_counter can be a performance\nbottleneck.  One strong techinque to reduce lock contention is reducing\ncalls by coalescing some amount of calls into one.\n\nConsidering charge/uncharge chatacteristic,\n\t- charge is done one by one via demand-paging.\n\t- uncharge is done by\n\t\t- in chunk at munmap, truncate, exit, execve...\n\t\t- one by one via vmscan/paging.\n\nIt seems we have a chance to coalesce uncharges for improving scalability\nat unmap/truncation.\n\nThis patch is a for coalescing uncharge.  For avoiding scattering memcg\u0027s\nstructure to functions under /mm, this patch adds memcg batch uncharge\ninformation to the task.  A reason for per-task batching is for making use\nof caller\u0027s context information.  We do batched uncharge (deleyed\nuncharge) when truncation/unmap occurs but do direct uncharge when\nuncharge is called by memory reclaim (vmscan.c).\n\nThe degree of coalescing depends on callers\n  - at invalidate/trucate... pagevec size\n  - at unmap ....ZAP_BLOCK_SIZE\n(memory itself will be freed in this degree.)\nThen, we\u0027ll not coalescing too much.\n\nOn x86-64 8cpu server, I tested overheads of memcg at page fault by\nrunning a program which does map/fault/unmap in a loop. Running\na task per a cpu by taskset and see sum of the number of page faults\nin 60secs.\n\n[without memcg config]\n  40156968  page-faults              #      0.085 M/sec   ( +-   0.046% )\n  27.67 cache-miss/faults\n[root cgroup]\n  36659599  page-faults              #      0.077 M/sec   ( +-   0.247% )\n  31.58 miss/faults\n[in a child cgroup]\n  18444157  page-faults              #      0.039 M/sec   ( +-   0.133% )\n  69.96 miss/faults\n[child with this patch]\n  27133719  page-faults              #      0.057 M/sec   ( +-   0.155% )\n  47.16 miss/faults\n\nWe can see some amounts of improvement.\n(root cgroup doesn\u0027t affected by this patch)\nAnother patch for \"charge\" will follow this and above will be improved more.\n\nChangelog(since 2009/10/02):\n - renamed filed of memcg_batch (as pages to bytes, memsw to memsw_bytes)\n - some clean up and commentary/description updates.\n - added initialize code to copy_process(). (possible bug fix)\n\nChangelog(old):\n - fixed !CONFIG_MEM_CGROUP case.\n - rebased onto the latest mmotm + softlimit fix patches.\n - unified patch for callers\n - added commetns.\n - make -\u003edo_batch as bool.\n - removed css_get() at el. We don\u0027t need it.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.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": "e3c96f53ac132743fda1384910feb863a2eab916",
      "tree": "48b97fdf50897d5ee97409db86bd4e4d7220be03",
      "parents": [
        "904e812931f001b984912b2d2f653ea69520313c"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Dec 15 16:46:54 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:06 2009 -0800"
      },
      "message": "reiserfs: don\u0027t compile procfs.o at all if no support\n\n* small define cleanup in header\n* fix #ifdeffery in procfs.c via Kconfig\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Jeff Mahoney \u003cjeffm@suse.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "904e812931f001b984912b2d2f653ea69520313c",
      "tree": "c09ae6040d59111bb75594248bdb6b1246e828f3",
      "parents": [
        "f3e2a520f5fb1a1df033efd9c2e5eadb384aad9b"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Dec 15 16:46:52 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:06 2009 -0800"
      },
      "message": "reiserfs: remove /proc/fs/reiserfs/version\n\n/proc/fs/reiserfs/version is on the way of removing -\u003eread_proc interface.\n It\u0027s empty however, so simply remove it instead of doing dummy\nconversion.  It\u0027s hard to see what information userspace can extract from\nempty file.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Jeff Mahoney \u003cjeffm@suse.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3611380490c6ce27a2277709a34b8c5531524caf",
      "tree": "0afbddaa57a0aac765d1ddf7a93e30706300ac1f",
      "parents": [
        "fa1f136e073ddc4e60497c51bc8918569314d38a"
      ],
      "author": {
        "name": "Chaithrika U S",
        "email": "chaithrika@ti.com",
        "time": "Tue Dec 15 16:46:38 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:04 2009 -0800"
      },
      "message": "davinci: fb: update the driver in preparation for addition of power management features\n\nAdd a helper function to enable raster.  Also add one member in the\nprivate data structure to track the current blank status, another function\npointer which takes in the platform specific callback function to control\npanel power.\n\nThese updates will help in adding suspend/resume and frame buffer blank\noperation features.\n\nSigned-off-by: Chaithrika U S \u003cchaithrika@ti.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9265576daeab1a884b11cc4c1087b72b488ca2e3",
      "tree": "e21022eba5e75727ba51fde8d6198cc893dbcf18",
      "parents": [
        "2d72b11cd2f4f81d7f817c3795224061bcefdd9e"
      ],
      "author": {
        "name": "Vincent Sanders",
        "email": "vince@simtec.co.uk",
        "time": "Tue Dec 15 16:46:35 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:04 2009 -0800"
      },
      "message": "sm501: implement acceleration features\n\nThis patch provides the acceleration entry points for the SM501\nframebuffer driver.\n\nThis patch provides the sync, copyarea and fillrect entry points, using\nthe SM501\u0027s 2D acceleration engine to perform the operations in-chip\nrather than across the bus.\n\nSigned-off-by: Ben Dooks \u003cben@simtec.co.uk\u003e\nSigned-off-by: Simtec Linux Team \u003clinux@simtec.co.uk\u003e\nSigned-off-by: Vincent Sanders \u003cvince@simtec.co.uk\u003e\nCc: Krzysztof Helt \u003ckrzysztof.h1@poczta.fm\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0769746183caff9d4334be48c7b0e7d2ec8716c4",
      "tree": "e23768be82bd84cf8331709ecc1fd36c3d468f33",
      "parents": [
        "35570ac6039ef490b9c5abde1fee4803a39bf4e1"
      ],
      "author": {
        "name": "Jani Nikula",
        "email": "ext-jani.1.nikula@nokia.com",
        "time": "Tue Dec 15 16:46:20 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:01 2009 -0800"
      },
      "message": "gpiolib: add support for changing value polarity in sysfs\n\nDrivers may use gpiolib sysfs as part of their public user space\ninterface. The GPIO number and polarity might change from board to\nboard. The gpio_export_link() call can be used to hide the GPIO number\nfrom user space. Add support for also hiding the GPIO line polarity\nchanges from user space.\n\nSigned-off-by: Jani Nikula \u003cext-jani.1.nikula@nokia.com\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "35570ac6039ef490b9c5abde1fee4803a39bf4e1",
      "tree": "59b743b2ff1b1e054fa83b91d5c0c83be98e3cfc",
      "parents": [
        "4efec6272e8e61fc77132b4d2bae56d61b289956"
      ],
      "author": {
        "name": "Richard Röjfors",
        "email": "richard.rojfors@mocean-labs.com",
        "time": "Tue Dec 15 16:46:18 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:00 2009 -0800"
      },
      "message": "gpio: add GPIO driver for the Timberdale FPGA\n\nA GPIO driver for the Timberdale FPGA found on the Intel Atom board\nRussellville.\n\nThe GPIO driver also has an IRQ-chip to support interrupts on the pins.\n\nSigned-off-by: Richard Röjfors \u003crichard.rojfors@mocean-labs.com\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4365a5676fa3aa1d5ae6c90c22a0044f09ba584e",
      "tree": "5b9914ccbdcf2aa695473421e71f6299fbe78cef",
      "parents": [
        "3b4798cbc13dd8d1150aa6377f97f0e11450a67d"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hioryu@jp.fujitsu.com",
        "time": "Tue Dec 15 16:45:33 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:19:57 2009 -0800"
      },
      "message": "oom-kill: fix NUMA constraint check with nodemask\n\nFix node-oriented allocation handling in oom-kill.c I myself think of this\nas a bugfix not as an ehnancement.\n\nIn these days, things are changed as\n  - alloc_pages() eats nodemask as its arguments, __alloc_pages_nodemask().\n  - mempolicy don\u0027t maintain its own private zonelists.\n  (And cpuset doesn\u0027t use nodemask for __alloc_pages_nodemask())\n\nSo, current oom-killer\u0027s check function is wrong.\n\nThis patch does\n  - check nodemask, if nodemask \u0026\u0026 nodemask doesn\u0027t cover all\n    node_states[N_HIGH_MEMORY], this is CONSTRAINT_MEMORY_POLICY.\n  - Scan all zonelist under nodemask, if it hits cpuset\u0027s wall\n    this faiulre is from cpuset.\nAnd\n  - modifies the caller of out_of_memory not to call oom if __GFP_THISNODE.\n    This doesn\u0027t change \"current\" behavior. If callers use __GFP_THISNODE\n    it should handle \"page allocation failure\" by itself.\n\n  - handle __GFP_NOFAIL+__GFP_THISNODE path.\n    This is something like a FIXME but this gfpmask is not used now.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hioryu@jp.fujitsu.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f42647acc4eab1befa9e290691ed7a40f9a7d3cc",
      "tree": "b2ced9ee524f8db99ca2ed64d181e0860a60ff94",
      "parents": [
        "8bea8672edfca7ec5f661cafb218f1205863b343"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Wed Dec 16 08:56:57 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 06:56:12 2009 -0800"
      },
      "message": "fix ksm.h breakage of nommu build\n\nCommit 5ad6468801d28c4d4ac9f48ec19297817c915f6a \"ksm: let shared pages\nbe swappable\" breaks the build on m68knommu and I suspect on any nommu:\n\n  In file included from kernel/fork.c:52:\n  include/linux/ksm.h:129: warning: \u0027enum ttu_flags\u0027 declared inside parameter list\n  include/linux/ksm.h:129: warning: its scope is only this definition or declaration, which is probably not what you want\n  include/linux/ksm.h:129: error: parameter 2 (\u0027flags\u0027) has incomplete type\n  make[1]: *** [kernel/fork.o] Error 1\n  make[1]: *** Waiting for unfinished jobs....\n\nLet\u0027s fix that with CONFIG_MMU around most of the !CONFIG_KSM declarations.\n\nReported-by: Steven King \u003csfking@fdwdc.com\u003e\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nTested-by: Steven King \u003csfking@fdwdc.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "858424b998ae112b2e04f4584bcdc6b0362a714a",
      "tree": "cda123b6561a3b374ea474874ec3df33c88c55e7",
      "parents": [
        "70da92e5740a6ab8bfe0db826c345c85e795f109"
      ],
      "author": {
        "name": "Kuninori Morimoto",
        "email": "morimoto.kuninori@renesas.com",
        "time": "Fri Dec 11 11:53:55 2009 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Wed Dec 16 09:27:41 2009 -0200"
      },
      "message": "V4L/DVB (13670): soc-camera: Add mt9t112 camera driver\n\n create mode 100644 drivers/media/video/mt9t112.c\n create mode 100644 include/media/mt9t112.h\n\nSigned-off-by: Kuninori Morimoto \u003cmorimoto.kuninori@renesas.com\u003e\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@gmx.de\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "85dc1cff0df3a7e3012cf88b94026f954a72c178",
      "tree": "385b4efdd97cca874d7751bf389cfa992e1e74d6",
      "parents": [
        "34cae30b8457cf090f215e212ba019e7c303f8fd"
      ],
      "author": {
        "name": "Kuninori Morimoto",
        "email": "morimoto.kuninori@renesas.com",
        "time": "Fri Dec 11 11:53:54 2009 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Wed Dec 16 09:27:35 2009 -0200"
      },
      "message": "V4L/DVB (13665): sh_mobile_ceu_camera: Add support for sync polarity selection\n\nSigned-off-by: Kuninori Morimoto \u003cmorimoto.kuninori@renesas.com\u003e\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@gmx.de\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "a6b5f2008a3d54b5f5350a01121b718dd6bfead7",
      "tree": "55d3f6551a548f01a031f26ff845163985b59e14",
      "parents": [
        "760697beca338599a65484389c7abbe54aedb664"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "g.liakhovetski@gmx.de",
        "time": "Fri Dec 11 11:53:45 2009 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Wed Dec 16 09:27:30 2009 -0200"
      },
      "message": "V4L/DVB (13661): rj54n1cb0c: Add cropping, auto white balance, restrict sizes, add platform data\n\nIt has been experimentally found out, that the sensor only supports up to\n512x384 video output and also has some restrictions on minimum scale. We\ndisable non-working size ranges until, maybe, someone finds out how to properly\nset them up. Also add cropping support, an auto white balance control, platform\ndata to specify master clock frequency and polarity of the IOCTL pin.\n\n create mode 100644 include/media/rj54n1cb0c.h\n\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@gmx.de\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "760697beca338599a65484389c7abbe54aedb664",
      "tree": "515735429d2240629a6f048ab1a7fefaf5299e46",
      "parents": [
        "9a74251d8bee7a25fee89a0be3ccea73e01c1a05"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "g.liakhovetski@gmx.de",
        "time": "Fri Dec 11 11:46:49 2009 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Wed Dec 16 09:27:29 2009 -0200"
      },
      "message": "V4L/DVB (13659): soc-camera: convert to the new mediabus API\n\nConvert soc-camera core and all soc-camera drivers to the new mediabus\nAPI. This also takes soc-camera client drivers one step closer to also be\nusable with generic v4l2-subdev host drivers.\n\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@gmx.de\u003e\nAcked-by: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "9a74251d8bee7a25fee89a0be3ccea73e01c1a05",
      "tree": "5bffc0457e8fb4e39ac98e7d41423a1512aae498",
      "parents": [
        "faa582610d87edf3ae1d07710a8f7e11c105686c"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "g.liakhovetski@gmx.de",
        "time": "Fri Dec 11 11:41:28 2009 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Wed Dec 16 09:27:27 2009 -0200"
      },
      "message": "V4L/DVB (13658): v4l: add a media-bus API for configuring v4l2 subdev pixel and frame formats\n\nVideo subdevices, like cameras, decoders, connect to video bridges over\nspecialised busses. Data is being transferred over these busses in various\nformats, which only loosely correspond to fourcc codes, describing how video\ndata is stored in RAM. This is not a one-to-one correspondence, therefore we\ncannot use fourcc codes to configure subdevice output data formats. This patch\nadds codes for several such on-the-bus formats and an API, similar to the\nfamiliar .s_fmt(), .g_fmt(), .try_fmt(), .enum_fmt() API for configuring those\ncodes. After all users of the old API in struct v4l2_subdev_video_ops are\nconverted, it will be removed. Also add helper routines to support generic\npass-through mode for the soc-camera framework.\n\n create mode 100644 drivers/media/video/soc_mediabus.c\n create mode 100644 include/media/soc_mediabus.h\n create mode 100644 include/media/v4l2-mediabus.h\n\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@gmx.de\u003e\nAcked-by: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "0f4482940a75b52db931e1fff181c9d267e462d2",
      "tree": "f1b354771394b99aaecbbf56e1c3d82b522b50a4",
      "parents": [
        "3fd7ceffddd52c2f8c004a7999ccb705d592cbfd"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "g.liakhovetski@gmx.de",
        "time": "Fri Dec 11 11:31:35 2009 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Wed Dec 16 09:27:19 2009 -0200"
      },
      "message": "V4L/DVB (13650): soc-camera: switch drivers and platforms to use .priv in struct soc_camera_link\n\nAfter this change drivers can be further extended to not fail, if they don\u0027t\nget platform data, but to use defaults.\n\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@gmx.de\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "3fd7ceffddd52c2f8c004a7999ccb705d592cbfd",
      "tree": "b4e3f818eac7146e0020735f81e915eef046a6f0",
      "parents": [
        "ee81152ff007a94f90327809566a4b7ff771ffd3"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "g.liakhovetski@gmx.de",
        "time": "Fri Dec 11 11:15:06 2009 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Wed Dec 16 09:27:18 2009 -0200"
      },
      "message": "V4L/DVB (13648): soc-camera: add a private field to struct soc_camera_link\n\nUp to now, if a client driver needed platform data apart from those contained\nin struct soc_camera_link, it had to embed the struct into its own object. This\nmakes the use of such a driver in configurations other than soc-camera\n\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "ee81152ff007a94f90327809566a4b7ff771ffd3",
      "tree": "ed2bf2fcd36a26fce7146fb3805389baf5cd2868",
      "parents": [
        "6ed7c03884ee7c05ff880cafb46ae20915e22e3c"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "g.liakhovetski@gmx.de",
        "time": "Fri Dec 11 11:15:06 2009 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Wed Dec 16 09:27:16 2009 -0200"
      },
      "message": "V4L/DVB (13647): v4l: Add a 10-bit monochrome and missing 8- and 10-bit Bayer fourcc codes\n\nThe 16-bit monochrome fourcc code has been previously abused for a 10-bit\nformat, add a new 10-bit code instead. Also add missing 8- and 10-bit Bayer\nfourcc codes for completeness.\n\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@gmx.de\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "5d28d525452f170e30bc038955439731462a5228",
      "tree": "319c221f63b580cdec53a046b2fe5af2e0b92b36",
      "parents": [
        "325361088b73269f4cc96256276a142addbf3454"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "g.liakhovetski@gmx.de",
        "time": "Fri Dec 11 11:15:05 2009 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Wed Dec 16 09:27:15 2009 -0200"
      },
      "message": "V4L/DVB (13645): soc-camera: fix multi-line comment coding style\n\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@gmx.de\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "325361088b73269f4cc96256276a142addbf3454",
      "tree": "6a18f4b10d1df53bfae4a773480fdadfad587b62",
      "parents": [
        "11e3d1adbe0246fc8d6c06f7e42aff5bead25670"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "g.liakhovetski@gmx.de",
        "time": "Fri Dec 11 11:14:46 2009 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Wed Dec 16 09:27:13 2009 -0200"
      },
      "message": "V4L/DVB (13644): v4l: add new v4l2-subdev sensor operations, use g_skip_top_lines in soc-camera\n\nIntroduce new v4l2-subdev sensor operations, move .enum_framesizes() and\n.enum_frameintervals() methods to it, add a new .g_skip_top_lines() method\nand switch soc-camera to use it instead of .y_skip_top soc_camera_device\nmember, which can now be removed.\n\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@gmx.de\u003e\nReviewed-by: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nReviewed-by: Sergio Aguirre \u003csaaguirre@ti.com\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "11e3d1adbe0246fc8d6c06f7e42aff5bead25670",
      "tree": "7051e1292dbc0c6d6c4c6e2a22751f66038c6dbc",
      "parents": [
        "4a4bc5e4f976bf00ae3c96b57a5bcead72ade5ea"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "g.liakhovetski@gmx.de",
        "time": "Fri Dec 11 11:06:00 2009 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Wed Dec 16 09:27:12 2009 -0200"
      },
      "message": "V4L/DVB (13643): soc-camera: remove no longer needed struct members\n\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@gmx.de\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "2e535ed5a16b8cc23301f3d26cfd49f3091aadcc",
      "tree": "5542313815668b4d8a42059abff6912244327d82",
      "parents": [
        "579e7d60ba0035228aadad69eb2ffeb138c51311"
      ],
      "author": {
        "name": "Muralidharan Karicheri",
        "email": "m-karicheri2@ti.com",
        "time": "Thu Dec 10 04:39:47 2009 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Wed Dec 16 00:18:47 2009 -0200"
      },
      "message": "V4L/DVB (13618): v4l2: Adding helper function to get dv preset description\n\nThis patch adds a helper function to get description of a digital\nvideo preset added by the video timing API. This will be useful for drivers\nimplementing the above API.\n\nSigned-off-by: Muralidharan Karicheri \u003cm-karicheri2@ti.com\u003e\nSigned-off-by: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "579e7d60ba0035228aadad69eb2ffeb138c51311",
      "tree": "0872698fe02dba92cead8e9d9a7ca7e7f38e1291",
      "parents": [
        "38ef6aa884e3fd389f7d444b8dd36c16832e36b4"
      ],
      "author": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Fri Dec 11 11:20:59 2009 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Wed Dec 16 00:18:45 2009 -0200"
      },
      "message": "V4L/DVB (13617): ir: move input_register_device() to happen inside ir_input_register()\n\nWe\u0027ll need to register a sysfs class for the IR devices. As such, the better\nis to have the input_register_device()/input_unregister_device() inside\nthe ir register/unregister functions.\n\nAlso, solves a naming problem with V4L ir_input_init() function, that were,\nin fact, registering a device.\n\nWhile here, do a few cleanups at budget-ci IR logic.\n\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "38ef6aa884e3fd389f7d444b8dd36c16832e36b4",
      "tree": "760c7f2f9528e7bc19dbb8b5d5384d473c207a73",
      "parents": [
        "75543cce0c1f46be495b981d8d3eda0882721d07"
      ],
      "author": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Fri Dec 11 09:47:42 2009 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Wed Dec 16 00:18:44 2009 -0200"
      },
      "message": "V4L/DVB (13616): IR: rename ir_input_free as ir_input_unregister\n\nNow, ir_input_free does more than just freeing the keytab. Better to\nrename it as ir_input_unregister.\n\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "75543cce0c1f46be495b981d8d3eda0882721d07",
      "tree": "a9ce0d8919329369b174c63afadc372f82526e54",
      "parents": [
        "865fbf20bed00d456556ecd4b4c9dadc45cba759"
      ],
      "author": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Fri Dec 11 09:44:23 2009 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Wed Dec 16 00:18:44 2009 -0200"
      },
      "message": "V4L/DVB (13615): ir-core: create ir_input_register\n\nMove non-V4L specific stuff from ir-functions ir_input_init() into\na new function to register ir devices: ir_input_register().\n\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "446e4a64d2f6efddc63a47169ba3c8037b620307",
      "tree": "3b14d76f7e93d5b35de50edf85a9179f759adb3d",
      "parents": [
        "e27d38112eb727df189a9ebf560aa104cb102253"
      ],
      "author": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Fri Dec 11 08:34:07 2009 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Wed Dec 16 00:18:42 2009 -0200"
      },
      "message": "V4L/DVB (13613): IR: create ir-core module\n\nSplit the ir-common into two separate modules:\n\t- ir-core: it is the IR-independent functions;\n\t- ir-common: has the common part used by V4L drivers.\n\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "b6456c0cfe9d94e6d2bf684e6e6c031fc0b10031",
      "tree": "e5742dc96ec8b2a74708787e6cb4ceefcc3e2bac",
      "parents": [
        "20d15a200d34cfb7141fb4558895d7d5233db84b"
      ],
      "author": {
        "name": "Muralidharan Karicheri",
        "email": "m-karicheri2@ti.com",
        "time": "Thu Nov 19 12:00:31 2009 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Wed Dec 16 00:18:03 2009 -0200"
      },
      "message": "V4L/DVB (13571): v4l: Adding Digital Video Timings APIs\n\nThis adds the above APIs to the v4l2 core. This is based on version v1.2\nof the RFC titled \"V4L - Support for video timings at the input/output interface\"\nFollowing new ioctls are added:-\n\n        - VIDIOC_ENUM_DV_PRESETS\n        - VIDIOC_S_DV_PRESET\n        - VIDIOC_G_DV_PRESET\n        - VIDIOC_QUERY_DV_PRESET\n        - VIDIOC_S_DV_TIMINGS\n        - VIDIOC_G_DV_TIMINGS\n\nPlease refer to the RFC for the details. This code was tested using vpfe\ncapture driver on TI\u0027s DM365. Following is the test configuration used :-\n\nBlu-Ray HD DVD source -\u003e TVP7002 -\u003e DM365 (VPFE) -\u003eDDR\n\nA draft version of the TVP7002 driver (currently being reviewed in the mailing\nlist) was used that supports V4L2_DV_1080I60 \u0026 V4L2_DV_720P60 presets.\n\nA loopback video capture application was used for testing these APIs. This calls\nfollowing IOCTLS :-\n\n -  verify the new v4l2_input capabilities flag added\n -  Enumerate available presets using VIDIOC_ENUM_DV_PRESETS\n -  Set one of the supported preset using VIDIOC_S_DV_PRESET\n -  Get current preset using VIDIOC_G_DV_PRESET\n -  Detect current preset using VIDIOC_QUERY_DV_PRESET\n -  Using stub functions in tvp7002, verify VIDIOC_S_DV_TIMINGS\n    and VIDIOC_G_DV_TIMINGS ioctls are received at the sub device.\n -  Tested on 64bit platform by Hans Verkuil\n\nSigned-off-by: Muralidharan Karicheri \u003cm-karicheri2@ti.com\u003e\nSigned-off-by: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nReviewed-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "327ae59757f2e56fd3fc2b11acbd0a7c4070f4e8",
      "tree": "e6d1f1b18e49560349194659cfb4b30ff40da9de",
      "parents": [
        "46b21094cee16bc7e531d7d6cd66fb5ea05065d4"
      ],
      "author": {
        "name": "Laurent Pinchart",
        "email": "laurent.pinchart@ideasonboard.com",
        "time": "Fri Nov 27 13:57:55 2009 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Wed Dec 16 00:17:58 2009 -0200"
      },
      "message": "V4L/DVB (13557): v4l: Remove unneeded video_device::minor usage in drivers\n\nThe video_device::minor field is used where it shouldn\u0027t, either to\n\n- test for error conditions that can\u0027t happen anymore with the current\n  v4l-dvb core,\n- store the value in a driver private field that isn\u0027t used anymore,\n- check the video device type where video_device::vfl_type should be\n  used, or\n- create the name of a kernel thread that should get a stable name.\n\nRemove or fix those use cases.\n\nSigned-off-by: Laurent Pinchart \u003claurent.pinchart@ideasonboard.com\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "957b4aa9f786cf04585a690a2e4c3dc867ce80e9",
      "tree": "f99f1350ab853529cdf586225f44490d8bcf1e34",
      "parents": [
        "0fda5d4420fe1d6a19189386b6bc6532c97a7e0e"
      ],
      "author": {
        "name": "Laurent Pinchart",
        "email": "laurent.pinchart@ideasonboard.com",
        "time": "Fri Nov 27 13:57:22 2009 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Wed Dec 16 00:17:55 2009 -0200"
      },
      "message": "V4L/DVB (13552): v4l: Replace video_is_unregistered with video_is_registered\n\nReplace the video_is_unregistered function by a video_is_registered\nfunction. The V4L2_FL_UNREGISTERED flag is replaced by a\nV4L2_FL_REGISTERED flag.\n\nThis change makes the video_is_registered function return coherent\nresults when called on an initialize but not yet registered video_device\ninstance. The function can now be used instead of checking\nvideo_device::minor.\n\nSigned-off-by: Laurent Pinchart \u003claurent.pinchart@ideasonboard.com\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "eac8ea536aded07004bde917f05a2329902c64b0",
      "tree": "d083c2aee98e068e27ad4884dc905266709edfe8",
      "parents": [
        "a3a9e287daa1f299e318161b790b1c5902b1d869"
      ],
      "author": {
        "name": "Laurent Pinchart",
        "email": "laurent.pinchart@ideasonboard.com",
        "time": "Fri Nov 27 13:56:50 2009 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Wed Dec 16 00:17:54 2009 -0200"
      },
      "message": "V4L/DVB (13549): v4l: Add video_device_node_name function\n\nMany drivers access the device number (video_device::v4l2_devnode::num)\nin order to print the video device node name. Add and use a helper\nfunction to retrieve the video_device node name.\n\nSigned-off-by: Laurent Pinchart \u003claurent.pinchart@ideasonboard.com\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "cda4303f555316930a219cd7c03a1925526145f0",
      "tree": "5d8773380ff6c70144184173be9c2eabe61434a5",
      "parents": [
        "1bad429e81f9a9ffa01c4158e6d1b1a3e06d9886"
      ],
      "author": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Sat Dec 05 09:34:21 2009 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Wed Dec 16 00:17:53 2009 -0200"
      },
      "message": "V4L/DVB (13546): ir-keymaps: Add table for Terratec Cinergy XS FM\n\nThis IR uses NEC protocol, with address\u003d0x14. This keymap is similar\nto the existing Terratec Cinergy XS, except that:\n\t- it contains the full address/command code;\n\t- the Music button were mapped as KEY_RADIO;\n\t- some keycodes from the previous entry were wrong, IMHO.\n\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "d30a3fe89635324397c9cf5802f18f11a49ace17",
      "tree": "9e6843ae34488b17282f51c7e06b3409afc5a6cb",
      "parents": [
        "8bea8672edfca7ec5f661cafb218f1205863b343"
      ],
      "author": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Sat Dec 05 01:19:47 2009 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Wed Dec 16 00:17:52 2009 -0200"
      },
      "message": "V4L/DVB (13543): ir-common: Associate a table with a given protocol type\n\nWhile here, convert the protocol types into an enum\nand define 0 as unknown.\n\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "53365383c4667aba55385cd1858582c19a7a8a36",
      "tree": "b290d003534b3947834762c2fb492d9d0beb985f",
      "parents": [
        "51b736b85155a56543fda8aeca5f8592795d7983",
        "d2fdb776e08d4231d7e86a879cc663a93913c202"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 09:12:01 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 09:12:01 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm: (80 commits)\n  dm snapshot: use merge origin if snapshot invalid\n  dm snapshot: report merge failure in status\n  dm snapshot: merge consecutive chunks together\n  dm snapshot: trigger exceptions in remaining snapshots during merge\n  dm snapshot: delay merging a chunk until writes to it complete\n  dm snapshot: queue writes to chunks being merged\n  dm snapshot: add merging\n  dm snapshot: permit only one merge at once\n  dm snapshot: support barriers in snapshot merge target\n  dm snapshot: avoid allocating exceptions in merge\n  dm snapshot: rework writing to origin\n  dm snapshot: add merge target\n  dm exception store: add merge specific methods\n  dm snapshot: create function for chunk_is_tracked wait\n  dm snapshot: make bio optional in __origin_write\n  dm mpath: reject messages when device is suspended\n  dm: export suspended state to targets\n  dm: rename dm_suspended to dm_suspended_md\n  dm: swap target postsuspend call and setting suspended flag\n  dm crypt: add plain64 iv\n  ...\n"
    },
    {
      "commit": "8f0ddf91f2aeb09602373e400cf8b403e9017210",
      "tree": "b907c35c79caadafff6ad46a91614e30afd2f967",
      "parents": [
        "050cbb09dac0402672edeaeac06094ef8ff1749a",
        "b5f91da0a6973bb6f9ff3b91b0e92c0773a458f3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 09:02:01 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 09:02:01 2009 -0800"
      },
      "message": "Merge branch \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (26 commits)\n  clockevents: Convert to raw_spinlock\n  clockevents: Make tick_device_lock static\n  debugobjects: Convert to raw_spinlocks\n  perf_event: Convert to raw_spinlock\n  hrtimers: Convert to raw_spinlocks\n  genirq: Convert irq_desc.lock to raw_spinlock\n  smp: Convert smplocks to raw_spinlocks\n  rtmutes: Convert rtmutex.lock to raw_spinlock\n  sched: Convert pi_lock to raw_spinlock\n  sched: Convert cpupri lock to raw_spinlock\n  sched: Convert rt_runtime_lock to raw_spinlock\n  sched: Convert rq-\u003elock to raw_spinlock\n  plist: Make plist debugging raw_spinlock aware\n  bkl: Fixup core_lock fallout\n  locking: Cleanup the name space completely\n  locking: Further name space cleanups\n  alpha: Fix fallout from locking changes\n  locking: Implement new raw_spinlock\n  locking: Convert raw_rwlock functions to arch_rwlock\n  locking: Convert raw_rwlock to arch_rwlock\n  ...\n"
    },
    {
      "commit": "48e902f0a3aea4b6b3a73e9d277b92024a493e6d",
      "tree": "6dbb3a4c5ab4e7fc72172d8c11e7c0418b6559d1",
      "parents": [
        "7f6cd5408a8ace522ca7f15893243e94ccc913e0",
        "9d233e8bb92e355fd20b14745c1d9ff402e0e685"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:59:33 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:59:33 2009 -0800"
      },
      "message": "Merge git://git.infradead.org/battery-2.6\n\n* git://git.infradead.org/battery-2.6:\n  power_supply_sysfs: Handle -ENODATA in a special way\n  wm831x_backup: Remove unused variables\n  gta02: Set pcf50633 charger_reference_current_ma\n  pcf50633: Query charger status directly\n  pcf50633: Properly reenable charging when the supply conditions change\n  pcf50633: Get rid of charging restart software auto-triggering\n  pcf50633: introduces battery charging current control\n  pcf50633: Add ac power supply class to the charger\n  wm831x: Factor out WM831x backup battery charger\n"
    },
    {
      "commit": "2db4a76d5f3554e9e5632c8f91828313318579c8",
      "tree": "63089645aab712fe58e382e36d7fbac14dbd150f",
      "parents": [
        "641615abfac0b7c5e6f242a6db77f7690925b443"
      ],
      "author": {
        "name": "Samu Onkalo",
        "email": "samu.p.onkalo@nokia.com",
        "time": "Mon Dec 14 18:01:43 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:36 2009 -0800"
      },
      "message": "lis3: selftest support\n\nImplement selftest feature as specified by chip manufacturer.  Control:\nread selftest sysfs entry\n\nResponse: \"OK x y z\" or \"FAIL x y z\"\n\nwhere x, y, and z are difference between selftest mode and normal mode.\nTest is passed when values are within acceptance limit values.\n\nAcceptance limits are provided via platform data.  See chip spesifications\nfor acceptance limits.  If limits are not properly set, OK / FAIL decision\nis meaningless.  However, userspace application can still make decision\nbased on the numeric x, y, z values.\n\nSelftest is meant for HW diagnostic purposes.  It is not meant to be\ncalled during normal use of the chip.  It may cause false interrupt\nevents.  Selftest mode delays polling of the normal results but it doesn\u0027t\ncause wrong values.  Chip must be in static state during selftest.  Any\nacceration during the test causes most probably failure.\n\nSigned-off-by: Samu Onkalo \u003csamu.p.onkalo@nokia.com\u003e\nAcked-by: Éric Piel \u003cEric.Piel@tremplin-utc.net\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e40d6eaa79bc9d9d347c3c51fe0c9204e9025b79",
      "tree": "700540cbced23aa05b34059a1ff83635cd239c13",
      "parents": [
        "ddcaccbc17d7d15d0f050519cfeb0e45acbd9b15"
      ],
      "author": {
        "name": "Samu Onkalo",
        "email": "samu.p.onkalo@nokia.com",
        "time": "Mon Dec 14 18:01:35 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:35 2009 -0800"
      },
      "message": "lis3lv02d: axis remap and resource setup/release\n\nAdd the possibility to remap axes via platform data.  Function pointers\nfor resource setup and release purposes\n\nSigned-off-by: Samu Onkalo \u003csamu.p.onkalo@nokia.com\u003e\nAcked-by: Éric Piel \u003ceric.piel@tremplin-utc.net\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc:  \"Trisal, Kalhan\" \u003ckalhan.trisal@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2635d1ba711560d521f6218c585a3e0401f566e1",
      "tree": "11c8f09f15cd2f19bfd6f2d2d9b2cac67544179f",
      "parents": [
        "bd68e0838fe85794b06892054772fa013a8d1986"
      ],
      "author": {
        "name": "Nicolas Ferre",
        "email": "nicolas.ferre@atmel.com",
        "time": "Mon Dec 14 18:01:30 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:35 2009 -0800"
      },
      "message": "atmel-mci: change use of dma slave interface\n\nAllow the use of another DMA controller driver in atmel-mci sd/mmc driver.\n This adds a generic dma_slave pointer to the mci platform structure where\nwe can store DMA controller information.  In atmel-mci we use information\nprovided by this structure to initialize the driver (with new helper\nfunctions that are architecture dependant).\n\nThis also adds at32/avr32 chip modifications to cope with this new access\nmethod.\n\nSigned-off-by: Nicolas Ferre \u003cnicolas.ferre@atmel.com\u003e\nCc: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nCc: \u003clinux-mmc@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ca54cb8c9eb38095dc420b73c6380ce1dbeb10fa",
      "tree": "35b5ba777b962e95039521d912d926a9372b2e8f",
      "parents": [
        "925ede0bf4ecef96fc2d939b16619530111aa16e"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Mon Dec 14 18:01:15 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:34 2009 -0800"
      },
      "message": "Subject: Re: [PATCH] strstrip incorrectly marked __must_check\n\nRecently, We marked strstrip() as must_check.  because it was frequently\nmisused and it should be checked.  However, we found one exception.\nscsi/ipr.c intentionally ignore return value of strstrip.  Because it\nwishes to keep the whitespace at the beginning.\n\nThus we need to keep with and without checked whitespace trim function.\nThis patch adds a new strim() and changes ipr.c to use it.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSuggested-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "925ede0bf4ecef96fc2d939b16619530111aa16e",
      "tree": "f4e74eb56c6f2589f2aeb8c7e827809b0f272c52",
      "parents": [
        "7f2f4e72d3423977cc62152ecf29afe701553a67"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Dec 14 18:01:14 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:33 2009 -0800"
      },
      "message": "efi.h: use %pUl to print UUIDs\n\nShrinks vmlinux\n\nwithout:\n$ size vmlinux\n   text    data     bss     dec     hex filename\n6975863  679652 1359668 9015183  898f8f vmlinux\n\nwith:\n$ size vmlinux\n   text    data     bss     dec     hex filename\n6975639 679652 1359668 9014959 898eaf vmlinux\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: Jeff Garzik \u003cjgarzik@redhat.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f653398c86a1c104f0992bd788dd4bb065449be4",
      "tree": "69cd79aaca48c2e1bdf9a48b968772347dbd5df2",
      "parents": [
        "4e62b0930223fe2f61094ceb1bbb31b3fe4251c2"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Mon Dec 14 18:01:04 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:32 2009 -0800"
      },
      "message": "string: factorize skip_spaces and export it to be generally available\n\nOn the following sentence:\n    while (*s \u0026\u0026 isspace(*s))\n        s++;\n\nIf *s \u003d\u003d 0, isspace() evaluates to ((_ctype[*s] \u0026 0x20) !\u003d 0), which\nevaluates to ((0x08 \u0026 0x20) !\u003d 0) which equals to 0 as well.\nIf *s \u003d\u003d 1, we depend on isspace() result anyway. In other words,\n\"a char equals zero is never a space\", so remove this check.\n\nAlso, *s !\u003d 0 is most common case (non-null string).\n\nFixed const return as noticed by Jan Engelhardt and James Bottomley.\nFixed unnecessary extra cast on strstrip() as noticed by Jan Engelhardt.\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7707e61c70999a1f9f1fd9ac92e293c198585152",
      "tree": "179b52871a34d892c265de68f3a8a05ee5aaef56",
      "parents": [
        "922ac25c9f4b5dc4c48ff12bfd14a98bdeb6ff0a"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Mon Dec 14 18:01:02 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:32 2009 -0800"
      },
      "message": "ctype: constify read-only _ctype string\n\nWhile at it, use tabs to indent the comments.\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5ada918b82399eef3afd6a71e3637697d6bd719f",
      "tree": "9bff5251d9d21960726078c2117a0ab19ca25956",
      "parents": [
        "c95d1e53ed89b75a4d7b68d1cbae4607b1479243"
      ],
      "author": {
        "name": "Bernhard Walle",
        "email": "bernhard@bwalle.de",
        "time": "Mon Dec 14 18:00:43 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:28 2009 -0800"
      },
      "message": "vt: introduce and use vt_kmsg_redirect() function\n\nThe kernel offers with TIOCL_GETKMSGREDIRECT ioctl() the possibility to\nredirect the kernel messages to a specific console.\n\nHowever, since it\u0027s not possible to switch to the kernel message console\nafter a panic(), it would be nice if the kernel would print the panic\nmessage on the current console.\n\nThis patch series adds a new interface to access the global kmsg_redirect\nvariable by a function to be able to use it in code where\nCONFIG_VT_CONSOLE is not set (kernel/panic.c).\n\nThis patch:\n\nInstead of using and exporting a global value kmsg_redirect, introduce a\nfunction vt_kmsg_redirect() that both can set and return the console where\nmessages are printed.\n\nChange all users of kmsg_redirect (the VT code itself and kernel/power.c)\nto the new interface.\n\nThe main advantage is that vt_kmsg_redirect() can also be used when\nCONFIG_VT_CONSOLE is not set.\n\nSigned-off-by: Bernhard Walle \u003cbernhard@bwalle.de\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f3a57a60d3e107d17aebb9e52b61c503e5bc14f9",
      "tree": "58c34bb90b20e2816ec0018eb3e5660c3ab8b5a5",
      "parents": [
        "f060f27007b393bac6e50ee6fc26d8505acf6fe4"
      ],
      "author": {
        "name": "Andres Salomon",
        "email": "dilinger@collabora.co.uk",
        "time": "Mon Dec 14 18:00:40 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:28 2009 -0800"
      },
      "message": "cs5535: define lxfb/gxfb MSRs in linux/cs5535.h\n\n..and include them in the lxfb/gxfb drivers rather than asm/geode.h (where\npossible).\n\nSigned-off-by: Andres Salomon \u003cdilinger@collabora.co.uk\u003e\nCc: Jordan Crouse \u003cjordan@cosmicpenguin.net\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Chris Ball \u003ccjb@laptop.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f060f27007b393bac6e50ee6fc26d8505acf6fe4",
      "tree": "fd83b0c9550814dfb5fc6a726ce7b5eb1baaa6f3",
      "parents": [
        "2e8c12436f540d3c40137ebf10268803dc972f6a"
      ],
      "author": {
        "name": "Andres Salomon",
        "email": "dilinger@collabora.co.uk",
        "time": "Mon Dec 14 18:00:40 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:28 2009 -0800"
      },
      "message": "cs5535: move VSA2 checks into linux/cs5535.h\n\nSigned-off-by: Andres Salomon \u003cdilinger@collabora.co.uk\u003e\nCc: Jordan Crouse \u003cjordan@cosmicpenguin.net\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Chris Ball \u003ccjb@laptop.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2e8c12436f540d3c40137ebf10268803dc972f6a",
      "tree": "136bc34d4c88336f2dc09784406fea40ac6dfb0e",
      "parents": [
        "c30d7d2b9987e189bc6d5ec6635785b91a6ee81e"
      ],
      "author": {
        "name": "Andres Salomon",
        "email": "dilinger@collabora.co.uk",
        "time": "Mon Dec 14 18:00:39 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:28 2009 -0800"
      },
      "message": "cs5535: move the DIVIL MSR definition into linux/cs5535.h\n\nThe only thing that uses this is the reboot_fixups code.\n\nSigned-off-by: Andres Salomon \u003cdilinger@collabora.co.uk\u003e\nCc: Jordan Crouse \u003cjordan@cosmicpenguin.net\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Chris Ball \u003ccjb@laptop.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "82dca611bb516ec5fb7d04077733d6a4b70f52d1",
      "tree": "67e085277bcc06e0aa7bf305e586ce856ef11078",
      "parents": [
        "3c55494670745e523f69b56edb66ca0b50a470c2"
      ],
      "author": {
        "name": "Andres Salomon",
        "email": "dilinger@collabora.co.uk",
        "time": "Mon Dec 14 18:00:37 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:28 2009 -0800"
      },
      "message": "cs5535: add a generic MFGPT driver\n\nThis is based on the old code on arch/x86/kernel/mfgpt_32.c, except it\u0027s\nnot x86 specific, it\u0027s modular, and it makes use of a PCI BAR rather than\na random MSR.  Currently module unloading is not supported; it\u0027s uncertain\nwhether or not it can be made work with the hardware.\n\n[akpm@linux-foundation.org: add X86 dependency]\nSigned-off-by: Andres Salomon \u003cdilinger@collabora.co.uk\u003e\nCc: Jordan Crouse \u003cjordan@cosmicpenguin.net\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Chris Ball \u003ccjb@laptop.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5f0a96b044d8edaee20f4a32ef6c393599ca55f8",
      "tree": "a46994e95854d1771ea6829826793f8bceb39751",
      "parents": [
        "1f2f38d89d1eced2079189cd880eeacee378370a"
      ],
      "author": {
        "name": "Andres Salomon",
        "email": "dilinger@collabora.co.uk",
        "time": "Mon Dec 14 18:00:32 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:27 2009 -0800"
      },
      "message": "cs5535-gpio: add AMD CS5535/CS5536 GPIO driver support\n\nThis creates a CS5535/CS5536 GPIO driver which uses a gpio_chip backend\n(allowing GPIO users to use the generic GPIO API if desired) while also\nallowing architecture-specific users directly (via the cs5535_gpio_*\nfunctions).\n\nTested on an OLPC machine.  Some Leemotes also use CS5536 (with a mips\ncpu), which is why this is in drivers/gpio rather than arch/x86.\nCurrently, it conflicts with older geode GPIO support; once MFGPT support\nis reworked to also be more generic, the older geode code will be removed.\n\nSigned-off-by: Andres Salomon \u003cdilinger@collabora.co.uk\u003e\nCc: Takashi Iwai \u003ctiwai@suse.de\u003e\nCc: Jordan Crouse \u003cjordan@cosmicpenguin.net\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nReviewed-by: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "603c4ba96be998a8dd7a6f9b23681c49acdf4b64",
      "tree": "1b85fc526219085ceaffca54150eee64c3aba4a0",
      "parents": [
        "9385565e20c4acf97cd8e2fd7155750e578edcc4"
      ],
      "author": {
        "name": "Phil Carmody",
        "email": "ext-phil.2.carmody@nokia.com",
        "time": "Mon Dec 14 18:00:29 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:27 2009 -0800"
      },
      "message": "err.h: add helper function to simplify pointer error checking\n\nThere are quite a few instances in the kernel of checks of pointers both\nagainst NULL and against the errno range, handling both cases identically.\nThis additional helper function would simplify such code.\n\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Phil Carmody \u003cext-phil.2.carmody@nokia.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e4c570c4cb7a95dbfafa3d016d2739bf3fdfe319",
      "tree": "ce2be0a79fa2e8d8271426f0fc27b25e83c050b4",
      "parents": [
        "8420e7efa1cf155765c6d77c91d3e3547c7aa557"
      ],
      "author": {
        "name": "Hiroshi Shimamoto",
        "email": "h-shimamoto@ct.jp.nec.com",
        "time": "Mon Dec 14 18:00:26 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:27 2009 -0800"
      },
      "message": "task_struct: make journal_info conditional\n\njournal_info in task_struct is used in journaling file system only.  So\nintroduce CONFIG_FS_JOURNAL_INFO and make it conditional.\n\nSigned-off-by: Hiroshi Shimamoto \u003ch-shimamoto@ct.jp.nec.com\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: KONISHI Ryusuke \u003ckonishi.ryusuke@lab.ntt.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": "8a64f336bc1d4aa203b138d29d5a9c414a9fbb47",
      "tree": "2614009dbe403eff3a35729e4b725469454faf06",
      "parents": [
        "2643434c1ad400dc417865ac37610e8d3c7c1783"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Dec 14 18:00:25 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:26 2009 -0800"
      },
      "message": "kernel.h: add printk_ratelimited and pr_\u003clevel\u003e_rl\n\nAdd a printk_ratelimited statement expression macro that uses a per-call\nratelimit_state so that multiple subsystems output messages are not\nsuppressed by a global __ratelimit state.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: s/_rl/_ratelimited/g]\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: Naohiro Ooiwa \u003cnooiwa@miraclelinux.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Hiroshi Shimamoto \u003ch-shimamoto@ct.jp.nec.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": "948c1e2521979c332b21b623414cf258150f214e",
      "tree": "d59049241d1396c6e7cac170b80c354fd5835f23",
      "parents": [
        "29671f22a8b6522db3b126a3fdfb208759ce46e3"
      ],
      "author": {
        "name": "Amerigo Wang",
        "email": "amwang@redhat.com",
        "time": "Mon Dec 14 18:00:22 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:26 2009 -0800"
      },
      "message": "kallsyms: remove deprecated print_fn_descriptor_symbol()\n\nAccording to feature-removal-schedule.txt, it is the time to remove\nprint_fn_descriptor_symbol().\n\nAnd a quick grep shows that it no longer has any callers.\n\nSigned-off-by: WANG Cong \u003camwang@redhat.com\u003e\nCc: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "29671f22a8b6522db3b126a3fdfb208759ce46e3",
      "tree": "c3c434fc07aae30c401fe7662b8e1399b98ffdc2",
      "parents": [
        "118d52da1816471ac875bb9f1ee51737e82b1d71"
      ],
      "author": {
        "name": "Amerigo Wang",
        "email": "amwang@redhat.com",
        "time": "Mon Dec 14 18:00:21 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:26 2009 -0800"
      },
      "message": "rwsem: fix rwsem_is_locked() bugs\n\nrwsem_is_locked() tests -\u003eactivity without locks, so we should always keep\n-\u003eactivity consistent.  However, the code in __rwsem_do_wake() breaks this\nrule, it updates -\u003eactivity after _all_ readers waken up, this may give\nsome reader a wrong -\u003eactivity value, thus cause rwsem_is_locked() behaves\nwrong.\n\nQuote from Andrew:\n\n\"\n- we have one or more processes sleeping in down_read(), waiting for access.\n\n- we wake one or more processes up without altering -\u003eactivity\n\n- they start to run and they do rwsem_is_locked().  This incorrectly\n  returns \"false\", because the waker process is still crunching away in\n  __rwsem_do_wake().\n\n- the waker now alters -\u003eactivity, but it was too late.\n\"\n\nSo we need get a spinlock to protect this.  And rwsem_is_locked() should\nnot block, thus we use spin_trylock_irqsave().\n\n[akpm@linux-foundation.org: simplify code]\nReported-by: Brian Behlendorf \u003cbehlendorf1@llnl.gov\u003e\nCc: Ben Woodard \u003cbwoodard@llnl.gov\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: WANG Cong \u003camwang@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": "0b2749aa6ca40ff3fe12ebb3fdf010ebad2e9085",
      "tree": "c4c848da19ee1e3f1bd4f8733af7676b5b52984c",
      "parents": [
        "196a15b4ee99f627fbc2c07e58e14aab2065fa80"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Dec 14 18:00:19 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:26 2009 -0800"
      },
      "message": "kernel.h: remove initialization of bool in printk_once\n\nDon\u0027t initialize __print_once.  Invert the test to reduce initialized\ndata.\n\ndefconfig before:\t$size vmlinux\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n6976022\t 679572\t1359668\t9015262\t 898fde\tvmlinux\n\ndefconfig after:\t$size vmlinux\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n6976006\t 679508\t1359700\t9015214\t 898fae\tvmlinux\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "00b55864bb37200d7f05143c44f5e2edfc8c4578",
      "tree": "e744e54d7422559c3504724dfc85d678bc2996cf",
      "parents": [
        "42f247c83aeb52d2ee7a9fe23fb57e22317f18fd"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Dec 14 18:00:14 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:25 2009 -0800"
      },
      "message": "dynamic_debug.h/kernel.h: Remove KBUILD_MODNAME from dynamic_pr_debug\n\nIf CONFIG_DYNAMIC_DEBUG is enabled and a source file has:\n\n#define pr_fmt(fmt) KBUILD_MODNAME \": \" fmt\n#include \u003clinux/kernel.h\u003e\n\ndynamic_debug.h will duplicate KBUILD_MODNAME\nin the output string.\n\nRemove the use of KBUILD_MODNAME from the\noutput format string generated by dynamic_debug.h\n\nIf CONFIG_DYNAMIC_DEBUG is not enabled, no compile-time\ncheck is done to printk/dev_printk arguments.\n\nAdd it.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "42f247c83aeb52d2ee7a9fe23fb57e22317f18fd",
      "tree": "cd48934d6f634ba4f0eec4ed2da37f9bfe3a82c5",
      "parents": [
        "6613c5e8603bc41741487828f48c6a4d701f7814"
      ],
      "author": {
        "name": "Cesar Eduardo Barros",
        "email": "cesarb@cesarb.net",
        "time": "Mon Dec 14 18:00:13 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:25 2009 -0800"
      },
      "message": "WARN_ONCE(): use bool for boolean flag\n\nCommit 70867453092297be9afb2249e712a1f960ec0a09 (\"printk_once(): use bool\nfor boolean flag\") changed printk_once() to use bool instead of int for\nits guard variable.  Do the same change to WARN_ONCE() and WARN_ON_ONCE(),\nfor the same reasons.\n\nThis resulted in a reduction of 1462 bytes on a x86-64 defconfig:\n\n   text    data     bss     dec     hex filename\n8101271 1207116  992764 10301151         9d2edf vmlinux.before\n8100553 1207148  991988 10299689         9d2929 vmlinux.after\n\nSigned-off-by: Cesar Eduardo Barros \u003ccesarb@cesarb.net\u003e\nCc: Roland Dreier \u003crolandd@cisco.com\u003e\nCc: Daniel Walker \u003cdwalker@fifo99.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "471452104b8520337ae2fb48c4e61cd4896e025d",
      "tree": "8594ae4a8362014e3cccf72a4e8834cdbb610bdd",
      "parents": [
        "0ead0f84e81a41c3e98aeceab04af8ab1bb08d1f"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Dec 14 18:00:08 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:25 2009 -0800"
      },
      "message": "const: constify remaining dev_pm_ops\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ea637639591def87a54cea811cbac796980cb30d",
      "tree": "7ea3e4baf2ffade539ae30192521d331f8e863fa",
      "parents": [
        "5dc37642cbce34619e4588a9f0bdad1d2f870956"
      ],
      "author": {
        "name": "Jie Zhang",
        "email": "jie.zhang@analog.com",
        "time": "Mon Dec 14 18:00:02 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:24 2009 -0800"
      },
      "message": "nommu: fix malloc performance by adding uninitialized flag\n\nThe NOMMU code currently clears all anonymous mmapped memory.  While this\nis what we want in the default case, all memory allocation from userspace\nunder NOMMU has to go through this interface, including malloc() which is\nallowed to return uninitialized memory.  This can easily be a significant\nperformance penalty.  So for constrained embedded systems were security is\nirrelevant, allow people to avoid clearing memory unnecessarily.\n\nThis also alters the ELF-FDPIC binfmt such that it obtains uninitialised\nmemory for the brk and stack region.\n\nSigned-off-by: Jie Zhang \u003cjie.zhang@analog.com\u003e\nSigned-off-by: Robin Getz \u003crgetz@blackfin.uclinux.org\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nAcked-by: Greg Ungerer \u003cgerg@snapgear.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5dc37642cbce34619e4588a9f0bdad1d2f870956",
      "tree": "00165a3a0b3d768abaf83cf44642f09398b989cc",
      "parents": [
        "d33b9f45bd24a6391bc05e2b5a13c1b5787ca9c2"
      ],
      "author": {
        "name": "Naoya Horiguchi",
        "email": "n-horiguchi@ah.jp.nec.com",
        "time": "Mon Dec 14 18:00:01 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:24 2009 -0800"
      },
      "message": "mm hugetlb: add hugepage support to pagemap\n\nThis patch enables extraction of the pfn of a hugepage from\n/proc/pid/pagemap in an architecture independent manner.\n\nDetails\n-------\nMy test program (leak_pagemap) works as follows:\n - creat() and mmap() a file on hugetlbfs (file size is 200MB \u003d\u003d 100 hugepages,)\n - read()/write() something on it,\n - call page-types with option -p,\n - munmap() and unlink() the file on hugetlbfs\n\nWithout my patches\n------------------\n$ ./leak_pagemap\n             flags page-count       MB  symbolic-flags                     long-symbolic-flags\n0x0000000000000000          1        0  __________________________________\n0x0000000000000804          1        0  __R________M______________________ referenced,mmap\n0x000000000000086c         81        0  __RU_lA____M______________________ referenced,uptodate,lru,active,mmap\n0x0000000000005808          5        0  ___U_______Ma_b___________________ uptodate,mmap,anonymous,swapbacked\n0x0000000000005868         12        0  ___U_lA____Ma_b___________________ uptodate,lru,active,mmap,anonymous,swapbacked\n0x000000000000586c          1        0  __RU_lA____Ma_b___________________ referenced,uptodate,lru,active,mmap,anonymous,swapbacked\n             total        101        0\n\nThe output of page-types don\u0027t show any hugepage.\n\nWith my patches\n---------------\n$ ./leak_pagemap\n             flags page-count       MB  symbolic-flags                     long-symbolic-flags\n0x0000000000000000          1        0  __________________________________\n0x0000000000030000      51100      199  ________________TG________________ compound_tail,huge\n0x0000000000028018        100        0  ___UD__________H_G________________ uptodate,dirty,compound_head,huge\n0x0000000000000804          1        0  __R________M______________________ referenced,mmap\n0x000000000000080c          1        0  __RU_______M______________________ referenced,uptodate,mmap\n0x000000000000086c         80        0  __RU_lA____M______________________ referenced,uptodate,lru,active,mmap\n0x0000000000005808          4        0  ___U_______Ma_b___________________ uptodate,mmap,anonymous,swapbacked\n0x0000000000005868         12        0  ___U_lA____Ma_b___________________ uptodate,lru,active,mmap,anonymous,swapbacked\n0x000000000000586c          1        0  __RU_lA____Ma_b___________________ referenced,uptodate,lru,active,mmap,anonymous,swapbacked\n             total      51300      200\n\nThe output of page-types shows 51200 pages contributing to hugepages,\ncontaining 100 head pages and 51100 tail pages as expected.\n\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Naoya Horiguchi \u003cn-horiguchi@ah.jp.nec.com\u003e\nCc: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Andy Whitcroft \u003capw@canonical.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f096e59e844ba3c5d5a7b54b3deafd2aeeebf921",
      "tree": "8d48bf8456ba98a1f9fe372b7550b2996162da3b",
      "parents": [
        "c9d0bf241451a3ab7d02e1652c22b80cd7d93e8f"
      ],
      "author": {
        "name": "Huang Shijie",
        "email": "shijie8@gmail.com",
        "time": "Mon Dec 14 17:59:51 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:22 2009 -0800"
      },
      "message": "include/linux/mm.h: remove unneeded ifdef\n\nThe check code for CONFIG_SWAP is redundant, because there is a\nnon-CONFIG_SWAP version for PageSwapCache() which just returns 0.\n\nSigned-off-by: Huang Shijie \u003cshijie8@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b4e655a4aaa327810110457cef92681447dd13e4",
      "tree": "86f32571acdf688874967c5e597319a4c05ee888",
      "parents": [
        "d0f209f68f80f9a152799760c230019e7f270b2a"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Mon Dec 14 17:59:35 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:20 2009 -0800"
      },
      "message": "mm: memory_hotplug: make offline_pages() static\n\nIt has no references outside memory_hotplug.c.\n\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Gerald Schaefer \u003cgerald.schaefer@de.ibm.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.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": "62b61f611eb5e20f7e9f8619bfd03bdfe8af6348",
      "tree": "9f06fff7eb6530fbe90b4d998b91071133f6af25",
      "parents": [
        "e9995ef978a7d5296fe04a9a2c5ca6e66d8bb4e5"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Dec 14 17:59:33 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:20 2009 -0800"
      },
      "message": "ksm: memory hotremove migration only\n\nThe previous patch enables page migration of ksm pages, but that soon gets\ninto trouble: not surprising, since we\u0027re using the ksm page lock to lock\noperations on its stable_node, but page migration switches the page whose\nlock is to be used for that.  Another layer of locking would fix it, but\ndo we need that yet?\n\nDo we actually need page migration of ksm pages?  Yes, memory hotremove\nneeds to offline sections of memory: and since we stopped allocating ksm\npages with GFP_HIGHUSER, they will tend to be GFP_HIGHUSER_MOVABLE\ncandidates for migration.\n\nBut KSM is currently unconscious of NUMA issues, happily merging pages\nfrom different NUMA nodes: at present the rule must be, not to use\nMADV_MERGEABLE where you care about NUMA.  So no, NUMA page migration of\nksm pages does not make sense yet.\n\nSo, to complete support for ksm swapping we need to make hotremove safe.\nksm_memory_callback() take ksm_thread_mutex when MEM_GOING_OFFLINE and\nrelease it when MEM_OFFLINE or MEM_CANCEL_OFFLINE.  But if mapped pages\nare freed before migration reaches them, stable_nodes may be left still\npointing to struct pages which have been removed from the system: the\nstable_node needs to identify a page by pfn rather than page pointer, then\nit can safely prune them when MEM_OFFLINE.\n\nAnd make NUMA migration skip PageKsm pages where it skips PageReserved.\nBut it\u0027s only when we reach unmap_and_move() that the page lock is taken\nand we can be sure that raised pagecount has prevented a PageAnon from\nbeing upgraded: so add offlining arg to migrate_pages(), to migrate ksm\npage when offlining (has sufficient locking) but reject it otherwise.\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Izik Eidus \u003cieidus@redhat.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Chris Wright \u003cchrisw@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": "e9995ef978a7d5296fe04a9a2c5ca6e66d8bb4e5",
      "tree": "df4324273856e06b8277b7e4a0fa9289eb8e6385",
      "parents": [
        "407f9c8b0889ced1dbe2f9157e4e60c61329d5c9"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Dec 14 17:59:31 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:20 2009 -0800"
      },
      "message": "ksm: rmap_walk to remove_migation_ptes\n\nA side-effect of making ksm pages swappable is that they have to be placed\non the LRUs: which then exposes them to isolate_lru_page() and hence to\npage migration.\n\nAdd rmap_walk() for remove_migration_ptes() to use: rmap_walk_anon() and\nrmap_walk_file() in rmap.c, but rmap_walk_ksm() in ksm.c.  Perhaps some\nconsolidation with existing code is possible, but don\u0027t attempt that yet\n(try_to_unmap needs to handle nonlinears, but migration pte removal does\nnot).\n\nrmap_walk() is sadly less general than it appears: rmap_walk_anon(), like\nremove_anon_migration_ptes() which it replaces, avoids calling\npage_lock_anon_vma(), because that includes a page_mapped() test which\nfails when all migration ptes are in place.  That was valid when NUMA page\nmigration was introduced (holding mmap_sem provided the missing guarantee\nthat anon_vma\u0027s slab had not already been destroyed), but I believe not\nvalid in the memory hotremove case added since.\n\nFor now do the same as before, and consider the best way to fix that\nunlikely race later on.  When fixed, we can probably use rmap_walk() on\nhwpoisoned ksm pages too: for now, they remain among hwpoison\u0027s various\nexceptions (its PageKsm test comes before the page is locked, but its\npage_lock_anon_vma fails safely if an anon gets upgraded).\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Izik Eidus \u003cieidus@redhat.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Chris Wright \u003cchrisw@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": "db114b83ab6064d9b1d6ec5650e096c89bd95e25",
      "tree": "15e289b25fec011238f6838c6aafa1ff5e293224",
      "parents": [
        "5ad6468801d28c4d4ac9f48ec19297817c915f6a"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Dec 14 17:59:25 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:19 2009 -0800"
      },
      "message": "ksm: hold anon_vma in rmap_item\n\nFor full functionality, page_referenced_one() and try_to_unmap_one() need\nto know the vma: to pass vma down to arch-dependent flushes, or to observe\nVM_LOCKED or VM_EXEC.  But KSM keeps no record of vma: nor can it, since\nvmas get split and merged without its knowledge.\n\nInstead, note page\u0027s anon_vma in its rmap_item when adding to stable tree:\nall the vmas which might map that page are listed by its anon_vma.\n\npage_referenced_ksm() and try_to_unmap_ksm() then traverse the anon_vma,\nfirst to find the probable vma, that which matches rmap_item\u0027s mm; but if\nthat is not enough to locate all instances, traverse again to try the\nothers.  This catches those occasions when fork has duplicated a pte of a\nksm page, but ksmd has not yet come around to assign it an rmap_item.\n\nBut each rmap_item in the stable tree which refers to an anon_vma needs to\ntake a reference to it.  Andrea\u0027s anon_vma design cleverly avoided a\nreference count (an anon_vma was free when its list of vmas was empty),\nbut KSM now needs to add that.  Is a 32-bit count sufficient?  I believe\nso - the anon_vma is only free when both count is 0 and list is empty.\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Izik Eidus \u003cieidus@redhat.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Chris Wright \u003cchrisw@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": "5ad6468801d28c4d4ac9f48ec19297817c915f6a",
      "tree": "edd8dc48693f43278d6fe1614aca2bf660d4dc10",
      "parents": [
        "73848b4684e84a84cfd1555af78d41158f31e16b"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Dec 14 17:59:24 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:19 2009 -0800"
      },
      "message": "ksm: let shared pages be swappable\n\nInitial implementation for swapping out KSM\u0027s shared pages: add\npage_referenced_ksm() and try_to_unmap_ksm(), which rmap.c calls when\nfaced with a PageKsm page.\n\nMost of what\u0027s needed can be got from the rmap_items listed from the\nstable_node of the ksm page, without discovering the actual vma: so in\nthis patch just fake up a struct vma for page_referenced_one() or\ntry_to_unmap_one(), then refine that in the next patch.\n\nAdd VM_NONLINEAR to ksm_madvise()\u0027s list of exclusions: it has always been\nimplicit there (being only set with VM_SHARED, already excluded), but\nlet\u0027s make it explicit, to help justify the lack of nonlinear unmap.\n\nRely on the page lock to protect against concurrent modifications to that\npage\u0027s node of the stable tree.\n\nThe awkward part is not swapout but swapin: do_swap_page() and\npage_add_anon_rmap() now have to allow for new possibilities - perhaps a\nksm page still in swapcache, perhaps a swapcache page associated with one\nlocation in one anon_vma now needed for another location or anon_vma.\n(And the vma might even be no longer VM_MERGEABLE when that happens.)\n\nksm_might_need_to_copy() checks for that case, and supplies a duplicate\npage when necessary, simply leaving it to a subsequent pass of ksmd to\nrediscover the identity and merge them back into one ksm page.\nDisappointingly primitive: but the alternative would have to accumulate\nunswappable info about the swapped out ksm pages, limiting swappability.\n\nRemove page_add_ksm_rmap(): page_add_anon_rmap() now has to allow for the\nparticular case it was handling, so just use it instead.\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Izik Eidus \u003cieidus@redhat.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Chris Wright \u003cchrisw@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": "08beca44dfb0ab008e365163df70dbd302ae1508",
      "tree": "33f3ddf5460e139bd7fd37e8c08026a7d852c3da",
      "parents": [
        "7b6ba2c7d3baf8cd9f888e05563dcc32e368baab"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Dec 14 17:59:21 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:19 2009 -0800"
      },
      "message": "ksm: stable_node point to page and back\n\nAdd a pointer to the ksm page into struct stable_node, holding a reference\nto the page while the node exists.  Put a pointer to the stable_node into\nthe ksm page\u0027s -\u003emapping.\n\nThen we don\u0027t need get_ksm_page() while traversing the stable tree: the\npage to compare against is sure to be present and correct, even if it\u0027s no\nlonger visible through any of its existing rmap_items.\n\nAnd we can handle the forked ksm page case more efficiently: no need to\nmemcmp our way through the tree to find its match.\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Izik Eidus \u003cieidus@redhat.com\u003e\nCc: Andrea Arcangeli \u003caarcange@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": "af8e3354b4bbd1ee5a3a55d11a5e1fe37e77f0ba",
      "tree": "8dc0ece80878d00409d4662c5fd1e28cd7fbbdd8",
      "parents": [
        "53f79acb6ecb648afd63e0f13deba167f1a934df"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Dec 14 17:58:59 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:17 2009 -0800"
      },
      "message": "mm: CONFIG_MMU for PG_mlocked\n\nRemove three degrees of obfuscation, left over from when we had\nCONFIG_UNEVICTABLE_LRU.  MLOCK_PAGES is CONFIG_HAVE_MLOCKED_PAGE_BIT is\nCONFIG_HAVE_MLOCK is CONFIG_MMU.  rmap.o (and memory-failure.o) are only\nbuilt when CONFIG_MMU, so don\u0027t need such conditions at all.\n\nSomehow, I feel no compulsion to remove the CONFIG_HAVE_MLOCK* lines from\n169 defconfigs: leave those to evolve in due course.\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Izik Eidus \u003cieidus@redhat.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3ca7b3c5b64d35fe02c35b5d44c2c58b49499fee",
      "tree": "bb6af24d3683788ef658282f8794af19d2232663",
      "parents": [
        "bb3ab596832b920c703d1aea1ce76d69c0f71fb7"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Dec 14 17:58:57 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:17 2009 -0800"
      },
      "message": "mm: define PAGE_MAPPING_FLAGS\n\nAt present we define PageAnon(page) by the low PAGE_MAPPING_ANON bit set\nin page-\u003emapping, with the higher bits a pointer to the anon_vma; and have\ndefined PageKsm(page) as that with NULL anon_vma.\n\nBut KSM swapping will need to store a pointer there: so in preparation for\nthat, now define PAGE_MAPPING_FLAGS as the low two bits, including\nPAGE_MAPPING_KSM (always set along with PAGE_MAPPING_ANON, until some\nother use for the bit emerges).\n\nDeclare page_rmapping(page) to return the pointer part of page-\u003emapping,\nand page_anon_vma(page) to return the anon_vma pointer when that\u0027s what it\nis.  Use these in a few appropriate places: notably, unuse_vma() has been\ntesting page-\u003emapping, but is better to be testing page_anon_vma() (cases\nmay be added in which flag bits are set without any pointer).\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Izik Eidus \u003cieidus@redhat.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bb3ab596832b920c703d1aea1ce76d69c0f71fb7",
      "tree": "048162bf5081e7bd9802eba012e8b680a4444da8",
      "parents": [
        "f50de2d3811081957156b5d736778799379c29de"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Mon Dec 14 17:58:55 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:16 2009 -0800"
      },
      "message": "vmscan: stop kswapd waiting on congestion when the min watermark is not being met\n\nIf reclaim fails to make sufficient progress, the priority is raised.\nOnce the priority is higher, kswapd starts waiting on congestion.\nHowever, if the zone is below the min watermark then kswapd needs to\ncontinue working without delay as there is a danger of an increased rate\nof GFP_ATOMIC allocation failure.\n\nThis patch changes the conditions under which kswapd waits on congestion\nby only going to sleep if the min watermarks are being met.\n\n[mel@csn.ul.ie: add stats to track how relevant the logic is]\n[mel@csn.ul.ie: make kswapd only check its own zones and rename the relevant counters]\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: Rik van Riel \u003criel@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": "f50de2d3811081957156b5d736778799379c29de",
      "tree": "ddc3676bcaa26e2e55e18e57928b5c8331a0f0fa",
      "parents": [
        "273f047e36d83179573dc7e3a8af6aceaa8c599e"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon Dec 14 17:58:53 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:16 2009 -0800"
      },
      "message": "vmscan: have kswapd sleep for a short interval and double check it should be asleep\n\nAfter kswapd balances all zones in a pgdat, it goes to sleep.  In the\nevent of no IO congestion, kswapd can go to sleep very shortly after the\nhigh watermark was reached.  If there are a constant stream of allocations\nfrom parallel processes, it can mean that kswapd went to sleep too quickly\nand the high watermark is not being maintained for sufficient length time.\n\nThis patch makes kswapd go to sleep as a two-stage process.  It first\ntries to sleep for HZ/10.  If it is woken up by another process or the\nhigh watermark is no longer met, it\u0027s considered a premature sleep and\nkswapd continues work.  Otherwise it goes fully to sleep.\n\nThis adds more counters to distinguish between fast and slow breaches of\nwatermarks.  A \"fast\" premature sleep is one where the low watermark was\nhit in a very short time after kswapd going to sleep.  A \"slow\" premature\nsleep indicates that the high watermark was breached after a very short\ninterval.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Frans Pop \u003celendil@planet.nl\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d4906e1aa516cc965292b43b5a26122dd4344e7e",
      "tree": "78c19149282e93200d90f380a40f1e1192354936",
      "parents": [
        "7509765a29cfb1a4c506c09b304aaf3b4111c653"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "Lee.Schermerhorn@hp.com",
        "time": "Mon Dec 14 17:58:49 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:16 2009 -0800"
      },
      "message": "swap: rework map_swap_page() again\n\nSeems that page_io.c doesn\u0027t really need to know that page_private(page)\nis the swp_entry \u0027val\u0027.  Rework map_swap_page() to do what its name says\nand map a page to a page offset in the swap space.\n\nThe only other caller of map_swap_page() is internal to mm/swapfile.c and\nit does want to map a swap entry to the \u0027sector\u0027.  So rename\nmap_swap_page() to map_swap_entry(), make it \u0027static\u0027 and and implement\nmap_swap_page() as a wrapper around that.\n\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7509765a29cfb1a4c506c09b304aaf3b4111c653",
      "tree": "1f2de5381e044b452653a3af0f32e403ffe51931",
      "parents": [
        "aaa468653b4a0d11c603c48d716f765177a5a9e4"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Dec 14 17:58:48 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:16 2009 -0800"
      },
      "message": "swap_info: reorder its fields\n\nReorder (and comment) the fields of swap_info_struct, to make better\nuse of its cachelines: it\u0027s good for swap_duplicate() in particular\nif unsigned int max and swap_map are near the start.\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Rik van Riel \u003criel@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": "aaa468653b4a0d11c603c48d716f765177a5a9e4",
      "tree": "3cb8c9232dd405001fa38d5519937c5e6c6f32ab",
      "parents": [
        "570a335b8e22579e2a51a68136d2b1f907a20eec"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Dec 14 17:58:47 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:16 2009 -0800"
      },
      "message": "swap_info: note SWAP_MAP_SHMEM\n\nWhile we\u0027re fiddling with the swap_map values, let\u0027s assign a particular\nvalue to shmem/tmpfs swap pages: their swap counts are never incremented,\nand it helps swapoff\u0027s try_to_unuse() a little if it can immediately\ndistinguish those pages from process pages.\n\nSince we\u0027ve no use for SWAP_MAP_BAD | COUNT_CONTINUED,\nwe might as well use that 0xbf value for SWAP_MAP_SHMEM.\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Rik van Riel \u003criel@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": "570a335b8e22579e2a51a68136d2b1f907a20eec",
      "tree": "c5312383e948d2e7ac60c2fa410fee98e8b38a70",
      "parents": [
        "8d69aaee80c123b460918816cbfa2e83224c3646"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Dec 14 17:58:46 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:15 2009 -0800"
      },
      "message": "swap_info: swap count continuations\n\nSwap is duplicated (reference count incremented by one) whenever the same\nswap page is inserted into another mm (when forking finds a swap entry in\nplace of a pte, or when reclaim unmaps a pte to insert the swap entry).\n\nswap_info_struct\u0027s vmalloc\u0027ed swap_map is the array of these reference\ncounts: but what happens when the unsigned short (or unsigned char since\nthe preceding patch) is full? (and its high bit is kept for a cache flag)\n\nWe then lose track of it, never freeing, leaving it in use until swapoff:\nat which point we _hope_ that a single pass will have found all instances,\nassume there are no more, and will lose user data if we\u0027re wrong.\n\nSwapping of KSM pages has not yet been enabled; but it is implemented,\nand makes it very easy for a user to overflow the maximum swap count:\npossible with ordinary process pages, but unlikely, even when pid_max\nhas been raised from PID_MAX_DEFAULT.\n\nThis patch implements swap count continuations: when the count overflows,\na continuation page is allocated and linked to the original vmalloc\u0027ed\nmap page, and this used to hold the continuation counts for that entry\nand its neighbours.  These continuation pages are seldom referenced:\nthe common paths all work on the original swap_map, only referring to\na continuation page when the low \"digit\" of a count is incremented or\ndecremented through SWAP_MAP_MAX.\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Rik van Riel \u003criel@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": "8d69aaee80c123b460918816cbfa2e83224c3646",
      "tree": "899a69417dbd81f9b53926d7076629cc9b394ae5",
      "parents": [
        "253d553ba75ab26b3e9e2f70cbf6fbf0813f7e86"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Dec 14 17:58:45 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:15 2009 -0800"
      },
      "message": "swap_info: swap_map of chars not shorts\n\nHalve the vmalloc\u0027ed swap_map array from unsigned shorts to unsigned\nchars: it\u0027s still very unusual to reach a swap count of 126, and the\nnext patch allows it to be extended indefinitely.\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Rik van Riel \u003criel@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": "253d553ba75ab26b3e9e2f70cbf6fbf0813f7e86",
      "tree": "57c448fad45820c0eb984297fbef120b689381a0",
      "parents": [
        "73c34b6accc8427584f5d7db4d5acb230ed8c912"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Dec 14 17:58:44 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:15 2009 -0800"
      },
      "message": "swap_info: SWAP_HAS_CACHE cleanups\n\nThough swap_count() is useful, I\u0027m finding that swap_has_cache() and\nencode_swapmap() obscure what happens in the swap_map entry, just at\nthose points where I need to understand it.  Remove them, and pass\nmore usable \"usage\" values to scan_swap_map(), swap_entry_free() and\n__swap_duplicate(), instead of the SWAP_MAP and SWAP_CACHE enum.\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Rik van Riel \u003criel@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": "9625a5f289f7c3c100b59c317e2bcc3c7e2e51fb",
      "tree": "88fecfbed0eaf627e8e08a9e196d1d2849737f0a",
      "parents": [
        "efa90a981bbc891efad96db2a75b5487e00852ca"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Dec 14 17:58:42 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:15 2009 -0800"
      },
      "message": "swap_info: include first_swap_extent\n\nMake better use of the space by folding first swap_extent into its\nswap_info_struct, instead of just the list_head: swap partitions need\nonly that one, and for others it\u0027s used as a circular list anyway.\n\n[jirislaby@gmail.com: fix crash on double swapon]\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "efa90a981bbc891efad96db2a75b5487e00852ca",
      "tree": "fc64a5d5b71e84eb1eec2810fb0568a79a361827",
      "parents": [
        "f29ad6a99b596b8169744d107bf088e8be9e8d0d"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Dec 14 17:58:41 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:15 2009 -0800"
      },
      "message": "swap_info: change to array of pointers\n\nThe swap_info_struct is only 76 or 104 bytes, but it does seem wrong\nto reserve an array of about 30 of them in bss, when most people will\nwant only one.  Change swap_info[] to an array of pointers.\n\nThat does need a \"type\" field in the structure: pack it as a char with\nnext type and short prio (aha, char is unsigned by default on PowerPC).\nUse the (admittedly peculiar) name \"type\" throughout for this index.\n\n/proc/swaps does not take swap_lock: I wouldn\u0027t want it to, but do take\ncare with barriers when adding a new item to the array (never removed).\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Rik van Riel \u003criel@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": "f29ad6a99b596b8169744d107bf088e8be9e8d0d",
      "tree": "e138bf9eeb751defd358eb5aca8113e2645ded3d",
      "parents": [
        "976d6dfbb0175d136fc098854bbce0c028a3924b"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Dec 14 17:58:40 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:13 2009 -0800"
      },
      "message": "swap_info: private to swapfile.c\n\nThe swap_info_struct is mostly private to mm/swapfile.c, with only\none other in-tree user: get_swap_bio().  Adjust its interface to\nmap_swap_page(), so that we can then remove get_swap_info_struct().\n\nBut there is a popular user out-of-tree, TuxOnIce: so leave the\ndeclaration of swap_info_struct in linux/swap.h.\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Nigel Cunningham \u003cncunningham@crca.org.au\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Rik van Riel \u003criel@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": "bad44b5be84cf3bb1ff900bec02ee61e1993328c",
      "tree": "edd9a9cc2f482ca8684c9e64abe4b977a5525615",
      "parents": [
        "39da08cb074cf19cb249832a2a955dfb28837e65"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Mon Dec 14 17:58:38 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:13 2009 -0800"
      },
      "message": "mm: add gfp flags for NODEMASK_ALLOC slab allocations\n\nObjects passed to NODEMASK_ALLOC() are relatively small in size and are\nbacked by slab caches that are not of large order, traditionally never\ngreater than PAGE_ALLOC_COSTLY_ORDER.\n\nThus, using GFP_KERNEL for these allocations on large machines when\nCONFIG_NODES_SHIFT \u003e 8 will cause the page allocator to loop endlessly in\nthe allocation attempt, each time invoking both direct reclaim or the oom\nkiller.\n\nThis is of particular interest when using NODEMASK_ALLOC() from a\nmempolicy context (either directly in mm/mempolicy.c or the mempolicy\nconstrained hugetlb allocations) since the oom killer always kills current\nwhen allocations are constrained by mempolicies.  So for all present use\ncases in the kernel, current would end up being oom killed when direct\nreclaim fails.  That would allow the NODEMASK_ALLOC() to succeed but\ncurrent would have sacrificed itself upon returning.\n\nThis patch adds gfp flags to NODEMASK_ALLOC() to pass to kmalloc() on\nCONFIG_NODES_SHIFT \u003e 8; this parameter is a nop on other configurations.\nAll current use cases either directly from hugetlb code or indirectly via\nNODEMASK_SCRATCH() union __GFP_NORETRY to avoid direct reclaim and the oom\nkiller when the slab allocator needs to allocate additional pages.\n\nThe side-effect of this change is that all current use cases of either\nNODEMASK_ALLOC() or NODEMASK_SCRATCH() need appropriate -ENOMEM handling\nwhen the allocation fails (never for CONFIG_NODES_SHIFT \u003c\u003d 8).  All\ncurrent use cases were audited and do have appropriate error handling at\nthis time.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: Andy Whitcroft \u003capw@canonical.com\u003e\nCc: Eric Whitney \u003ceric.whitney@hp.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "39da08cb074cf19cb249832a2a955dfb28837e65"
}
