)]}'
{
  "log": [
    {
      "commit": "ed9f524ac79457f0c547c85746b19b92526be612",
      "tree": "9cc0900a65c3361faa5b25a4a7415ca6b415c40a",
      "parents": [
        "72b43570f304634532b4d66c991eef529135f68c"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Thu Sep 16 01:30:19 2010 +0900"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Thu Sep 23 13:52:38 2010 +0200"
      },
      "message": "ida: document IDA_BITMAP_LONGS calculation\n\nIDA_BITMAP_LONGS value is calculated take into account struct ida_bitmap\nnot to waste memory space. Comment it.\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "817f2c842d6c38acfd58d20d29ba583ec467ae35",
      "tree": "f1afe7175e0a2b3ecf465f26804ad8c3f6f7d263",
      "parents": [
        "0bc79f7f58f5d0670c776818e38f482555bc27ae"
      ],
      "author": {
        "name": "Nikanth Karthikesan",
        "email": "knikanth@suse.de",
        "time": "Mon Sep 20 11:44:00 2010 +0530"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Sep 21 17:04:50 2010 +0200"
      },
      "message": "Fix various typos of valid in comments\n\nFix various typos of valid.\n\nSigned-off-by: Nikanth Karthikesan \u003cknikanth@suse.de\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "3d529946ce292336793b85198bd59afc75e16bd4",
      "tree": "575227a3510c2212fed3b2f9283b6d4eeae41cc7",
      "parents": [
        "c84e032e145775032fa9078b55e6333dd866603b"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Wed Aug 18 09:48:31 2010 +1000"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Aug 18 10:19:52 2010 +0200"
      },
      "message": "Fix spelling mistake in jhash\n\nFix a spelling mistake.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "72d2e9f9f90ccafdce1f0a4a9eaabfb031f86def",
      "tree": "ced926d5c4530e25737b4b41284345ed81926828",
      "parents": [
        "0caa621065b2cc05d4e53655a34fd989f500b040"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Mon Aug 09 16:37:16 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 10 15:33:09 2010 -0700"
      },
      "message": "i2c.h: fix kernel-doc warnings\n\nFix kernel-doc warnings in linux/i2c.h:\n\n  Warning(include/linux/i2c.h:176): No description found for parameter \u0027alert\u0027\n  Warning(include/linux/i2c.h:259): No description found for parameter \u0027of_node\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2f9e825d3e0e2b407ae8f082de5c00afcf7378fb",
      "tree": "f8b3ee40674ce4acd5508a0a0bf52a30904caf6c",
      "parents": [
        "7ae0dea900b027cd90e8a3e14deca9a19e17638b",
        "de75d60d5ea235e6e09f4962ab22541ce0fe176a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 10 15:22:42 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 10 15:22:42 2010 -0700"
      },
      "message": "Merge branch \u0027for-2.6.36\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-2.6.36\u0027 of git://git.kernel.dk/linux-2.6-block: (149 commits)\n  block: make sure that REQ_* types are seen even with CONFIG_BLOCK\u003dn\n  xen-blkfront: fix missing out label\n  blkdev: fix blkdev_issue_zeroout return value\n  block: update request stacking methods to support discards\n  block: fix missing export of blk_types.h\n  writeback: fix bad _bh spinlock nesting\n  drbd: revert \"delay probes\", feature is being re-implemented differently\n  drbd: Initialize all members of sync_conf to their defaults [Bugz 315]\n  drbd: Disable delay probes for the upcomming release\n  writeback: cleanup bdi_register\n  writeback: add new tracepoints\n  writeback: remove unnecessary init_timer call\n  writeback: optimize periodic bdi thread wakeups\n  writeback: prevent unnecessary bdi threads wakeups\n  writeback: move bdi threads exiting logic to the forker thread\n  writeback: restructure bdi forker loop a little\n  writeback: move last_active to bdi\n  writeback: do not remove bdi from bdi_list\n  writeback: simplify bdi code a little\n  writeback: do not lose wake-ups in bdi threads\n  ...\n\nFixed up pretty trivial conflicts in drivers/block/virtio_blk.c and\ndrivers/scsi/scsi_error.c as per Jens.\n"
    },
    {
      "commit": "7ae0dea900b027cd90e8a3e14deca9a19e17638b",
      "tree": "428cbe411bba90f6580ae21338276c949e91f23a",
      "parents": [
        "6c74700fdb8e3bc34c31790384a8ec16c4fefd97",
        "560afa7d85bdfb294506afd3032c315e6827824f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 10 15:09:54 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 10 15:09:54 2010 -0700"
      },
      "message": "Merge branch \u0027v4l_for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6\n\n* \u0027v4l_for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (94 commits)\n  V4L/DVB: tvp7002: fix write to H-PLL Feedback Divider LSB register\n  V4L/DVB: dvb: siano: free spinlock before schedule()\n  V4L/DVB: media: video: pvrusb2: remove custom hex_to_bin()\n  V4L/DVB: drivers: usbvideo: remove custom implementation of hex_to_bin()\n  V4L/DVB: Report supported QAM modes on bt8xx\n  V4L/DVB: media: ir-keytable: null dereference in debug code\n  V4L/DVB: ivtv: convert to the new control framework\n  V4L/DVB: ivtv: convert gpio subdev to new control framework\n  V4L/DVB: wm8739: convert to the new control framework\n  V4L/DVB: cs53l32a: convert to new control framework\n  V4L/DVB: wm8775: convert to the new control framework\n  V4L/DVB: cx2341x: convert to the control framework\n  V4L/DVB: cx25840: convert to the new control framework\n  V4L/DVB: cx25840/ivtv: replace ugly priv control with s_config\n  V4L/DVB: saa717x: convert to the new control framework\n  V4L/DVB: msp3400: convert to the new control framework\n  V4L/DVB: saa7115: convert to the new control framework\n  V4L/DVB: v4l2: hook up the new control framework into the core framework\n  V4L/DVB: Documentation: add v4l2-controls.txt documenting the new controls API\n  V4L/DVB: v4l2-ctrls: Whitespace cleanups\n  ...\n"
    },
    {
      "commit": "6c74700fdb8e3bc34c31790384a8ec16c4fefd97",
      "tree": "824aa29b31e64e4cf0e67ce17ffd5d131fbc6138",
      "parents": [
        "3e7561636f3f7f9b2942f6f90b021fdaeb0fe0ee",
        "adb23631a739b6a02eadf0ee5ff021cadcddfc61"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 10 15:09:05 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 10 15:09:05 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog:\n  watchdog: hpwdt: formatting of pointers in printk()\n  watchdog: Adding support for ARM Primecell SP805 Watchdog\n  watchdog: f71808e_wdt: new watchdog driver for Fintek F71808E and F71882FG\n  watchdog: sch311x_wdt.c: set parent before registeriing the misc device in probe() function\n  watchdog: wdt_pci.c: move ids to pci_ids.h\n  watchdog: s3c2410_wdt - Fix removing of platform device\n"
    },
    {
      "commit": "04f2b9765f1e80337314e03c4adde695fe2f0403",
      "tree": "bde948d37c22eaf5e200dd9675543ea2b2e059c2",
      "parents": [
        "9895850b23886e030cd1e7241d5529a57e969c3d",
        "5fc0d36c00e6a2d0a9f2a0a815cff5b9a13b080d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 10 15:08:02 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 10 15:08:02 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:\n  Input: xpad - add USB-ID for PL-3601 Xbox 360 pad\n  Input: cy8ctmg100_ts - signedness bug\n  Input: elantech - report position also with 3 fingers\n  Input: elantech - discard the first 2 positions on some firmwares\n  Input: adxl34x - do not mark device as disabled on startup\n  Input: gpio_keys - add hooks to enable/disable device\n  Input: evdev - rearrange ioctl handling\n  Input: dynamically allocate ABS information\n  Input: switch to input_abs_*() access functions\n  Input: add static inline accessors for ABS properties\n"
    },
    {
      "commit": "9895850b23886e030cd1e7241d5529a57e969c3d",
      "tree": "1061626db450aeb72dcfcd247c24b33e5238c8c4",
      "parents": [
        "fc385c313275b114bc6ad36e60c5177d63250548",
        "b58af4066d240b18b43f202e07b9ec7461d90b17"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 10 15:05:02 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 10 15:05:02 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (148 commits)\n  USB: serial: fix stalled writes\n  USB: remove fake \"address-of\" expressions\n  USB: fix thread-unsafe anchor utiliy routines\n  USB: usbtest: support test device with only one iso-in or iso-out endpoint\n  USB: usbtest: avoid to free coherent buffer in atomic context\n  USB: xhci: Set DMA mask for host.\n  USB: xhci: Don\u0027t flush doorbell writes.\n  USB: xhci: Reduce reads and writes of interrupter registers.\n  USB: xhci: Make xhci_set_hc_event_deq() static.\n  USB: xhci: Minimize HW event ring dequeue pointer writes.\n  USB: xhci: Make xhci_handle_event() static.\n  USB: xhci: Remove unnecessary reads of IRQ_PENDING register.\n  USB: xhci: Performance - move xhci_work() into xhci_irq()\n  USB: xhci: Performance - move interrupt handlers into xhci-ring.c\n  USB: xhci: Performance - move functions that find ep ring.\n  USB:: fix linux/usb.h kernel-doc warnings\n  USB: add USB serial ssu100 driver\n  USB: usb-storage: implement autosuspend\n  USB: ehci: fix remove of ehci debugfs dir\n  USB: Add USB 2.0 to ssb ohci driver\n  ...\n"
    },
    {
      "commit": "fc385c313275b114bc6ad36e60c5177d63250548",
      "tree": "3436184ec3af11e6506df5233889700a74427055",
      "parents": [
        "a92b166e6b8c3c0037493690b2800b0b0dd92063",
        "235dae5d094c415fcf0fc79fa637f1901bc8afe2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 10 15:03:42 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 10 15:03:42 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6: (68 commits)\n  U6715 16550A serial driver support\n  Char: nozomi, set tty-\u003edriver_data appropriately\n  Char: nozomi, fix tty-\u003ecount counting\n  serial: max3107: Fix gpiolib support\n  hsu: call PCI pm hooks in suspend/resume function\n  hsu: some code cleanup\n  hsu: add a periodic timer to check dma rx channel\n  hsu: driver for Medfield High Speed UART device\n  mxser: remove unnesesary NULL check\n  serial: add support for OX16PCI958 card\n  serial: 68328serial.c: remove dead (ALMA_ANS | DRAGONIXVZ | M68EZ328ADS)\n  timbuart: use __devinit and __devexit macros for probe and remove\n  serial: MMIO32 support for 8250_early.c\n  serial: mcf: don\u0027t take spinlocks in already protected functions\n  serial: general fixes in the serial_rs485 structure\n  serial: fix missing bit coverage of ASYNC_FLAGS\n  serial: \"altera_uart: simplify altera_uart_console_putc()\" checkpatch fixes\n  serial: crisv10: formatting of pointers in printk()\n  vt: Fix warning: statement with no effect due to vt_kern.h\n  tty_io: remove casts from void*\n  ...\n"
    },
    {
      "commit": "c6ba1c2af2da31ffb57949edbd1dba34f97d1d4b",
      "tree": "27f746b7ba5be5b05b45b7bea8b6e94e93e2e7c2",
      "parents": [
        "52af954599396e5945a895035525c703f2761b20"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Thu Jul 29 15:54:38 2010 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 10 14:35:44 2010 -0700"
      },
      "message": "USB:: fix linux/usb.h kernel-doc warnings\n\nFix kernel-doc warnings in linux/usb.h:\n\nWarning(include/linux/usb.h:185): No description found for parameter \u0027resetting_device\u0027\nWarning(include/linux/usb.h:1212): No description found for parameter \u0027stream_id\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "93362a875fc69881ae69299efaf19a55a1f57db0",
      "tree": "5d3163f02c4e2399ab3b59d020180563d9630f86",
      "parents": [
        "33d973ad88ceb83ed1449592b7574b5b5bb33ac6"
      ],
      "author": {
        "name": "Phil Dibowitz",
        "email": "phil@ipom.com",
        "time": "Thu Jul 22 00:05:01 2010 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 10 14:35:41 2010 -0700"
      },
      "message": "USB delay init quirk for logitech Harmony 700-series devices\n\nThe Logitech Harmony 700 series needs an extra delay during\ninitialization.  This patch adds a USB quirk which enables such a delay\nand adds the device to the quirks list.\n\nSigned-off-by: Phil Dibowitz \u003cphil@ipom.com\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "13dd0c9767349b280cf131c34461f85e5effc42a",
      "tree": "fd4571015c4ed0097fb60e9d22132ab0aac6240f",
      "parents": [
        "51a91a5424cb94f40eb0c9d0b71d8df4e423742a"
      ],
      "author": {
        "name": "Igor Grinberg",
        "email": "grinberg@compulab.co.il",
        "time": "Thu Jul 15 16:00:16 2010 +0300"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 10 14:35:40 2010 -0700"
      },
      "message": "USB: otg/ulpi: extend the generic ulpi driver.\n\n1) Introduce ulpi specific flags for control of the ulpi phy\n2) Extend the generic ulpi driver with support for Function and\nInterface control of upli phy\n3) Update the platforms using the generic ulpi driver with new ulpi\nflags\n4) Remove the otg control flags not in use\n\nSigned-off-by: Igor Grinberg \u003cgrinberg@compulab.co.il\u003e\nSigned-off-by: Mike Rapoport \u003cmike@compulab.co.il\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "5128993b6f5f38bc567f3c246248ca29fd599132",
      "tree": "5bf8230c54141551f5e057d3ba5eb17242f28a86",
      "parents": [
        "d709d22eea927e42c911ac0ad151b56aeafd1b76"
      ],
      "author": {
        "name": "Ajay Kumar Gupta",
        "email": "ajay.gupta@ti.com",
        "time": "Thu Jul 08 14:03:01 2010 +0530"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 10 14:35:39 2010 -0700"
      },
      "message": "USB: ulpi: fix compilation warning\n\nFixes below compilation warning from ulpi.h\n\ninclude/linux/usb/ulpi.h:145:\n        warning: \u0027struct otg_io_access_ops\u0027 declared inside parameter list\ninclude/linux/usb/ulpi.h:145:\n         warning: its scope is only this definition or declaration,\n         which is probably not what you want\n\nSigned-off-by: Ajay Kumar Gupta \u003cajay.gupta@ti.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "ff2f07874362d34684296f2bd5547a099f33c6d4",
      "tree": "f41b8c3fcdd0556f4542058433d82f260928727d",
      "parents": [
        "ee0b9be829803e3ff5adec7456bd59a08425ffa1"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Fri Jun 25 14:02:35 2010 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 10 14:35:38 2010 -0700"
      },
      "message": "USB: fix race between root-hub wakeup \u0026 controller suspend\n\nThis patch (as1395) adds code to hcd_pci_suspend() for handling wakeup\nraces.  This is another general race pattern, similar to the \"open\nvs. unregister\" race we\u0027re all familiar with.  Here, the race is\nbetween suspending a device and receiving a wakeup request from one of\nthe device\u0027s suspended children.\n\nIn particular, if a root-hub wakeup is requested at about the same\ntime as the corresponding USB controller is suspended, and if the\ncontroller is enabled for wakeup, then the controller should either\nfail to suspend or else wake right back up again.\n\nDuring system sleep this won\u0027t happen very much, especially since host\ncontrollers generally aren\u0027t enabled for wakeup during sleep.  However\nit is definitely an issue for runtime PM.  Something like this will be\nneeded to prevent the controller from autosuspending while waiting for\na root-hub resume to take place.  (That is, in fact, the common case,\nfor which there is an extra test.)\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "4147200d25c423e627ab4487530b3d9f2ef829c8",
      "tree": "7261fbfd97782482d18333f1b0e9de0e2e4bf968",
      "parents": [
        "057c58bfb1dc9bbb75b8ba3b6c6336cfca63b9d0"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Fri Jun 25 14:02:14 2010 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 10 14:35:37 2010 -0700"
      },
      "message": "USB: add do_wakeup parameter for PCI HCD suspend\n\nThis patch (as1385) adds a \"do_wakeup\" parameter to the pci_suspend\nmethod used by PCI-based host controller drivers.  ehci-hcd in\nparticular needs to know whether or not to enable wakeup when\nsuspending a controller.  Although that information is currently\navailable through device_may_wakeup(), when support is added for\nruntime suspend this will no longer be true.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "541c7d432f76771079e7c295d596ea47cc6a3030",
      "tree": "9e04330713366d21849cecf0f3fd2f2c1834574d",
      "parents": [
        "89ba85d4015b7fa738b35bcc228075c117a9a578"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Tue Jun 22 16:39:10 2010 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 10 14:35:37 2010 -0700"
      },
      "message": "USB: convert usb_hcd bitfields into atomic flags\n\nThis patch (as1393) converts several of the single-bit fields in\nstruct usb_hcd to atomic flags.  This is for safety\u0027s sake; not all\nCPUs can update bitfield values atomically, and these flags are used\nin multiple contexts.\n\nThe flag fields that are set only during registration or removal can\nremain as they are, since non-atomic accesses at those times will not\ncause any problems.\n\n(Strictly speaking, the authorized_default flag should become atomic\nas well.  I didn\u0027t bother with it because it gets changed only via\nsysfs.  It can be done later, if anyone wants.)\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "3f3e12d050052032a51f75e72e540322e2a7da2b",
      "tree": "3e90bb116993c31f1702a540a675626a29cce229",
      "parents": [
        "c7ba692294ef2f69a76b24b2ad45fc6c0ac0d497"
      ],
      "author": {
        "name": "Michal Nazarewicz",
        "email": "m.nazarewicz@samsung.com",
        "time": "Mon Jun 21 13:57:08 2010 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 10 14:35:37 2010 -0700"
      },
      "message": "USB: gadget: composite: added disconnect callback\n\nAdded a disconnect() callback to composite devices which\nis called by composite glue when its disconnect callback\nis called by gadget.\n\nSigned-off-by: Michal Nazarewicz \u003cm.nazarewicz@samsung.com\u003e\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nAcked-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f2adc4f8aaf272de9ac71dcb18d95ebe05fc3f94",
      "tree": "07b92ce8914bca169edbf5e0852a3c93bea81e4b",
      "parents": [
        "7898aee1dacbb246fee958f0a6102320b61768d9"
      ],
      "author": {
        "name": "Michal Nazarewicz",
        "email": "m.nazarewicz@samsung.com",
        "time": "Wed Jun 16 12:07:59 2010 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 10 14:35:36 2010 -0700"
      },
      "message": "USB: gadget: composite: usb_string_ids_*() functions added\n\nusb_string_ids_tab() and usb_string_ids_n() functions added to\nthe composite framework.  The first accepts an array of\nusb_string object and for each registeres a string id and the\nsecond registeres a given number of ids and returns the first.\n\nThis may simplify string ids registration since gadgets and\ncomposite functions won\u0027t have to call usb_string_id() several\ntimes and each time check for errer status -- all this will be\ndone with a single call.\n\nSigned-off-by: Michal Nazarewicz \u003cm.nazarewicz@samsung.com\u003e\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "7898aee1dacbb246fee958f0a6102320b61768d9",
      "tree": "36243fdd64df23ab0112daf95a41c62efd5d5b39",
      "parents": [
        "1dc90985d1b29275607ddac59555199e7894f633"
      ],
      "author": {
        "name": "Michal Nazarewicz",
        "email": "m.nazarewicz@samsung.com",
        "time": "Wed Jun 16 12:07:58 2010 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 10 14:35:36 2010 -0700"
      },
      "message": "USB: gadget: f_fs: functionfs_add() renamed to functionfs_bind_config()\n\nFunctionFS had a bit unique name for function used to add it\nto USB configuration.  Renamed as to match naming convention\nof other functions.\n\nSigned-off-by: Michal Nazarewicz \u003cm.nazarewicz@samsung.com\u003e\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "c532b29a6f6d31e84a7c88f995eebdc75ebd4248",
      "tree": "5b8dbfae37f6c3c1530ee3651c9d28e00bd15f5e",
      "parents": [
        "6e12ea4658487ba9c746e95b31014cb89f63703b"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@linux.intel.com",
        "time": "Tue Jun 01 23:04:41 2010 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 10 14:35:35 2010 -0700"
      },
      "message": "USB-BKL: Convert usb_driver ioctl to unlocked_ioctl\n\nAnd audit all the users. None needed the BKL.  That was easy\nbecause there was only very few around.\n\nTested with allmodconfig build on x86-64\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nFrom: Andi Kleen \u003cak@linux.intel.com\u003e\n\n"
    },
    {
      "commit": "48f24970144479c29b8cee6d2e1dbedf6dcf9cfb",
      "tree": "5a4944c496f4209a862188c16f29cdef55db3224",
      "parents": [
        "aa4d8342988d0c1a79ff19b2ede1e81dfbb16ea5"
      ],
      "author": {
        "name": "Alek Du",
        "email": "alek.du@intel.com",
        "time": "Fri Jun 04 15:47:55 2010 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 10 14:35:35 2010 -0700"
      },
      "message": "USB: EHCI: EHCI 1.1 addendum: Basic LPM feature support\n\nWith this patch, the LPM capable EHCI host controller can put device\ninto L1 sleep state which is a mode that can enter/exit quickly, and\nreduce power consumption.\n\nSigned-off-by: Jacob Pan \u003cjacob.jun.pan@intel.com\u003e\nSigned-off-by: Alek Du \u003calek.du@intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "aa4d8342988d0c1a79ff19b2ede1e81dfbb16ea5",
      "tree": "7139abaa1f63af9a70405cec91dcd1b8a30bf0d0",
      "parents": [
        "e644814a2ccbfe171d2fd2b9bca491ead1ae1a96"
      ],
      "author": {
        "name": "Alek Du",
        "email": "alek.du@intel.com",
        "time": "Fri Jun 04 15:47:54 2010 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 10 14:35:35 2010 -0700"
      },
      "message": "USB: EHCI: EHCI 1.1 addendum: preparation\n\nEHCI 1.1 addendum introduced several energy efficiency extensions for\nEHCI USB host controllers:\n1. LPM (link power management)\n2. Per-port change\n3. Shorter periodic frame list\n4. Hardware prefetching\n\nThis patch is intended to define the HW bits and debug interface for\nEHCI 1.1 addendum. The LPM and Per-port change patches will be sent out\nafter this patch.\n\nSigned-off-by: Jacob Pan \u003cjacob.jun.pan@intel.com\u003e\nSigned-off-by: Alek Du \u003calek.du@intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "6e1c3b467ffd9d6eb725dda544f6fd10e471ea71",
      "tree": "6c815a4e5980bf91cb564f36ae085db14defa4c4",
      "parents": [
        "cd62aced31dee9a9a8e63da7bd564911891b3665"
      ],
      "author": {
        "name": "Igor Grinberg",
        "email": "grinberg@compulab.co.il",
        "time": "Thu May 27 09:32:13 2010 +0300"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 10 14:35:34 2010 -0700"
      },
      "message": "USB: otg.h: Fix the mixup in parameters order.\n\notg_io_write() function does not follow the declaration of\nstruct otg_io_access_ops.\n\nSigned-off-by: Igor Grinberg \u003cgrinberg@compulab.co.il\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "6d88e6792574497bfac9a81403cc47712040636f",
      "tree": "ecd65e7b2c3c0f90f7a5e39313a3fb2850b2fdb8",
      "parents": [
        "96e077ae347912dfce0e93f5958efc3ed6f311f4"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Wed Jun 09 17:34:17 2010 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 10 14:35:33 2010 -0700"
      },
      "message": "USB: don\u0027t stop root-hub status polls too soon\n\nThis patch (as1390) fixes a problem that crops up when a UHCI host\ncontroller is unbound from uhci-hcd while there are still some active\nURBs.  The URBs have to be unlinked when the root hub is unregistered,\nand uhci-hcd relies upon root-hub status polls as part of its\nunlinking procedure.  But usb_hcd_poll_rh_status() won\u0027t make those\nstatus calls if hcd-\u003erh_registered is clear, and the flag is cleared\n_before_ the unregistration takes place.\n\nSince hcd-\u003erh_registered is used for other things and needs to be\ncleared early, the solution is to add a new flag (rh_pollable) and use\nit instead.  It gets cleared _after_ the root hub is unregistered.\n\nNow that the status polls don\u0027t end too soon, we have to make sure\nthey also don\u0027t occur too late -- after the root hub\u0027s usb_device\nstructure or the HCD\u0027s private structures are deallocated.  Therefore\nthe patch adds usb_get_device() and usb_put_device() calls to protect\nthe root hub structure, and it adds an extra del_timer_sync() to\nprevent the root-hub timer from causing an unexpected status poll.\n\nThis additional complexity would not be needed if the HCD framework\nhad provided separate stop() and release() callbacks instead of just\nstop().  This lack could be fixed at some future time (although it\nwould require changes to every host controller driver); when that\nhappens this patch won\u0027t be needed any more.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "7233e392760b3493095d3d5885cb15e44493d74a",
      "tree": "e2095425fe34c635ee2cf77f9ef6022f7cddfbb1",
      "parents": [
        "4c619407b0439c59c20398b9459020c0d297f424",
        "5ef06839f50c7e5e479d3595257131edf1f84f36"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 10 13:58:28 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 10 13:58:28 2010 -0700"
      },
      "message": "Merge branch \u0027bkl/ioctl\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing\n\n* \u0027bkl/ioctl\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing:\n  staging: Pushdown bkl to easycap ioctl handlers\n  autofs/autofs4: Move compat_ioctl handling into fs\n  v4l: Convert v4l2-dev to unlocked_ioctl\n  ia64/perfmon: Convert to unlocked_ioctl\n  sunrpc: Remove duplicated #include\n  ncpfs: Remove duplicated #include\n"
    },
    {
      "commit": "235dae5d094c415fcf0fc79fa637f1901bc8afe2",
      "tree": "947ea700996f68c0a601cb2a0204d475ca131f32",
      "parents": [
        "bf9c1fca9ae9a79ed209e7ab2c10b3862f3f6f72"
      ],
      "author": {
        "name": "Philippe Langlais",
        "email": "philippe.langlais@stericsson.com",
        "time": "Thu Jul 29 17:13:57 2010 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 10 13:47:46 2010 -0700"
      },
      "message": "U6715 16550A serial driver support\n\nUART Features extract from STEricsson U6715 data-sheet (arm926 SoC for mobile phone):\n* Fully compatible with industry standard 16C550 and 16C450 from various\nmanufacturers\n* RX and TX 64 byte FIFO reduces CPU interrupts\n* Full double buffering\n* Modem control signals include CTS, RTS, (and DSR, DTR on UART1 only)\n* Automatic baud rate selection\n* Manual or automatic RTS/CTS smart hardware flow control\n* Programmable serial characteristics:\n– Baud rate generation (50 to 3.25M baud)\n– 5, 6, 7 or 8-bit characters\n– Even, odd or no-parity bit generation and detection\n– 1, 1.5 or 2 stop bit generation\n* Independent control of transmit, receive, line status, data set interrupts and FIFOs\n* Full status-reporting capabilities\n* Separate DMA signaling for RX and TX\n* Timed interrupt to spread receive interrupt on known duration\n* DMA time-out interrupt to allow detection of end of reception\n* Carkit pulse coding and decoding compliant with USB carkit control interface [40]\n\nIn 16550A auto-configuration, if the fifo size is 64 then it\u0027s an U6 16550A port\nAdd set_termios hook \u0026 export serial8250_do_set_termios to change uart\nclock following baudrate\n\nSigned-off-by: Philippe Langlais \u003cphilippe.langlais@stericsson.com\u003e\nAcked-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "d843fc6e9dc9bee7061b6833594860ea93ad98e1",
      "tree": "825f25909de7b4056a5c8e4180b2068fff339070",
      "parents": [
        "464eb8f596fcbdadcfbbdb4a84847ffcb93cc4dd"
      ],
      "author": {
        "name": "Feng Tang",
        "email": "feng.tang@intel.com",
        "time": "Tue Jul 27 08:20:22 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 10 13:47:46 2010 -0700"
      },
      "message": "hsu: driver for Medfield High Speed UART device\n\nThis is a PCI \u0026 UART driver, which suppors both PIO and DMA mode\nUART operation. It has 3 identical UART ports and one internal\nDMA controller.\n\nCurrent FW will export 4 pci devices for hsu: 3 uart ports and 1\ndma controller, each has one IRQ line. And we need to discuss the\ndevice model, one PCI device covering whole HSU should be a better\nmodel, but there is a problem of how to export the 4 IRQs info\n\nCurrent driver set the highest baud rate to 2746800bps, which is\neasy to scale down to 115200/230400.... To suport higher baud rate,\nwe need add special process, change DLAB/DLH/PS/DIV/MUL registers\nall together.\n\n921600 is the highest baud rate that has been tested with Bluetooth\nmodem connected to HSU port 0. Will test more when there is right\nBT firmware.\n\nCurrent version contains several work around for A0\u0027s Silicon bugs\n\nSigned-off-by: Feng Tang \u003cfeng.tang@intel.com\u003e\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "1b6331848b69d1ed165a6bdc75c4046d68767563",
      "tree": "8bb63607eed2f95dfcc460bfb0606de5ff7747b8",
      "parents": [
        "93e3d58284626ff6466f9c3dac8800cd6f8079c6"
      ],
      "author": {
        "name": "Claudio Scordino",
        "email": "claudio@evidence.eu.com",
        "time": "Tue Jul 20 15:26:47 2010 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 10 13:47:45 2010 -0700"
      },
      "message": "serial: general fixes in the serial_rs485 structure\n\nFix several issues related to the RS485 interface:\n\n - It adds the flag SER_RS485_RTS_BEFORE_SEND that was missing from the\n   serial_rs485 structure (even if \"delay_rts_before_send\" was existing)\n\n - It adds a further \"delay_rts_after_send\" field for those drivers that\n   can have a delay after send (e.g., atmel_serial)\n\n - It fixes the usage of the structure in the atmel_serial driver (where\n   \"delay_rts_before_send\" should be used instead of \"delay_rts_after_send\").\n\nSigned-off-by: Claudio Scordino \u003cclaudio@evidence.eu.com\u003e\nSigned-off-by: Bernhard Roth \u003cbr@pwrnet.de\u003e\nCc: Philippe De Muyter \u003cphdm@macqel.be\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "93e3d58284626ff6466f9c3dac8800cd6f8079c6",
      "tree": "4ac91dfa0fe4d485a81439dbb4118978d9cf3cb2",
      "parents": [
        "e8dd4757a6cf0a8909148a61b89fa3a6d4f9b3ee"
      ],
      "author": {
        "name": "John Villalovos",
        "email": "jvillalo@redhat.com",
        "time": "Tue Jul 20 15:26:46 2010 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 10 13:47:45 2010 -0700"
      },
      "message": "serial: fix missing bit coverage of ASYNC_FLAGS\n\nIt seems that currently ASYNC_FLAGS is one bit short of covering all the\nbits of the ASYNC user flags.  In particular it does not cover the\nASYNC_AUTOPROBE bit.\n\nASYNCB_LAST_USER and ASYNCB_AUTOPROBE are both equal to 15.\n\nTherefore:\nASYNC_AUTOPROBE \u003d 1000 0000 0000 0000\nASYNC_FLAGS     \u003d 0111 1111 1111 1111\n\nSo ASYNC_FLAGS is not covering the ASYNC_AUTOPROBE bit.\n\nThis patch fixes the issue and with the patch the values will be:\nASYNC_AUTOPROBE \u003d 1000 0000 0000 0000\nASYNC_FLAGS     \u003d 1111 1111 1111 1111\n\nAs a side note, doing a \"git grep\" I didn\u0027t find any use of\nASYNC_AUTOPROBE or ASYNCB_AUTOPROBE in the kernel, besides this include\nfile.\n\nSigned-off-by: John Villalovos \u003cjohn.l.villalovos@intel.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "75e0b946cf2fef14236ff999b6d7eacbae2034b0",
      "tree": "b0de8e990260d6a7019f543982115e920a7a9893",
      "parents": [
        "2b50d24760a7c0b62180e6fb5a44c2ce3db66abd"
      ],
      "author": {
        "name": "Kevin Winchester",
        "email": "kjwinchester@gmail.com",
        "time": "Sat Jul 10 18:57:56 2010 -0300"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 10 13:47:44 2010 -0700"
      },
      "message": "vt: Fix warning: statement with no effect due to vt_kern.h\n\nUsing:\n\n\tgcc (GCC) 4.5.0 20100610 (prerelease)\n\nwith CONFIG_CONSOLE_TRANSLATIONS\u003dn, the following warnings are seen:\n\n\tdrivers/char/vt_ioctl.c: In function ‘vt_ioctl’:\n\tdrivers/char/vt_ioctl.c:1309:4: warning: statement with no effect\n\tdrivers/char/vt.c: In function ‘vc_allocate’:\n\tdrivers/char/vt.c:774:3: warning: statement with no effect\n\tdrivers/video/console/vgacon.c: In function ‘vgacon_init’:\n\tdrivers/video/console/vgacon.c:587:3: warning: statement with no effect\n\tdrivers/video/console/vgacon.c: In function ‘vgacon_deinit’:\n\tdrivers/video/console/vgacon.c:606:2: warning: statement with no effect\n\tdrivers/video/console/fbcon.c: In function ‘fbcon_init’:\n\tdrivers/video/console/fbcon.c:1087:3: warning: statement with no effect\n\tdrivers/video/console/fbcon.c:1089:3: warning: statement with no effect\n\tdrivers/video/console/fbcon.c: In function ‘fbcon_set_disp’:\n\tdrivers/video/console/fbcon.c:1369:3: warning: statement with no effect\n\tdrivers/video/console/fbcon.c:1371:3: warning: statement with no effect\n\nThis is because several functions in include/linux/vt_kern.h are\ndefined to (0).  Convert them to static inline functions to\nsilence the warnings and gain a bit of type safety.\n\nSigned-off-by: Kevin Winchester \u003ckjwinchester@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "61fd15262bb9c88a05fd89af22add9317dc1b1f4",
      "tree": "5bd8a7ac29f098b344eb71b0d472787e651057c1",
      "parents": [
        "44318feb93327e36108b2a9cf94ac9f7ccabf047"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Wed Jun 30 17:58:38 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 10 13:47:44 2010 -0700"
      },
      "message": "serial: max3107: Abstract out the platform specific bits\n\nAt the moment there is only one platform type supported and there is is\nhard wired, but with these changes the infrastructure is now there for\nanyone else to provide methods for their hardware.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b07471fa51358ce64cc25e1501544502362e4404",
      "tree": "0bd1889eb3cbabe51f15cc5e971f9644cdced0f3",
      "parents": [
        "ddcd9fb66ae7f448b517242c10a31d4e17bcad45"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Fri Aug 06 21:40:30 2010 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 10 13:47:44 2010 -0700"
      },
      "message": "tty: implement BTM as mutex instead of BKL\n\nThe tty locking now follows the rules for mutexes, so\nwe can replace the BKL usage with a new subsystem\nwide mutex.\n\nUsing a regular mutex here will change the behaviour\nwhen blocked on the BTM from spinning to sleeping,\nbut that should not be visible to the user.\n\nUsing the mutex also means that all the BTM is now\ncovered by lockdep.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "ddcd9fb66ae7f448b517242c10a31d4e17bcad45",
      "tree": "54c5894f3c1dd45580cd45c621bbeb9174da879b",
      "parents": [
        "203652192634c1fce5e79df0a8ff2fabfaefd3ab"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Tue Jun 01 22:53:08 2010 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 10 13:47:44 2010 -0700"
      },
      "message": "tty: remove tty_lock_nested\n\nThis changes all remaining users of tty_lock_nested\nto be non-recursive, which lets us kill this function.\nAs a consequence, we won\u0027t need to keep the lock count\nany more, which allows more simplifications later.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "be1bc2889a4db4961ef69f47fb471ecae9f23ade",
      "tree": "fd6d5e46e69efd9d66e6baa184988461f608f49a",
      "parents": [
        "4e608671674b62e97166f903830d5553e37970e8"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Tue Jun 01 22:53:05 2010 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 10 13:47:43 2010 -0700"
      },
      "message": "tty: introduce wait_event_interruptible_tty\n\nCalling wait_event_interruptible implicitly\nreleases the BKL when it sleeps, but we need\nto do this explcitly when we have converted\nit to a mutex.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "ec79d6056de58511d8e46d9ae59d3878f958dc3e",
      "tree": "8e73cf399c4cb3c31dbf3caced385cfc018a706a",
      "parents": [
        "3f582b8c11014e4ce310d9839fb335164195333f"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Tue Jun 01 22:53:01 2010 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 10 13:47:43 2010 -0700"
      },
      "message": "tty: replace BKL with a new tty_lock\n\nAs a preparation for replacing the big kernel lock\nin the TTY layer, wrap all the callers in new\nmacros tty_lock, tty_lock_nested and tty_unlock.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "8ce73264b75be4d5ed480440ac32dfc1f25ff678",
      "tree": "d604eda549bee636d8132994496ba2f1406fb8f1",
      "parents": [
        "ff917ba4f1a6189f90ed2c975984d6a1a1dc553d"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Tue Jun 01 22:52:56 2010 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 10 13:47:42 2010 -0700"
      },
      "message": "tty: Move the vt_tty field from the vc_data into the standard tty_port\n\nThis takes all the tty references through the expected interface points so\nwe can refcount them.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "ff917ba4f1a6189f90ed2c975984d6a1a1dc553d",
      "tree": "a53853d16c578dafee829ebe7645e724d184fab9",
      "parents": [
        "e33ac1c10b6baaac68d18d931e120d8b96e8c5f8"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Tue Jun 01 22:52:55 2010 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 10 13:47:41 2010 -0700"
      },
      "message": "tty: Make vt\u0027s have a tty_port\n\nThe vt layer isn\u0027t safely handling reference counts to tty object on the input\nside. Add a tty port structure to the vt layer in order to implement this using\nthe standard helpers.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "d87d9b7d19f04b16c4406d3c0feeca10090e0ada",
      "tree": "c6eadc964d4fdfe9e421a2d4d4143748f4668a6b",
      "parents": [
        "eab4f5af6b07009d1fc48bac5f3215c0cbfb2fc3"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Tue Jun 01 22:52:53 2010 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 10 13:47:41 2010 -0700"
      },
      "message": "tty: serial - fix tty referencing in set_ldisc\n\nPass down the ldisc number so that the drivers don\u0027t have to peek into the\ntty object themselves. This lets us get rid of another case of back referencing\nport to tty which we don\u0027t want (because of races versus hangup/close).\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "8a1e803d0148e320b9200a442dfb88f8cbde88e7",
      "tree": "431694cff4ad1a30f54aeb1bc26dc2f651bfe7bc",
      "parents": [
        "b4eda9cb48eac1b7369ad33e5d015c33b4376431"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Tue Jun 01 22:52:42 2010 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 10 13:47:40 2010 -0700"
      },
      "message": "istallion: use bit ops for the board flags\n\nThis lets us avoid problems with races on the flag changes\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "8fd4bd22350784d5b2fe9274f6790ba353976415",
      "tree": "a74d39c50f9a1ca74cfb47b08201c3a3d1e0baea",
      "parents": [
        "26df6d13406d1a53b0bda08bd712f1924affd7cd"
      ],
      "author": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jun 23 12:56:12 2010 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 10 13:47:40 2010 -0700"
      },
      "message": "vt/console: try harder to print output when panicing\n\nJesse\u0027s initial patch commit said:\n\n\"At panic time (i.e.  when oops_in_progress is set) we should try a bit\nharder to update the screen and make sure output gets to the VT, since\nsome drivers are capable of flipping back to it.\n\nSo make sure we try to unblank and update the display if called from a\npanic context.\"\n\nI\u0027ve enhanced this to add a flag to the vc that console layer can set to\nindicate they want this behaviour to occur.  This also adds support to\nfbcon for that flag and adds an fb flag for drivers to indicate they want\nto use the support.  It enables this for KMS drivers.\n\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nAcked-by: James Simmons \u003cjsimmons@infradead.org\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "26df6d13406d1a53b0bda08bd712f1924affd7cd",
      "tree": "db17328acbd7cac9dc20bc854509527c1c89ca01",
      "parents": [
        "a3c8ed693da9782f924223f65da9261da796e49b"
      ],
      "author": {
        "name": "hyc@symas.com",
        "email": "hyc@symas.com",
        "time": "Tue Jun 22 10:14:49 2010 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 10 13:47:39 2010 -0700"
      },
      "message": "tty: Add EXTPROC support for LINEMODE\n\nThis patch is against the 2.6.34 source.\n\nParaphrased from the 1989 BSD patch by David Borman @ cray.com:\n\n     These are the changes needed for the kernel to support\n     LINEMODE in the server.\n\n     There is a new bit in the termios local flag word, EXTPROC.\n     When this bit is set, several aspects of the terminal driver\n     are disabled.  Input line editing, character echo, and mapping\n     of signals are all disabled.  This allows the telnetd to turn\n     off these functions when in linemode, but still keep track of\n     what state the user wants the terminal to be in.\n\n     New ioctl:\n         TIOCSIG         Generate a signal to processes in the\n                         current process group of the pty.\n\n     There is a new mode for packet driver, the TIOCPKT_IOCTL bit.\n     When packet mode is turned on in the pty, and the EXTPROC bit\n     is set, then whenever the state of the pty is changed, the\n     next read on the master side of the pty will have the TIOCPKT_IOCTL\n     bit set.  This allows the process on the server side of the pty\n     to know when the state of the terminal has changed; it can then\n     issue the appropriate ioctl to retrieve the new state.\n\nSince the original BSD patches accompanied the source code for telnet\nI\u0027ve left that reference here, but obviously the feature is useful for\nany remote terminal protocol, including ssh.\n\nThe corresponding feature has existed in the BSD tty driver since 1989.\nFor historical reference, a good copy of the relevant files can be found\nhere:\n\nhttp://anonsvn.mit.edu/viewvc/krb5/trunk/src/appl/telnet/?pathrev\u003d17741\n\nSigned-off-by: Howard Chu \u003chyc@symas.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "b34d8915c413acb51d837a45fb8747b61f65c020",
      "tree": "ced5fac166324634653d84b1afe2b958b3904f4d",
      "parents": [
        "e8a89cebdbaab14caaa26debdb4ffd493b8831af",
        "f33ebbe9da2c3c24664a0ad4f8fd83f293547e63"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 10 12:07:51 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 10 12:07:51 2010 -0700"
      },
      "message": "Merge branch \u0027writable_limits\u0027 of git://decibel.fi.muni.cz/~xslaby/linux\n\n* \u0027writable_limits\u0027 of git://decibel.fi.muni.cz/~xslaby/linux:\n  unistd: add __NR_prlimit64 syscall numbers\n  rlimits: implement prlimit64 syscall\n  rlimits: switch more rlimit syscalls to do_prlimit\n  rlimits: redo do_setrlimit to more generic do_prlimit\n  rlimits: add rlimit64 structure\n  rlimits: do security check under task_lock\n  rlimits: allow setrlimit to non-current tasks\n  rlimits: split sys_setrlimit\n  rlimits: selinux, do rlimits changes under task_lock\n  rlimits: make sure -\u003erlim_max never grows in sys_setrlimit\n  rlimits: add task_struct to update_rlimit_cpu\n  rlimits: security, add task_struct to setrlimit\n\nFix up various system call number conflicts.  We not only added fanotify\nsystem calls in the meantime, but asm-generic/unistd.h added a wait4\nalong with a range of reserved per-architecture system calls.\n"
    },
    {
      "commit": "e8a89cebdbaab14caaa26debdb4ffd493b8831af",
      "tree": "e0843f082628408ce259c72db36da54dff603987",
      "parents": [
        "8196867c74890ccdf40a2b5e3e173597fbc4f9ac",
        "6ae0185fe201eae0548dace2a84acb5050fc8606"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 10 11:49:21 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 10 11:49:21 2010 -0700"
      },
      "message": "Merge git://git.infradead.org/mtd-2.6\n\n* git://git.infradead.org/mtd-2.6: (79 commits)\n  mtd: Remove obsolete \u003cmtd/compatmac.h\u003e include\n  mtd: Update copyright notices\n  jffs2: Update copyright notices\n  mtd-physmap: add support users can assign the probe type in board files\n  mtd: remove redwood map driver\n  mxc_nand: Add v3 (i.MX51) Support\n  mxc_nand: support 8bit ecc\n  mxc_nand: fix correct_data function\n  mxc_nand: add V1_V2 namespace to registers\n  mxc_nand: factor out a check_int function\n  mxc_nand: make some internally used functions overwriteable\n  mxc_nand: rework get_dev_status\n  mxc_nand: remove 0xe00 offset from registers\n  mtd: denali: Add multi connected NAND support\n  mtd: denali: Remove set_ecc_config function\n  mtd: denali: Remove unuseful code in get_xx_nand_para functions\n  mtd: denali: Remove device_info_tag structure\n  mtd: m25p80: add support for the Winbond W25Q32 SPI flash chip\n  mtd: m25p80: add support for the Intel/Numonyx {16,32,64}0S33B SPI flash chips\n  mtd: m25p80: add support for the EON EN25P{32, 64} SPI flash chips\n  ...\n\nFix up trivial conflicts in drivers/mtd/maps/{Kconfig,redwood.c} due to\nredwood driver removal.\n"
    },
    {
      "commit": "8c8946f509a494769a8c602b5ed189df01917d39",
      "tree": "dfd96bd6ca5ea6803c6d77f65ba37e04f78b2d3b",
      "parents": [
        "5f248c9c251c60af3403902b26e08de43964ea0b",
        "1968f5eed54ce47bde488fd9a450912e4a2d7138"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 10 11:39:13 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 10 11:39:13 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.infradead.org/users/eparis/notify\n\n* \u0027for-linus\u0027 of git://git.infradead.org/users/eparis/notify: (132 commits)\n  fanotify: use both marks when possible\n  fsnotify: pass both the vfsmount mark and inode mark\n  fsnotify: walk the inode and vfsmount lists simultaneously\n  fsnotify: rework ignored mark flushing\n  fsnotify: remove global fsnotify groups lists\n  fsnotify: remove group-\u003emask\n  fsnotify: remove the global masks\n  fsnotify: cleanup should_send_event\n  fanotify: use the mark in handler functions\n  audit: use the mark in handler functions\n  dnotify: use the mark in handler functions\n  inotify: use the mark in handler functions\n  fsnotify: send fsnotify_mark to groups in event handling functions\n  fsnotify: Exchange list heads instead of moving elements\n  fsnotify: srcu to protect read side of inode and vfsmount locks\n  fsnotify: use an explicit flag to indicate fsnotify_destroy_mark has been called\n  fsnotify: use _rcu functions for mark list traversal\n  fsnotify: place marks on object in order of group memory address\n  vfs/fsnotify: fsnotify_close can delay the final work in fput\n  fsnotify: store struct file not struct path\n  ...\n\nFix up trivial delete/modify conflict in fs/notify/inotify/inotify.c.\n"
    },
    {
      "commit": "5f248c9c251c60af3403902b26e08de43964ea0b",
      "tree": "6d3328e72a7e4015a64017eb30be18095c6a3c64",
      "parents": [
        "f6cec0ae58c17522a7bc4e2f39dae19f199ab534",
        "dca332528bc69e05f67161e1ed59929633d5e63d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 10 11:26:52 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 10 11:26:52 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (96 commits)\n  no need for list_for_each_entry_safe()/resetting with superblock list\n  Fix sget() race with failing mount\n  vfs: don\u0027t hold s_umount over close_bdev_exclusive() call\n  sysv: do not mark superblock dirty on remount\n  sysv: do not mark superblock dirty on mount\n  btrfs: remove junk sb_dirt change\n  BFS: clean up the superblock usage\n  AFFS: wait for sb synchronization when needed\n  AFFS: clean up dirty flag usage\n  cifs: truncate fallout\n  mbcache: fix shrinker function return value\n  mbcache: Remove unused features\n  add f_flags to struct statfs(64)\n  pass a struct path to vfs_statfs\n  update VFS documentation for method changes.\n  All filesystems that need invalidate_inode_buffers() are doing that explicitly\n  convert remaining -\u003eclear_inode() to -\u003eevict_inode()\n  Make -\u003edrop_inode() just return whether inode needs to be dropped\n  fs/inode.c:clear_inode() is gone\n  fs/inode.c:evict() doesn\u0027t care about delete vs. non-delete paths now\n  ...\n\nFix up trivial conflicts in fs/nilfs2/super.c\n"
    },
    {
      "commit": "de75d60d5ea235e6e09f4962ab22541ce0fe176a",
      "tree": "68530906b79f08d190c4fa7950c3a527ab980853",
      "parents": [
        "a4cc14ec9f0ef579262a81170a2eaf760844c471"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Aug 10 12:14:27 2010 -0400"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Aug 10 12:14:27 2010 -0400"
      },
      "message": "block: make sure that REQ_* types are seen even with CONFIG_BLOCK\u003dn\n\nThese form the basis of the basic WRITE etc primitives, so we\nneed them to be always visible. Otherwise we see errors like:\n\n\tmm/filemap.c:2164: error: \u0027REQ_WRITE\u0027 undeclared\n\tfs/read_write.c:362: error: \u0027REQ_WRITE\u0027 undeclared\n\tfs/splice.c:1108: error: \u0027REQ_WRITE\u0027 undeclared\n\tfs/aio.c:1496: error: \u0027REQ_WRITE\u0027 undeclared\n\nReported-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "5fc0d36c00e6a2d0a9f2a0a815cff5b9a13b080d",
      "tree": "819d3f27a826f29210398615f4918a4cd9154836",
      "parents": [
        "d01d0756f75e7a5b4b43764ad45b83c4340f11d6",
        "6ac8a99b906b01eaceef0057dbee4a225a32c423"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Tue Aug 10 08:41:58 2010 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Tue Aug 10 08:41:58 2010 -0700"
      },
      "message": "Merge branch \u0027next\u0027 into for-linus\n"
    },
    {
      "commit": "f6cec0ae58c17522a7bc4e2f39dae19f199ab534",
      "tree": "496cf6f53b0c75d9ae57bd0e411c5d2f6cea5cbb",
      "parents": [
        "0fcf12d510b6d1b1b090a090c62009310eca4be4",
        "c4e9b56e24422e71424b24eee27c2b134a191d7b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 09 21:05:52 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 09 21:05:52 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (59 commits)\n  igbvf.txt: Add igbvf Documentation\n  igb.txt: Add igb documentation\n  e100/e1000*/igb*/ixgb*: Add missing read memory barrier\n  ixgbe: fix build error with FCOE_CONFIG without DCB_CONFIG\n  netxen: protect tx timeout recovery by rtnl lock\n  isdn: gigaset: use after free\n  isdn: gigaset: add missing unlock\n  solos-pci: Fix race condition in tasklet RX handling\n  pkt_sched: Fix sch_sfq vs tcf_bind_filter oops\n  net: disable preemption before call smp_processor_id()\n  tcp: no md5sig option size check bug\n  iwlwifi: fix locking assertions\n  iwlwifi: fix TX tracer\n  isdn: fix information leak\n  net: Fix napi_gro_frags vs netpoll path\n  usbnet: remove noisy and hardly useful printk\n  rtl8180: avoid potential NULL deref in rtl8180_beacon_work\n  ath9k: Remove myself from the MAINTAINERS list\n  libertas: scan before assocation if no BSSID was given\n  libertas: fix association with some APs by using extended rates\n  ...\n"
    },
    {
      "commit": "dcded10f6dce10411b16134ce9cc87bfdf75c13f",
      "tree": "da6d0face147072c9eadc8a01af4e49958769138",
      "parents": [
        "9e0ba741aabdf129d561e62d207c75146adef5e8",
        "b0ebeb9c09cb5b84bb2f33927c84c7648845fcec"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 09 21:00:07 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 09 21:00:07 2010 -0700"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx: (30 commits)\n  DMAENGINE: at_hdmac: locking fixlet\n  DMAENGINE: pch_dma: kill another usage of __raw_{read|write}l\n  dma: dmatest: fix potential sign bug\n  ioat2: catch and recover from broken vtd configurations v6\n  DMAENGINE: add runtime slave control to COH 901 318 v3\n  DMAENGINE: add runtime slave config to DMA40 v3\n  DMAENGINE: generic slave channel control v3\n  dmaengine: Driver for Topcliff PCH DMA controller\n  intel_mid: Add Mrst \u0026 Mfld DMA Drivers\n  drivers/dma: Eliminate a NULL pointer dereference\n  dma/timb_dma: compile warning on 32 bit\n  DMAENGINE: ste_dma40: support older silicon\n  DMAENGINE: ste_dma40: support disabling physical channels\n  DMAENGINE: ste_dma40: no disabled phy channels on ux500\n  DMAENGINE: ste_dma40: fix suspend bug\n  DMAENGINE: ste_dma40: add DB8500 memcpy channels\n  DMAENGINE: ste_dma40: no flow control on memcpy\n  DMAENGINE: ste_dma40: arch updates for LCLA and LCPA\n  DMAENGINE: ste_dma40: allocate LCLA dynamically\n  DMAENGINE: ste_dma40: no premature stop\n  ...\n\nFix up trivial conflicts in arch/arm/mach-ux500/devices-db8500.c\n"
    },
    {
      "commit": "ea98eed9bcb62d1319db8b1210712c6a110a886c",
      "tree": "fa394336975862de7a1ca99f890eac4d3098356f",
      "parents": [
        "559b140a36613bb5b63f258b2ad833dad8cd11d9"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Mon Aug 09 17:20:56 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 09 20:45:09 2010 -0700"
      },
      "message": "flex_array: add helpers to get and put to make pointers easy to use\n\nGetting and putting arrays of pointers with flex arrays is a PITA.  You\nhave to remember to pass \u0026ptr to the _put and you have to do weird and\nwacky casting to get the ptr back from the _get.  Add two functions\nflex_array_get_ptr() and flex_array_put_ptr() to handle all of the magic.\n\n[akpm@linux-foundation.org: simplification suggested by Joe]\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: 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": "e269b085175acf03fc687a7416b9fd84aa9c6c23",
      "tree": "4f07bf03153450695a1e34073413879173cdb2b4",
      "parents": [
        "85c9fe8fcaf630225b26047b3a7cc5167739eced"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Mon Aug 09 17:20:23 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 09 20:45:05 2010 -0700"
      },
      "message": "iommu: inline iommu_num_pages\n\nA profile of a network benchmark showed iommu_num_pages rather high up:\n\n     0.52%  iommu_num_pages\n\nLooking at the profile, an integer divide is taking almost all of the time:\n\n      %\n         :      c000000000376ea4 \u003c.iommu_num_pages\u003e:\n    1.93 :      c000000000376ea4:       fb e1 ff f8     std     r31,-8(r1)\n    0.00 :      c000000000376ea8:       f8 21 ff c1     stdu    r1,-64(r1)\n    0.00 :      c000000000376eac:       7c 3f 0b 78     mr      r31,r1\n    3.86 :      c000000000376eb0:       38 84 ff ff     addi    r4,r4,-1\n    0.00 :      c000000000376eb4:       38 05 ff ff     addi    r0,r5,-1\n    0.00 :      c000000000376eb8:       7c 84 2a 14     add     r4,r4,r5\n   46.95 :      c000000000376ebc:       7c 00 18 38     and     r0,r0,r3\n   45.66 :      c000000000376ec0:       7c 84 02 14     add     r4,r4,r0\n    0.00 :      c000000000376ec4:       7c 64 2b 92     divdu   r3,r4,r5\n    0.00 :      c000000000376ec8:       38 3f 00 40     addi    r1,r31,64\n    0.00 :      c000000000376ecc:       eb e1 ff f8     ld      r31,-8(r1)\n    1.61 :      c000000000376ed0:       4e 80 00 20     blr\n\nSince every caller of iommu_num_pages passes in a constant power of two\nwe can inline this such that the divide is replaced by a shift. The\nentire function is only a few instructions once optimised, so it is\na good candidate for inlining overall.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nCc: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cf4ca4874fc45166198424384275f443a672d0b7",
      "tree": "2192ff3880b11c8f4ad495a22a11c2af09f41989",
      "parents": [
        "cb8a88b24bd7e3e7cf65e425f8f12d6a12371738"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Aug 09 17:20:20 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 09 20:45:05 2010 -0700"
      },
      "message": "kernel.h: remove unused NIPQUAD and NIPQUAD_FMT\n\nThere are no more uses of NIPQUAD or NIPQUAD_FMT.  Remove the definitions.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ea6b101d8a3ea4e1dec29df31188c2f9852296fe",
      "tree": "d4ec831d266914d72dbe028388260b8f7dfca6da",
      "parents": [
        "7387be3373277005c171b9f1509e91fae2e430f3"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Aug 09 17:20:18 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 09 20:45:04 2010 -0700"
      },
      "message": "include/linux/compiler-gcc.h: use __same_type() in __must_be_array()\n\nWe should use the __same_type() helper in __must_be_array().\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nReported-by: Andrew Morton \u003cakpm@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": "71abbbf856a0e70ca478782505c800891260ba84",
      "tree": "00ae494afd2868056753984035e1bfc0c2040257",
      "parents": [
        "d2997b1042ec150616c1963b5e5e919ffd0b0ebf"
      ],
      "author": {
        "name": "Ai Li",
        "email": "aili@codeaurora.org",
        "time": "Mon Aug 09 17:20:13 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 09 20:45:04 2010 -0700"
      },
      "message": "cpuidle: extend cpuidle and menu governor to handle dynamic states\n\nOn some SoC chips, HW resources may be in use during any particular idle\nperiod.  As a consequence, the cpuidle states that the SoC is safe to\nenter can change from idle period to idle period.  In addition, the\nlatency and threshold of each cpuidle state can vary, depending on the\noperating condition when the CPU becomes idle, e.g.  the current cpu\nfrequency, the current state of the HW blocks, etc.\n\ncpuidle core and the menu governor, in the current form, are geared\ntowards cpuidle states that are static, i.e.  the availabiltiy of the\nstates, their latencies, their thresholds are non-changing during run\ntime.  cpuidle does not provide any hook that cpuidle drivers can use to\nadjust those values on the fly for the current idle period before the menu\ngovernor selects the target cpuidle state.\n\nThis patch extends cpuidle core and the menu governor to handle states\nthat are dynamic.  There are three additions in the patch and the patch\nmaintains backwards-compatibility with existing cpuidle drivers.\n\n1) add prepare() to struct cpuidle_device.  A cpuidle driver can hook\n   into the callback and cpuidle will call prepare() before calling the\n   governor\u0027s select function.  The callback gives the cpuidle driver a\n   chance to update the dynamic information of the cpuidle states for the\n   current idle period, e.g.  state availability, latencies, thresholds,\n   power values, etc.\n\n2) add CPUIDLE_FLAG_IGNORE as one of the state flags.  In the prepare()\n   function, a cpuidle driver can set/clear the flag to indicate to the\n   menu governor whether a cpuidle state should be ignored, i.e.  not\n   available, during the current idle period.\n\n3) add power_specified bit to struct cpuidle_device.  The menu governor\n   currently assumes that the cpuidle states are arranged in the order of\n   increasing latency, threshold, and power savings.  This is true or can\n   be made true for static states.  Once the state parameters are dynamic,\n   the latencies, thresholds, and power savings for the cpuidle states can\n   increase or decrease by different amounts from idle period to idle\n   period.  So the assumption of increasing latency, threshold, and power\n   savings from Cn to C(n+1) can no longer be guaranteed.\n\nIt can be straightforward to calculate the power consumption of each\navailable state and to specify it in power_usage for the idle period.\nUsing the power_usage fields, the menu governor then selects the state\nthat has the lowest power consumption and that still satisfies all other\ncritieria.  The power_specified bit defaults to 0.  For existing cpuidle\ndrivers, cpuidle detects that power_specified is 0 and fills in a dummy\nset of power_usage values.\n\nSigned-off-by: Ai Li \u003caili@codeaurora.org\u003e\nCc: Len Brown \u003clen.brown@intel.com\u003e\nAcked-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Venkatesh Pallipadi \u003cvenki@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": "d2997b1042ec150616c1963b5e5e919ffd0b0ebf",
      "tree": "c970746ad3d5c3e0ccbd1695d07144dbe4534ec4",
      "parents": [
        "966cca029f739716fbcc8068b8c6dfe381f86fc3"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Mon Aug 09 17:20:11 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 09 20:45:04 2010 -0700"
      },
      "message": "hibernation: freeze swap at hibernation\n\nWhen taking a memory snapshot in hibernate_snapshot(), all (directly\ncalled) memory allocations use GFP_ATOMIC.  Hence swap misusage during\nhibernation never occurs.\n\nBut from a pessimistic point of view, there is no guarantee that no page\nallcation has __GFP_WAIT.  It is better to have a global indication \"we\nenter hibernation, don\u0027t use swap!\".\n\nThis patch tries to freeze new-swap-allocation during hibernation.  (All\nuser processes are frozenm so swapin is not a concern).\n\nThis way, no updates will happen to swap_map[] between\nhibernate_snapshot() and save_image().  Swap is thawed when swsusp_free()\nis called.  We can be assured that swap corruption will not occur.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Ondrej Zary \u003clinux@rainbow-software.org\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.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": "ad8c2ee801ad7a52d919b478d9b2c7b39a72d295",
      "tree": "bc56cc023da3467447b0aecd30c0516881d53992",
      "parents": [
        "51b1bd2ace1595b72956224deda349efa880b693"
      ],
      "author": {
        "name": "Rik van Riel",
        "email": "riel@redhat.com",
        "time": "Mon Aug 09 17:19:48 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 09 20:45:02 2010 -0700"
      },
      "message": "rmap: add exclusive page to private anon_vma on swapin\n\nOn swapin it is fairly common for a page to be owned exclusively by one\nprocess.  In that case we want to add the page to the anon_vma of that\nprocess\u0027s VMA, instead of to the root anon_vma.\n\nThis will reduce the amount of rmap searching that the swapout code needs\nto do.\n\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "51b1bd2ace1595b72956224deda349efa880b693",
      "tree": "82732bb33d26379c05494dcdba8ea390ae0621db",
      "parents": [
        "a63d83f427fbce97a6cea0db2e64b0eb8435cd10"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Mon Aug 09 17:19:47 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 09 20:45:02 2010 -0700"
      },
      "message": "oom: deprecate oom_adj tunable\n\n/proc/pid/oom_adj is now deprecated so that that it may eventually be\nremoved.  The target date for removal is August 2012.\n\nA warning will be printed to the kernel log if a task attempts to use this\ninterface.  Future warning will be suppressed until the kernel is rebooted\nto prevent spamming the kernel log.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a63d83f427fbce97a6cea0db2e64b0eb8435cd10",
      "tree": "8ac229cdf6e2289d97e82e35774057106fe7f4a2",
      "parents": [
        "74bcbf40546bb7500f2a7ba4ff3cc056a6bd004a"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Mon Aug 09 17:19:46 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 09 20:45:02 2010 -0700"
      },
      "message": "oom: badness heuristic rewrite\n\nThis a complete rewrite of the oom killer\u0027s badness() heuristic which is\nused to determine which task to kill in oom conditions.  The goal is to\nmake it as simple and predictable as possible so the results are better\nunderstood and we end up killing the task which will lead to the most\nmemory freeing while still respecting the fine-tuning from userspace.\n\nInstead of basing the heuristic on mm-\u003etotal_vm for each task, the task\u0027s\nrss and swap space is used instead.  This is a better indication of the\namount of memory that will be freeable if the oom killed task is chosen\nand subsequently exits.  This helps specifically in cases where KDE or\nGNOME is chosen for oom kill on desktop systems instead of a memory\nhogging task.\n\nThe baseline for the heuristic is a proportion of memory that each task is\ncurrently using in memory plus swap compared to the amount of \"allowable\"\nmemory.  \"Allowable,\" in this sense, means the system-wide resources for\nunconstrained oom conditions, the set of mempolicy nodes, the mems\nattached to current\u0027s cpuset, or a memory controller\u0027s limit.  The\nproportion is given on a scale of 0 (never kill) to 1000 (always kill),\nroughly meaning that if a task has a badness() score of 500 that the task\nconsumes approximately 50% of allowable memory resident in RAM or in swap\nspace.\n\nThe proportion is always relative to the amount of \"allowable\" memory and\nnot the total amount of RAM systemwide so that mempolicies and cpusets may\noperate in isolation; they shall not need to know the true size of the\nmachine on which they are running if they are bound to a specific set of\nnodes or mems, respectively.\n\nRoot tasks are given 3% extra memory just like __vm_enough_memory()\nprovides in LSMs.  In the event of two tasks consuming similar amounts of\nmemory, it is generally better to save root\u0027s task.\n\nBecause of the change in the badness() heuristic\u0027s baseline, it is also\nnecessary to introduce a new user interface to tune it.  It\u0027s not possible\nto redefine the meaning of /proc/pid/oom_adj with a new scale since the\nABI cannot be changed for backward compatability.  Instead, a new tunable,\n/proc/pid/oom_score_adj, is added that ranges from -1000 to +1000.  It may\nbe used to polarize the heuristic such that certain tasks are never\nconsidered for oom kill while others may always be considered.  The value\nis added directly into the badness() score so a value of -500, for\nexample, means to discount 50% of its memory consumption in comparison to\nother tasks either on the system, bound to the mempolicy, in the cpuset,\nor sharing the same memory controller.\n\n/proc/pid/oom_adj is changed so that its meaning is rescaled into the\nunits used by /proc/pid/oom_score_adj, and vice versa.  Changing one of\nthese per-task tunables will rescale the value of the other to an\nequivalent meaning.  Although /proc/pid/oom_adj was originally defined as\na bitshift on the badness score, it now shares the same linear growth as\n/proc/pid/oom_score_adj but with different granularity.  This is required\nso the ABI is not broken with userspace applications and allows oom_adj to\nbe deprecated for future removal.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "74bcbf40546bb7500f2a7ba4ff3cc056a6bd004a",
      "tree": "39411d83f448da818368043af9b52e9b405a2002",
      "parents": [
        "cef1d3523d33ebc35fc29e454b1f4bab953fabbf"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Mon Aug 09 17:19:43 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 09 20:45:02 2010 -0700"
      },
      "message": "oom: move badness() declaration into oom.h\n\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Oleg Nesterov \u003coleg@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": "25edde0332916ae706ccf83de688be57bcc844b7",
      "tree": "35a5b0e651f9cdb48d9a55a748970339c4f681bc",
      "parents": [
        "b898cc70019ce1835bbf6c47bdf978adc36faa42"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Mon Aug 09 17:19:27 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 09 20:45:00 2010 -0700"
      },
      "message": "vmscan: kill prev_priority completely\n\nSince 2.6.28 zone-\u003eprev_priority is unused. Then it can be removed\nsafely. It reduce stack usage slightly.\n\nNow I have to say that I\u0027m sorry. 2 years ago, I thought prev_priority\ncan be integrate again, it\u0027s useful. but four (or more) times trying\nhaven\u0027t got good performance number. Thus I give up such approach.\n\nThe rest of this changelog is notes on prev_priority and why it existed in\nthe first place and why it might be not necessary any more. This information\nis based heavily on discussions between Andrew Morton, Rik van Riel and\nKosaki Motohiro who is heavily quotes from.\n\nHistorically prev_priority was important because it determined when the VM\nwould start unmapping PTE pages. i.e. there are no balances of note within\nthe VM, Anon vs File and Mapped vs Unmapped. Without prev_priority, there\nis a potential risk of unnecessarily increasing minor faults as a large\namount of read activity of use-once pages could push mapped pages to the\nend of the LRU and get unmapped.\n\nThere is no proof this is still a problem but currently it is not considered\nto be. Active files are not deactivated if the active file list is smaller\nthan the inactive list reducing the liklihood that file-mapped pages are\nbeing pushed off the LRU and referenced executable pages are kept on the\nactive list to avoid them getting pushed out by read activity.\n\nEven if it is a problem, prev_priority prev_priority wouldn\u0027t works\nnowadays. First of all, current vmscan still a lot of UP centric code. it\nexpose some weakness on some dozens CPUs machine. I think we need more and\nmore improvement.\n\nThe problem is, current vmscan mix up per-system-pressure, per-zone-pressure\nand per-task-pressure a bit. example, prev_priority try to boost priority to\nother concurrent priority. but if the another task have mempolicy restriction,\nit is unnecessary, but also makes wrong big latency and exceeding reclaim.\nper-task based priority + prev_priority adjustment make the emulation of\nper-system pressure. but it have two issue 1) too rough and brutal emulation\n2) we need per-zone pressure, not per-system.\n\nAnother example, currently DEF_PRIORITY is 12. it mean the lru rotate about\n2 cycle (1/4096 + 1/2048 + 1/1024 + .. + 1) before invoking OOM-Killer.\nbut if 10,0000 thrreads enter DEF_PRIORITY reclaim at the same time, the\nsystem have higher memory pressure than priority\u003d\u003d0 (1/4096*10,000 \u003e 2).\nprev_priority can\u0027t solve such multithreads workload issue. In other word,\nprev_priority concept assume the sysmtem don\u0027t have lots threads.\"\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Michael Rubin \u003cmrubin@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": "f446daaea9d4a420d16c606f755f3689dcb2d0ce",
      "tree": "be2afc18f79aa4ff9be245b0a036aa06185b5dc4",
      "parents": [
        "ebf8aa44beed48cd17893a83d92a4403e5f9d9e2"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Aug 09 17:19:12 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 09 20:44:59 2010 -0700"
      },
      "message": "mm: implement writeback livelock avoidance using page tagging\n\nWe try to avoid livelocks of writeback when some steadily creates dirty\npages in a mapping we are writing out.  For memory-cleaning writeback,\nusing nr_to_write works reasonably well but we cannot really use it for\ndata integrity writeback.  This patch tries to solve the problem.\n\nThe idea is simple: Tag all pages that should be written back with a\nspecial tag (TOWRITE) in the radix tree.  This can be done rather quickly\nand thus livelocks should not happen in practice.  Then we start doing the\nhard work of locking pages and sending them to disk only for those pages\nthat have TOWRITE tag set.\n\nNote: Adding new radix tree tag grows radix tree node from 288 to 296\nbytes for 32-bit archs and from 552 to 560 bytes for 64-bit archs.\nHowever, the number of slab/slub items per page remains the same (13 and 7\nrespectively).\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ebf8aa44beed48cd17893a83d92a4403e5f9d9e2",
      "tree": "03607aa1cdbbb7fda935edb28bb3ad06423852ac",
      "parents": [
        "44ab57a06ded284db6ccdefc6b76eddb1c34d7ed"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Aug 09 17:19:11 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 09 20:44:59 2010 -0700"
      },
      "message": "radix-tree: omplement function radix_tree_range_tag_if_tagged\n\nImplement function for setting one tag if another tag is set for each item\nin given range.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ba6f0ff3981e6263ab81ac512f04cca55b85ec81",
      "tree": "0052d4551de72731be503c8d78949a330ba865ed",
      "parents": [
        "26ba0cb63cb8df4e45394227f33c938920b11b88"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "aarcange@redhat.com",
        "time": "Mon Aug 09 17:19:08 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 09 20:44:58 2010 -0700"
      },
      "message": "ksm: fix ksm swapin time optimization\n\nThe new anon-vma code, was suboptimal and it lead to erratic invocation of\nksm_does_need_to_copy.  That leads to host hangs or guest vnc lockup, or\nweird behavior.  It\u0027s unclear why ksm_does_need_to_copy is unstable but\nthe point is that when KSM is not in use, ksm_does_need_to_copy must never\nrun or we bounce pages for no good reason.  I suspect the same hangs will\nhappen with KVM swaps.  But this at least fixes the regression in the\nnew-anon-vma code and it only let KSM bugs triggers when KSM is in use.\n\nThe code in do_swap_page likely doesn\u0027t cope well with a not-swapcache,\nespecially the memcg code.\n\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Izik Eidus \u003cieidus@yahoo.com\u003e\nCc: Avi Kivity \u003cavi@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": "7e496299d4d2ad8083effed6c5a18313a919edc6",
      "tree": "8324a3fa378d28f6a63c8b5f5a86311e4eea3562",
      "parents": [
        "27f5e0f694fd0600274a76854636c0749e3bb1f6"
      ],
      "author": {
        "name": "Tim Chen",
        "email": "tim.c.chen@linux.intel.com",
        "time": "Mon Aug 09 17:19:05 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 09 20:44:58 2010 -0700"
      },
      "message": "tmpfs: make tmpfs scalable with percpu_counter for used blocks\n\nThe current implementation of tmpfs is not scalable.  We found that\nstat_lock is contended by multiple threads when we need to get a new page,\nleading to useless spinning inside this spin lock.\n\nThis patch makes use of the percpu_counter library to maintain local count\nof used blocks to speed up getting and returning of pages.  So the\nacquisition of stat_lock is unnecessary for getting and returning blocks,\nimproving the performance of tmpfs on system with large number of cpus.\nOn a 4 socket 32 core NHM-EX system, we saw improvement of 270%.\n\nThe implementation below has a slight chance of race between threads\ncausing a slight overshoot of the maximum configured blocks.  However, any\novershoot is small, and is bounded by the number of cpus.  This happens\nwhen the number of used blocks is slightly below the maximum configured\nblocks when a thread checks the used block count, and another thread\nallocates the last block before the current thread does.  This should not\nbe a problem for tmpfs, as the overshoot is most likely to be a few blocks\nand bounded.  If a strict limit is really desired, then configured the max\nblocks to be the limit less the number of cpus in system.\n\nSigned-off-by: Tim Chen \u003ctim.c.chen@linux.intel.com\u003e\nCc: Hugh Dickins \u003chughd@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": "27f5e0f694fd0600274a76854636c0749e3bb1f6",
      "tree": "0d3a0387b42eb0a830fa5ba896a205b2a3807b8b",
      "parents": [
        "4e60c86bd9e5a7110ed28874d0b6592186550ae8"
      ],
      "author": {
        "name": "Tim Chen",
        "email": "tim.c.chen@linux.intel.com",
        "time": "Mon Aug 09 17:19:04 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 09 20:44:58 2010 -0700"
      },
      "message": "tmpfs: add accurate compare function to percpu_counter library\n\nAdd percpu_counter_compare that allows for a quick but accurate comparison\nof percpu_counter with a given value.\n\nA rough count is provided by the count field in percpu_counter structure,\nwithout accounting for the other values stored in individual cpu counters.\n\nThe actual count is a sum of count and the cpu counters.  However, count\nfield is never different from the actual value by a factor of\nbatch*num_online_cpu.  We do not need to get actual count for comparison\nif count is different from the given value by this factor and allows for\nquick comparison without summing up all the per cpu counters.\n\nSigned-off-by: Tim Chen \u003ctim.c.chen@linux.intel.com\u003e\nCc: Hugh Dickins \u003chughd@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": "4e60c86bd9e5a7110ed28874d0b6592186550ae8",
      "tree": "9fb60e9f49b44b293a0c0c7d9f40e1a354a22b5a",
      "parents": [
        "627295e492638936e76f3d8fcb1e0a3367b88341"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Mon Aug 09 17:19:03 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 09 20:44:58 2010 -0700"
      },
      "message": "gcc-4.6: mm: fix unused but set warnings\n\nNo real bugs, just some dead code and some fixups.\n\nSigned-off-by: Andi Kleen \u003cak@linux.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": "627295e492638936e76f3d8fcb1e0a3367b88341",
      "tree": "94ef884e0e248fef8de4b5605a67812191cd3762",
      "parents": [
        "67a8a20fe1eec43ebfa7f2b83e988dbdb4c16271"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Mon Aug 09 17:19:02 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 09 20:44:58 2010 -0700"
      },
      "message": "gcc-4.6: pagemap: avoid unused-but-set variable\n\nAvoid quite a lot of warnings in header files in a gcc 4.6 -Wall builds\n\nSigned-off-by: Andi Kleen \u003cak@linux.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": "251060006003b79b788f8ce5a827ee5354a42910",
      "tree": "eb69ce45bd31ffc0609300afbe0cca2a2cbf2ab1",
      "parents": [
        "b645bd1286f2fbcd2eb4ab3bed5884f63c42e363"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "Lee.Schermerhorn@hp.com",
        "time": "Mon Aug 09 17:19:00 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 09 20:44:57 2010 -0700"
      },
      "message": "topology: alternate fix for ia64 tiger_defconfig build breakage\n\nDefine stubs for the numa_*_id() generic percpu related functions for\nnon-NUMA configurations in \u003casm-generic/topology.h\u003e where the other\nnon-numa stubs live.\n\nFixes ia64 !NUMA build breakage -- e.g., tiger_defconfig\n\nBack out now unneeded \u0027#ifndef CONFIG_NUMA\u0027 guards from ia64 smpboot.c\n\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nTested-by: Tony Luck \u003ctony.luck@intel.com\u003e\nAcked-by: Tony Luck \u003ctony.luck@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": "b645bd1286f2fbcd2eb4ab3bed5884f63c42e363",
      "tree": "7649eb3fbe4afeb01e9403e71b0546a37406a33e",
      "parents": [
        "31f961a89bd1cb9baaf32af4bd8b571ace3447b1"
      ],
      "author": {
        "name": "Alexander Nevenchannyy",
        "email": "a.nevenchannyy@gmail.com",
        "time": "Mon Aug 09 17:19:00 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 09 20:44:57 2010 -0700"
      },
      "message": "mmzone.h: remove dead prototype\n\nget_zone_counts() was dropped from kernel tree, see:\nhttp://www.mail-archive.com/mm-commits@vger.kernel.org/msg07313.html but\nits prototype remains.\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ff321feac22313cf53ffceb69224b09ac19ff22b",
      "tree": "101400fdee395944c2fa5f1f2b45cac54a5c1088",
      "parents": [
        "b940fd703572f7f9e5f894c682c91c3cbd84c11e"
      ],
      "author": {
        "name": "Minchan Kim",
        "email": "minchan.kim@gmail.com",
        "time": "Mon Aug 09 17:18:57 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 09 20:44:57 2010 -0700"
      },
      "message": "mm: rename try_set_zone_oom() to try_set_zonelist_oom()\n\nWe have been used naming try_set_zone_oom and clear_zonelist_oom.\nThe role of functions is to lock of zonelist for preventing parallel\nOOM. So clear_zonelist_oom makes sense but try_set_zone_oome is rather\nawkward and unmatched with clear_zonelist_oom.\n\nLet\u0027s change it with try_set_zonelist_oom.\n\nSigned-off-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: 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": "8e4228e1edb922afa83366803a1e5b3fa8e987c2",
      "tree": "e741de337b409a430e0f34647e059dd35a84f72c",
      "parents": [
        "e365893236ca78fa1fe2482ccbdc30e9abde6027"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Mon Aug 09 17:18:56 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 09 20:44:57 2010 -0700"
      },
      "message": "oom: move sysctl declarations to oom.h\n\nThe three oom killer sysctl variables (sysctl_oom_dump_tasks,\nsysctl_oom_kill_allocating_task, and sysctl_panic_on_oom) are better\ndeclared in include/linux/oom.h rather than kernel/sysctl.c.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nAcked-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: 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": "309ed882508cc471320ff79265e7340774d6746c",
      "tree": "28321b30bc420c62554ef6a705ec4bc70651b473",
      "parents": [
        "03668b3ceb0c7a95e09f1b6169f5270ffc1a19f6"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Mon Aug 09 17:18:54 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 09 20:44:57 2010 -0700"
      },
      "message": "oom: extract panic helper function\n\nThere are various points in the oom killer where the kernel must determine\nwhether to panic or not.  It\u0027s better to extract this to a helper function\nto remove all the confusion as to its semantics.\n\nAlso fix a call to dump_header() where tasklist_lock is not read- locked,\nas required.\n\nThere\u0027s no functional change with this patch.\n\nAcked-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: 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": "6f48d0ebd907ae419387f27b602ee98870cfa7bb",
      "tree": "355bd8b616f5a78d8adabe5b9631d7aad970dbaa",
      "parents": [
        "5e9d834a0e0c0485dfa487281ab9650fc37a3bb5"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Mon Aug 09 17:18:52 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 09 20:44:56 2010 -0700"
      },
      "message": "oom: select task from tasklist for mempolicy ooms\n\nThe oom killer presently kills current whenever there is no more memory\nfree or reclaimable on its mempolicy\u0027s nodes.  There is no guarantee that\ncurrent is a memory-hogging task or that killing it will free any\nsubstantial amount of memory, however.\n\nIn such situations, it is better to scan the tasklist for nodes that are\nallowed to allocate on current\u0027s set of nodes and kill the task with the\nhighest badness() score.  This ensures that the most memory-hogging task,\nor the one configured by the user with /proc/pid/oom_adj, is always\nselected in such scenarios.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: 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": "a9877cc2937889e5669114f28612b494384152a4",
      "tree": "5ded18d250cc1b0c8c60aec55b249d4c4781ed6e",
      "parents": [
        "76545066c8521f3e32c849744744842b4df25b79"
      ],
      "author": {
        "name": "Richard Kennedy",
        "email": "richard@rsk.demon.co.uk",
        "time": "Mon Aug 09 17:18:42 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 09 20:44:55 2010 -0700"
      },
      "message": "buffer_head: remove redundant test from wait_on_buffer\n\nThe comment suggests that when b_count equals zero it is calling\n__wait_no_buffer to trigger some debug, but as there is no debug in\n__wait_on_buffer the whole thing is redundant.\n\nAFAICT from the git log this has been the case for at least 5 years, so\nit seems safe just to remove this.\n\nSigned-off-by: Richard Kennedy \u003crichard@rsk.demon.co.uk\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\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": "76545066c8521f3e32c849744744842b4df25b79",
      "tree": "978b6b003f63e1e22618586b7d9c2dd8ef363614",
      "parents": [
        "012f18004da33ba672e3c60838cc4898126174d3"
      ],
      "author": {
        "name": "Rik van Riel",
        "email": "riel@redhat.com",
        "time": "Mon Aug 09 17:18:41 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 09 20:44:55 2010 -0700"
      },
      "message": "mm: extend KSM refcounts to the anon_vma root\n\nKSM reference counts can cause an anon_vma to exist after the processe it\nbelongs to have already exited.  Because the anon_vma lock now lives in\nthe root anon_vma, we need to ensure that the root anon_vma stays around\nuntil after all the \"child\" anon_vmas have been freed.\n\nThe obvious way to do this is to have a \"child\" anon_vma take a reference\nto the root in anon_vma_fork.  When the anon_vma is freed at munmap or\nprocess exit, we drop the refcount in anon_vma_unlink and possibly free\nthe root anon_vma.\n\nThe KSM anon_vma reference count function also needs to be modified to\ndeal with the possibility of freeing 2 levels of anon_vma.  The easiest\nway to do this is to break out the KSM magic and make it generic.\n\nWhen compiling without CONFIG_KSM, this code is compiled out.\n\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nTested-by: Larry Woodman \u003clwoodman@redhat.com\u003e\nAcked-by: Larry Woodman \u003clwoodman@redhat.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nTested-by: Dave Young \u003chidave.darkstar@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": "012f18004da33ba672e3c60838cc4898126174d3",
      "tree": "990382f9f8c0d885463ac9195b8e9a18043f716d",
      "parents": [
        "5c341ee1dfc8fe69d66b1c8b19e463c6d7201ae1"
      ],
      "author": {
        "name": "Rik van Riel",
        "email": "riel@redhat.com",
        "time": "Mon Aug 09 17:18:40 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 09 20:44:55 2010 -0700"
      },
      "message": "mm: always lock the root (oldest) anon_vma\n\nAlways (and only) lock the root (oldest) anon_vma whenever we do something\nin an anon_vma.  The recently introduced anon_vma scalability is due to\nthe rmap code scanning only the VMAs that need to be scanned.  Many common\noperations still took the anon_vma lock on the root anon_vma, so always\ntaking that lock is not expected to introduce any scalability issues.\n\nHowever, always taking the same lock does mean we only need to take one\nlock, which means rmap_walk on pages from any anon_vma in the vma is\nexcluded from occurring during an munmap, expand_stack or other operation\nthat needs to exclude rmap_walk and similar functions.\n\nAlso add the proper locking to vma_adjust.\n\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nTested-by: Larry Woodman \u003clwoodman@redhat.com\u003e\nAcked-by: Larry Woodman \u003clwoodman@redhat.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@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": "5c341ee1dfc8fe69d66b1c8b19e463c6d7201ae1",
      "tree": "41f05611f8b1d7562c2193ade8c089408f262a6b",
      "parents": [
        "cba48b98f2348c814316c4b4f411a07a0e4a2bf9"
      ],
      "author": {
        "name": "Rik van Riel",
        "email": "riel@redhat.com",
        "time": "Mon Aug 09 17:18:39 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 09 20:44:55 2010 -0700"
      },
      "message": "mm: track the root (oldest) anon_vma\n\nTrack the root (oldest) anon_vma in each anon_vma tree.  Because we only\ntake the lock on the root anon_vma, we cannot use the lock on higher-up\nanon_vmas to lock anything.  This makes it impossible to do an indirect\nlookup of the root anon_vma, since the data structures could go away from\nunder us.\n\nHowever, a direct pointer is safe because the root anon_vma is always the\nlast one that gets freed on munmap or exit, by virtue of the same_vma list\norder and unlink_anon_vmas walking the list forward.\n\n[akpm@linux-foundation.org: fix typo]\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nTested-by: Larry Woodman \u003clwoodman@redhat.com\u003e\nAcked-by: Larry Woodman \u003clwoodman@redhat.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@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": "cba48b98f2348c814316c4b4f411a07a0e4a2bf9",
      "tree": "49c0426f8d41cb147722305c2c3495dd515c3253",
      "parents": [
        "bb4a340e075b7897ece109686bfa177f8518d2db"
      ],
      "author": {
        "name": "Rik van Riel",
        "email": "riel@redhat.com",
        "time": "Mon Aug 09 17:18:38 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 09 20:44:55 2010 -0700"
      },
      "message": "mm: change direct call of spin_lock(anon_vma-\u003elock) to inline function\n\nSubsitute a direct call of spin_lock(anon_vma-\u003elock) with an inline\nfunction doing exactly the same.\n\nThis makes it easier to do the substitution to the root anon_vma lock in a\nfollowing patch.\n\nWe will deal with the handful of special locks (nested, dec_and_lock, etc)\nseparately.\n\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nTested-by: Larry Woodman \u003clwoodman@redhat.com\u003e\nAcked-by: Larry Woodman \u003clwoodman@redhat.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@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": "bb4a340e075b7897ece109686bfa177f8518d2db",
      "tree": "3cca938530a2367cfd66fcc8ca11809acb14b42b",
      "parents": [
        "597781f3e51f48ef8e67be772196d9e9673752c4"
      ],
      "author": {
        "name": "Rik van Riel",
        "email": "riel@redhat.com",
        "time": "Mon Aug 09 17:18:37 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 09 20:44:54 2010 -0700"
      },
      "message": "mm: rename anon_vma_lock to vma_lock_anon_vma\n\nRename anon_vma_lock to vma_lock_anon_vma.  This matches the naming style\nused in page_lock_anon_vma and will come in really handy further down in\nthis patch series.\n\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nTested-by: Larry Woodman \u003clwoodman@redhat.com\u003e\nAcked-by: Larry Woodman \u003clwoodman@redhat.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@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": "597781f3e51f48ef8e67be772196d9e9673752c4",
      "tree": "6e1974bc899889da40f2fde47b04a5ece0bd3399",
      "parents": [
        "3edd4fc9537d95e460d502987c63a90d6b9a7a82"
      ],
      "author": {
        "name": "Cesar Eduardo Barros",
        "email": "cesarb@cesarb.net",
        "time": "Mon Aug 09 17:18:32 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 09 20:44:54 2010 -0700"
      },
      "message": "kmap_atomic: make kunmap_atomic() harder to misuse\n\nkunmap_atomic() is currently at level -4 on Rusty\u0027s \"Hard To Misuse\"\nlist[1] (\"Follow common convention and you\u0027ll get it wrong\"), except in\nsome architectures when CONFIG_DEBUG_HIGHMEM is set[2][3].\n\nkunmap() takes a pointer to a struct page; kunmap_atomic(), however, takes\ntakes a pointer to within the page itself.  This seems to once in a while\ntrip people up (the convention they are following is the one from\nkunmap()).\n\nMake it much harder to misuse, by moving it to level 9 on Rusty\u0027s list[4]\n(\"The compiler/linker won\u0027t let you get it wrong\").  This is done by\nrefusing to build if the type of its first argument is a pointer to a\nstruct page.\n\nThe real kunmap_atomic() is renamed to kunmap_atomic_notypecheck()\n(which is what you would call in case for some strange reason calling it\nwith a pointer to a struct page is not incorrect in your code).\n\nThe previous version of this patch was compile tested on x86-64.\n\n[1] http://ozlabs.org/~rusty/index.cgi/tech/2008-04-01.html\n[2] In these cases, it is at level 5, \"Do it right or it will always\n    break at runtime.\"\n[3] At least mips and powerpc look very similar, and sparc also seems to\n    share a common ancestor with both; there seems to be quite some\n    degree of copy-and-paste coding here. The include/asm/highmem.h file\n    for these three archs mention x86 CPUs at its top.\n[4] http://ozlabs.org/~rusty/index.cgi/tech/2008-03-30.html\n[5] As an aside, could someone tell me why mn10300 uses unsigned long as\n    the first parameter of kunmap_atomic() instead of void *?\n\nSigned-off-by: Cesar Eduardo Barros \u003ccesarb@cesarb.net\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e (arch/arm)\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e (arch/mips)\nCc: David Howells \u003cdhowells@redhat.com\u003e (arch/frv, arch/mn10300)\nCc: Koichi Yasutake \u003cyasutake.koichi@jp.panasonic.com\u003e (arch/mn10300)\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e (arch/parisc)\nCc: Helge Deller \u003cdeller@gmx.de\u003e (arch/parisc)\nCc: \"James E.J. Bottomley\" \u003cjejb@parisc-linux.org\u003e (arch/parisc)\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e (arch/powerpc)\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e (arch/powerpc)\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e (arch/sparc)\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e (arch/x86)\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e (arch/x86)\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e (arch/x86)\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e (include/asm-generic)\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e (\"Hard To Misuse\" list)\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7a4dec53897ecd3367efb1e12fe8a4edc47dc0e9",
      "tree": "31d4639522e1453a7f5c38aa2436ffdd6df5c60b",
      "parents": [
        "4f331f01b9c43bf001d3ffee578a97a1e0633eac"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 12:05:43 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:49:01 2010 -0400"
      },
      "message": "Fix sget() race with failing mount\n\nIf sget() finds a matching superblock being set up, it\u0027ll\ngrab an active reference to it and grab s_umount.  That\u0027s\nfine - we\u0027ll wait for completion of foofs_get_sb() that way.\nHowever, if said foofs_get_sb() fails we\u0027ll end up holding\nthe halfway-created superblock.  deactivate_locked_super()\ncalled by foofs_get_sb() will just unlock the sucker since\nwe are holding another active reference to it.\n\nWhat we need is a way to tell if superblock has been successfully\nset up.  Unfortunately, neither -\u003es_root nor the check for\nMS_ACTIVE quite fit.  Cheap and easy way, suitable for backport:\nnew flag set by the (only) caller of -\u003eget_sb().  If that flag\nisn\u0027t present by the time sget() grabbed s_umount on preexisting\nsuperblock it has found, it\u0027s seeing a stillborn and should\njust bury it with deactivate_locked_super() (and repeat the search).\n\nLonger term we want to set that flag in -\u003eget_sb() instances (and\ncheck for it to distinguish between \"sget() found us a live sb\"\nand \"sget() has allocated an sb, we need to set it up\" in there,\ninstead of checking -\u003es_root as we do now).\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "2aec7c523291621ebb68ba8e0bd9b52a26bb76ee",
      "tree": "5be94d61cb157c0482c4e4005e438844c0312dd0",
      "parents": [
        "365b18189789bfa1acd9939e6312b8a4b4577b28"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@suse.de",
        "time": "Mon Jul 19 18:19:41 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:48:45 2010 -0400"
      },
      "message": "mbcache: Remove unused features\n\nThe mbcache code was written to support a variable number of indexes,\nbut all the existing users use exactly one index.  Simplify to code to\nsupport only that case.\n\nThere are also no users of the cache entry free operation, and none of\nthe users keep extra data in cache entries.  Remove those features as\nwell.\n\nSigned-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "365b18189789bfa1acd9939e6312b8a4b4577b28",
      "tree": "ffb71da8e11c7751002d018d0b44c41776bc92a3",
      "parents": [
        "ebabe9a9001af0af56c0c2780ca1576246e7a74b"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Jul 07 18:53:25 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:48:44 2010 -0400"
      },
      "message": "add f_flags to struct statfs(64)\n\nAdd a flags field to help glibc implementing statvfs(3) efficiently.\n\nWe copy the flag values from glibc, and add a new ST_VALID flag to\ndenote that f_flags is implemented.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ebabe9a9001af0af56c0c2780ca1576246e7a74b",
      "tree": "b263299f575c650b6e9d95c7c4bdeef958af2fc9",
      "parents": [
        "336fb3b97b78edc65bae0b223b83bf676cfe29e2"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Jul 07 18:53:11 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:48:42 2010 -0400"
      },
      "message": "pass a struct path to vfs_statfs\n\nWe\u0027ll need the path to implement the flags field for statvfs support.\nWe do have it available in all callers except:\n\n - ecryptfs_statfs.  This one doesn\u0027t actually need vfs_statfs but just\n   needs to do a caller to the lower filesystem statfs method.\n - sys_ustat.  Add a non-exported statfs_by_dentry helper for it which\n   doesn\u0027t won\u0027t be able to fill out the flags field later on.\n\nIn addition rename the helpers for statfs vs fstatfs to do_*statfs instead\nof the misleading vfs prefix.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b57922d97fd6f79b6dbe6db0c4fd30d219fa08c1",
      "tree": "1d39e9cd8e1c1f502fb7e985a08286859c69aa36",
      "parents": [
        "45321ac54316eaeeebde0b5f728a1791e500974c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 07 14:34:48 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:48:37 2010 -0400"
      },
      "message": "convert remaining -\u003eclear_inode() to -\u003eevict_inode()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "45321ac54316eaeeebde0b5f728a1791e500974c",
      "tree": "c3989dd1a8b4a50168d696aa608941de88da9ade",
      "parents": [
        "30140837f256558c943636245ab90897a9455a70"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 07 13:43:19 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:48:35 2010 -0400"
      },
      "message": "Make -\u003edrop_inode() just return whether inode needs to be dropped\n\n... and let iput_final() do the actual eviction or retention\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "30140837f256558c943636245ab90897a9455a70",
      "tree": "71ab647be533cd520eb665a48d489e46e4c2fd8c",
      "parents": [
        "644da5960ded137c339bc69bc2aeac54f73aad59"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 07 13:23:20 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:48:34 2010 -0400"
      },
      "message": "fs/inode.c:clear_inode() is gone\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "07958f9f5b9e8422c15368a1733a52ea99009896",
      "tree": "bab80f40113f8b7d86287f9d596fa5f0c1b755a7",
      "parents": [
        "0930fcc1ee2f0a810b938bc283a3a262d7adccbb"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 07 13:20:09 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:48:31 2010 -0400"
      },
      "message": "-\u003edelete_inode() is gone\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "845a2cc0507055278e0fa722ed0f8c791b7401dd",
      "tree": "73902e3bd0fbb4dffd3676070b4b0a296f4238e4",
      "parents": [
        "bd55597520a2eaa0d71dd7683513a14bfd1bdf5c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 07 11:37:37 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:48:23 2010 -0400"
      },
      "message": "convert reiserfs to -\u003eevict_inode()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c103135c14e03fc9a9e5f0adc01df9ad272cf2a1",
      "tree": "0c75bd6a56385697cd0e79fb695a833c5225e45e",
      "parents": [
        "d0352d3ed722b134dacc21836c1763e7e3523662"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jun 06 22:31:14 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:48:13 2010 -0400"
      },
      "message": "new helper: __dentry_path()\n\nbuilds path relative to fs root, called under dcache_lock,\ndoesn\u0027t append any nonsense to unlinked ones.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ac14a95b5239d37b6082c3791b88d7ab4e8e444c",
      "tree": "b7a763b2e25de51730104e14fffd5b4ec035b415",
      "parents": [
        "0f3f63a4700d7c5aed51491b0113a257cf290a56"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jun 06 07:08:19 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:48:03 2010 -0400"
      },
      "message": "convert ext3 to -\u003eevict_inode()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b0683aa638b3326c6fc22e5290dfa75e08bd83f5",
      "tree": "8287f1eff3c76dc7cf6c42208efebb1510b075b2",
      "parents": [
        "661074e91b1da1ee262dfde6dd836deacccb9def"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 04 20:55:25 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:47:49 2010 -0400"
      },
      "message": "new helper: end_writeback()\n\nEssentially, the minimal variant of -\u003eevict_inode().  It\u0027s\na trimmed-down clear_inode(), sans any fs callbacks.  Once\nit returns we know that no async writeback will be happening;\nevery -\u003eevict_inode() instance should do that once and do that\nbefore doing anything -\u003ewrite_inode() could interfere with\n(e.g. freeing the on-disk inode).\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c6287315cb958e740466555ca5e9d007f25b39bd",
      "tree": "39067d77f55479519b502750caa8e3c34e45de7f",
      "parents": [
        "2bbbda308f5ca027d4fd721f914c0cab88d49aec"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 04 19:56:17 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:47:48 2010 -0400"
      },
      "message": "generic_detach_inode() can be static now\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "be7ce4161f9e6bf2497f90337d1214aa6ee06e15",
      "tree": "a9bf28ff703a81ebf309d470c68ae6aa788a2d36",
      "parents": [
        "b4272d4c810532e1a4dea111433a0af56d3bd2b7"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 04 19:40:39 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:47:46 2010 -0400"
      },
      "message": "New method - evict_inode()\n\nHybrid of -\u003eclear_inode() and -\u003edelete_inode(); if present, does\nall fs work to be done when in-core inode is about to be gone,\nfor whatever reason.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a4ffdde6e56fdf8c34ddadc2674d6eb978083369",
      "tree": "0fa07df92d804cb7d0482135195e4835cb16403a",
      "parents": [
        "b5fc510c48f631882ccec3c0f02a25d5b67de09f"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jun 02 17:38:30 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:47:44 2010 -0400"
      },
      "message": "simplify checks for I_CLEAR/I_FREEING\n\nadd I_CLEAR instead of replacing I_FREEING with it.  I_CLEAR is\nequivalent to I_FREEING for almost all code looking at either;\nit\u0027s there to keep track of having called clear_inode() exactly\nonce per inode lifetime, at some point after having set I_FREEING.\nI_CLEAR and I_FREEING never get set at the same time with the\ncurrent code, so we can switch to setting i_flags to I_FREEING | I_CLEAR\ninstead of I_CLEAR without loss of information.  As the result of\nsuch change, checks become simpler and the amount of code that needs\nto know about I_CLEAR shrinks a lot.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b5fc510c48f631882ccec3c0f02a25d5b67de09f",
      "tree": "1749954353b972502f05cdfae75b9d5e77cc1f5a",
      "parents": [
        "fa9b227e9019ebaeeb06224ba531a490f91144b3"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 04 12:24:09 2010 +0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:47:43 2010 -0400"
      },
      "message": "get rid of file_fsync()\n\nCopy and simplify in the only two users remaining.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2c27c65ed0696f0b5df2dad2cf6462d72164d547",
      "tree": "7d9036e3dea98938f7fd7074366ee73929e9b2e5",
      "parents": [
        "db78b877f7744bec4a9d9f9e7d10da3931d7cd39"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Jun 04 11:30:04 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:47:39 2010 -0400"
      },
      "message": "check ATTR_SIZE contraints in inode_change_ok\n\nMake sure we check the truncate constraints early on in -\u003esetattr by adding\nthose checks to inode_change_ok.  Also clean up and document inode_change_ok\nto make this obvious.\n\nAs a fallout we don\u0027t have to call inode_newsize_ok from simple_setsize and\nsimplify it down to a truncate_setsize which doesn\u0027t return an error.  This\nsimplifies a lot of setattr implementations and means we use truncate_setsize\nalmost everywhere.  Get rid of fat_setsize now that it\u0027s trivial and mark\next2_setsize static to make the calling convention obvious.\n\nKeep the inode_newsize_ok in vmtruncate for now as all callers need an\naudit for its removal anyway.\n\nNote: setattr code in ecryptfs doesn\u0027t call inode_change_ok at all and\nneeds a deeper audit, but that is left for later.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1025774ce411f2bd4b059ad7b53f0003569b74fa",
      "tree": "2be221c205cb5579652a6063e8ee27d1c72d1bbd",
      "parents": [
        "eef2380c187890816b73b1a4cb89a09203759469"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Jun 04 11:30:02 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:47:37 2010 -0400"
      },
      "message": "remove inode_setattr\n\nReplace inode_setattr with opencoded variants of it in all callers.  This\nmoves the remaining call to vmtruncate into the filesystem methods where it\ncan be replaced with the proper truncate sequence.\n\nIn a few cases it was obvious that we would never end up calling vmtruncate\nso it was left out in the opencoded variant:\n\n spufs: explicitly checks for ATTR_SIZE earlier\n btrfs,hugetlbfs,logfs,dlmfs: explicitly clears ATTR_SIZE earlier\n ufs: contains an opencoded simple_seattr + truncate that sets the filesize just above\n\nIn addition to that ncpfs called inode_setattr with handcrafted iattrs,\nwhich allowed to trim down the opencoded variant.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6a1a90ad1b0edb556a7550a6ef8a8756f0304dd5",
      "tree": "234488533d89e3f8b938823c2071be19e66e1b4b",
      "parents": [
        "d39aae9ec447dda84d9a2850743a78a535a71c90"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Jun 04 11:30:00 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:47:35 2010 -0400"
      },
      "message": "rename generic_setattr\n\nDespite its name it\u0027s now a generic implementation of -\u003esetattr, but\nrather a helper to copy attributes from a struct iattr to the inode.\nRename it to setattr_copy to reflect this fact.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    }
  ],
  "next": "155130a4f7848b1aac439cab6bda1a175507c71c"
}
