1. 11 Jul, 2019 2 commits
  2. 03 Jul, 2019 1 commit
  3. 02 Jul, 2019 10 commits
  4. 21 Jun, 2019 3 commits
  5. 03 Jun, 2019 4 commits
    • Daniel Rosenberg's avatar
      f2fs: Add option to limit required GC for checkpoint=disable · 4d3aed70
      Daniel Rosenberg authored
      This extends the checkpoint option to allow checkpoint=disable:%u[%]
      This allows you to specify what how much of the disk you are willing
      to lose access to while mounting with checkpoint=disable. If the amount
      lost would be higher, the mount will return -EAGAIN. This can be given
      as a percent of total space, or in blocks.
      
      Currently, we need to run garbage collection until the amount of holes
      is smaller than the OVP space. With the new option, f2fs can mark
      space as unusable up front instead of requiring garbage collection until
      the number of holes is small enough.
      Signed-off-by: default avatarDaniel Rosenberg <drosen@google.com>
      Reviewed-by: default avatarChao Yu <yuchao0@huawei.com>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      4d3aed70
    • Daniel Rosenberg's avatar
      f2fs: Fix accounting for unusable blocks · a4c3ecaa
      Daniel Rosenberg authored
      Fixes possible underflows when dealing with unusable blocks.
      Signed-off-by: default avatarDaniel Rosenberg <drosen@google.com>
      Reviewed-by: default avatarChao Yu <yuchao0@huawei.com>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      a4c3ecaa
    • Daniel Rosenberg's avatar
      f2fs: Fix root reserved on remount · 9a9aecaa
      Daniel Rosenberg authored
      On a remount, you can currently set root reserved if it was not
      previously set. This can cause an underflow if reserved has been set to
      a very high value, since then root reserved + current reserved could be
      greater than user_block_count. inc_valid_block_count later subtracts out
      these values from user_block_count, causing an underflow.
      Signed-off-by: default avatarDaniel Rosenberg <drosen@google.com>
      Reviewed-by: default avatarChao Yu <yuchao0@huawei.com>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      9a9aecaa
    • Daniel Rosenberg's avatar
      f2fs: Lower threshold for disable_cp_again · ae4ad7ea
      Daniel Rosenberg authored
      The existing threshold for allowable holes at checkpoint=disable time is
      too high. The OVP space contains reserved segments, which are always in
      the form of free segments. These must be subtracted from the OVP value.
      
      The current threshold is meant to be the maximum value of holes of a
      single type we can have and still guarantee that we can fill the disk
      without failing to find space for a block of a given type.
      
      If the disk is full, ignoring current reserved, which only helps us,
      the amount of unused blocks is equal to the OVP area. Of that, there
      are reserved segments, which must be free segments, and the rest of the
      ovp area, which can come from either free segments or holes. The maximum
      possible amount of holes is OVP-reserved.
      
      Now, consider the disk when mounting with checkpoint=disable.
      We must be able to fill all available free space with either data or
      node blocks. When we start with checkpoint=disable, holes are locked to
      their current type. Say we have H of one type of hole, and H+X of the
      other. We can fill H of that space with arbitrary typed blocks via SSR.
      For the remaining H+X blocks, we may not have any of a given block type
      left at all. For instance, if we were to fill the disk entirely with
      blocks of the type with fewer holes, the H+X blocks of the opposite type
      would not be used. If H+X > OVP-reserved, there would be more holes than
      could possibly exist, and we would have failed to find a suitable block
      earlier on, leading to a crash in update_sit_entry.
      
      If H+X <= OVP-reserved, then the holes end up effectively masked by the OVP
      region in this case.
      Signed-off-by: default avatarDaniel Rosenberg <drosen@google.com>
      Reviewed-by: default avatarChao Yu <yuchao0@huawei.com>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      ae4ad7ea
  6. 30 May, 2019 5 commits
  7. 23 May, 2019 6 commits
    • Chao Yu's avatar
      f2fs: fix to avoid deadloop if data_flush is on · 040d2bb3
      Chao Yu authored
      As Hagbard Celine reported:
      
      [  615.697824] INFO: task kworker/u16:5:344 blocked for more than 120 seconds.
      [  615.697825]       Not tainted 5.0.15-gentoo-f2fslog #4
      [  615.697826] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs"
      disables this message.
      [  615.697827] kworker/u16:5   D    0   344      2 0x80000000
      [  615.697831] Workqueue: writeback wb_workfn (flush-259:0)
      [  615.697832] Call Trace:
      [  615.697836]  ? __schedule+0x2c5/0x8b0
      [  615.697839]  schedule+0x32/0x80
      [  615.697841]  schedule_preempt_disabled+0x14/0x20
      [  615.697842]  __mutex_lock.isra.8+0x2ba/0x4d0
      [  615.697845]  ? log_store+0xf5/0x260
      [  615.697848]  f2fs_write_data_pages+0x133/0x320
      [  615.697851]  ? trace_hardirqs_on+0x2c/0xe0
      [  615.697854]  do_writepages+0x41/0xd0
      [  615.697857]  __filemap_fdatawrite_range+0x81/0xb0
      [  615.697859]  f2fs_sync_dirty_inodes+0x1dd/0x200
      [  615.697861]  f2fs_balance_fs_bg+0x2a7/0x2c0
      [  615.697863]  ? up_read+0x5/0x20
      [  615.697865]  ? f2fs_do_write_data_page+0x2cb/0x940
      [  615.697867]  f2fs_balance_fs+0xe5/0x2c0
      [  615.697869]  __write_data_page+0x1c8/0x6e0
      [  615.697873]  f2fs_write_cache_pages+0x1e0/0x450
      [  615.697878]  f2fs_write_data_pages+0x14b/0x320
      [  615.697880]  ? trace_hardirqs_on+0x2c/0xe0
      [  615.697883]  do_writepages+0x41/0xd0
      [  615.697885]  __filemap_fdatawrite_range+0x81/0xb0
      [  615.697887]  f2fs_sync_dirty_inodes+0x1dd/0x200
      [  615.697889]  f2fs_balance_fs_bg+0x2a7/0x2c0
      [  615.697891]  f2fs_write_node_pages+0x51/0x220
      [  615.697894]  do_writepages+0x41/0xd0
      [  615.697897]  __writeback_single_inode+0x3d/0x3d0
      [  615.697899]  writeback_sb_inodes+0x1e8/0x410
      [  615.697902]  __writeback_inodes_wb+0x5d/0xb0
      [  615.697904]  wb_writeback+0x28f/0x340
      [  615.697906]  ? cpumask_next+0x16/0x20
      [  615.697908]  wb_workfn+0x33e/0x420
      [  615.697911]  process_one_work+0x1a1/0x3d0
      [  615.697913]  worker_thread+0x30/0x380
      [  615.697915]  ? process_one_work+0x3d0/0x3d0
      [  615.697916]  kthread+0x116/0x130
      [  615.697918]  ? kthread_create_worker_on_cpu+0x70/0x70
      [  615.697921]  ret_from_fork+0x3a/0x50
      
      There is still deadloop in below condition:
      
      d A
      - do_writepages
       - f2fs_write_node_pages
        - f2fs_balance_fs_bg
         - f2fs_sync_dirty_inodes
          - f2fs_write_cache_pages
           - mutex_lock(&sbi->writepages)	-- lock once
           - __write_data_page
            - f2fs_balance_fs_bg
             - f2fs_sync_dirty_inodes
              - f2fs_write_data_pages
               - mutex_lock(&sbi->writepages)	-- lock again
      
      Thread A			Thread B
      - do_writepages
       - f2fs_write_node_pages
        - f2fs_balance_fs_bg
         - f2fs_sync_dirty_inodes
          - .cp_task = current
      				- f2fs_sync_dirty_inodes
      				 - .cp_task = current
      				 - filemap_fdatawrite
      				 - .cp_task = NULL
          - filemap_fdatawrite
           - f2fs_write_cache_pages
            - enter f2fs_balance_fs_bg since .cp_task is NULL
          - .cp_task = NULL
      
      Change as below to avoid this:
      - add condition to avoid holding .writepages mutex lock in path
      of data flush
      - introduce mutex lock sbi.flush_lock to exclude concurrent data
      flush in background.
      Signed-off-by: default avatarChao Yu <yuchao0@huawei.com>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      040d2bb3
    • Park Ju Hyung's avatar
      f2fs: always assume that the device is idle under gc_urgent · f7dfd9f3
      Park Ju Hyung authored
      This allows more aggressive discards and balancing job to be done
      under gc_urgent.
      Signed-off-by: default avatarPark Ju Hyung <qkrwngud825@gmail.com>
      Reviewed-by: default avatarChao Yu <yuchao0@huawei.com>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      f7dfd9f3
    • Chao Yu's avatar
      f2fs: add bio cache for IPU · 8648de2c
      Chao Yu authored
      SQLite in Wal mode may trigger sequential IPU write in db-wal file, after
      commit d1b3e72d ("f2fs: submit bio of in-place-update pages"), we
      lost the chance of merging page in inner managed bio cache, result in
      submitting more small-sized IO.
      
      So let's add temporary bio in writepages() to cache mergeable write IO as
      much as possible.
      
      Test case:
      1. xfs_io -f /mnt/f2fs/file -c "pwrite 0 65536" -c "fsync"
      2. xfs_io -f /mnt/f2fs/file -c "pwrite 0 65536" -c "fsync"
      
      Before:
      f2fs_submit_write_bio: dev = (251,0)/(251,0), rw = WRITE(S), DATA, sector = 65544, size = 4096
      f2fs_submit_write_bio: dev = (251,0)/(251,0), rw = WRITE(S), DATA, sector = 65552, size = 4096
      f2fs_submit_write_bio: dev = (251,0)/(251,0), rw = WRITE(S), DATA, sector = 65560, size = 4096
      f2fs_submit_write_bio: dev = (251,0)/(251,0), rw = WRITE(S), DATA, sector = 65568, size = 4096
      f2fs_submit_write_bio: dev = (251,0)/(251,0), rw = WRITE(S), DATA, sector = 65576, size = 4096
      f2fs_submit_write_bio: dev = (251,0)/(251,0), rw = WRITE(S), DATA, sector = 65584, size = 4096
      f2fs_submit_write_bio: dev = (251,0)/(251,0), rw = WRITE(S), DATA, sector = 65592, size = 4096
      f2fs_submit_write_bio: dev = (251,0)/(251,0), rw = WRITE(S), DATA, sector = 65600, size = 4096
      f2fs_submit_write_bio: dev = (251,0)/(251,0), rw = WRITE(S), DATA, sector = 65608, size = 4096
      f2fs_submit_write_bio: dev = (251,0)/(251,0), rw = WRITE(S), DATA, sector = 65616, size = 4096
      f2fs_submit_write_bio: dev = (251,0)/(251,0), rw = WRITE(S), DATA, sector = 65624, size = 4096
      f2fs_submit_write_bio: dev = (251,0)/(251,0), rw = WRITE(S), DATA, sector = 65632, size = 4096
      f2fs_submit_write_bio: dev = (251,0)/(251,0), rw = WRITE(S), DATA, sector = 65640, size = 4096
      f2fs_submit_write_bio: dev = (251,0)/(251,0), rw = WRITE(S), DATA, sector = 65648, size = 4096
      f2fs_submit_write_bio: dev = (251,0)/(251,0), rw = WRITE(S), DATA, sector = 65656, size = 4096
      f2fs_submit_write_bio: dev = (251,0)/(251,0), rw = WRITE(S), DATA, sector = 65664, size = 4096
      f2fs_submit_write_bio: dev = (251,0)/(251,0), rw = WRITE(S), NODE, sector = 57352, size = 4096
      
      After:
      f2fs_submit_write_bio: dev = (251,0)/(251,0), rw = WRITE(S), DATA, sector = 65544, size = 65536
      f2fs_submit_write_bio: dev = (251,0)/(251,0), rw = WRITE(S), NODE, sector = 57368, size = 4096
      Signed-off-by: default avatarChao Yu <yuchao0@huawei.com>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      8648de2c
    • Jaegeuk Kim's avatar
      f2fs: allow ssr block allocation during checkpoint=disable period · 49dd883c
      Jaegeuk Kim authored
      This patch allows to use ssr during checkpoint is disabled.
      Reviewed-by: default avatarChao Yu <yuchao0@huawei.com>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      49dd883c
    • Chao Yu's avatar
      f2fs: fix to check layout on last valid checkpoint park · 5dae2d39
      Chao Yu authored
      As Ju Hyung reported:
      
      "
      I was semi-forced today to use the new kernel and test f2fs.
      
      My Ubuntu initramfs got a bit wonky and I had to boot into live CD and
      fix some stuffs. The live CD was using 4.15 kernel, and just mounting
      the f2fs partition there corrupted f2fs and my 4.19(with 5.1-rc1-4.19
      f2fs-stable merged) refused to mount with "SIT is corrupted node"
      message.
      
      I used the latest f2fs-tools sent by Chao including "fsck.f2fs: fix to
      repair cp_loads blocks at correct position"
      
      It spit out 140M worth of output, but at least I didn't have to run it
      twice. Everything returned "Ok" in the 2nd run.
      The new log is at
      http://arter97.com/f2fs/final
      
      After fixing the image, I used my 4.19 kernel with 5.2-rc1-4.19
      f2fs-stable merged and it mounted.
      
      But, I got this:
      [    1.047791] F2FS-fs (nvme0n1p3): layout of large_nat_bitmap is
      deprecated, run fsck to repair, chksum_offset: 4092
      [    1.081307] F2FS-fs (nvme0n1p3): Found nat_bits in checkpoint
      [    1.161520] F2FS-fs (nvme0n1p3): recover fsync data on readonly fs
      [    1.162418] F2FS-fs (nvme0n1p3): Mounted with checkpoint version = 761c7e00
      
      But after doing a reboot, the message is gone:
      [    1.098423] F2FS-fs (nvme0n1p3): Found nat_bits in checkpoint
      [    1.177771] F2FS-fs (nvme0n1p3): recover fsync data on readonly fs
      [    1.178365] F2FS-fs (nvme0n1p3): Mounted with checkpoint version = 761c7eda
      
      I'm not exactly sure why the kernel detected that I'm still using the
      old layout on the first boot. Maybe fsck didn't fix it properly, or
      the check from the kernel is improper.
      "
      
      Although we have rebuild the old deprecated checkpoint with new layout
      during repair, we only repair last checkpoint park, the other old one is
      remained.
      
      Once the image was mounted, we will 1) sanity check layout and 2) decide
      which checkpoint park to use according to cp_ver. So that we will print
      reported message unnecessarily at step 1), to avoid it, we simply move
      layout check into f2fs_sanity_check_ckpt() after step 2).
      Reported-by: default avatarPark Ju Hyung <qkrwngud825@gmail.com>
      Signed-off-by: default avatarChao Yu <yuchao0@huawei.com>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      5dae2d39
    • Jaegeuk Kim's avatar
      f2fs: link f2fs quota ops for sysfile · bc88ac96
      Jaegeuk Kim authored
      This patch reverts:
      commit fb40d618 ("f2fs: don't clear CP_QUOTA_NEED_FSCK_FLAG").
      
      We were missing error handlers used in f2fs quota ops.
      Reviewed-by: default avatarChao Yu <yuchao0@huawei.com>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      bc88ac96
  8. 14 May, 2019 9 commits
    • Linus Torvalds's avatar
      Merge tag 'backlight-next-5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight · e0654264
      Linus Torvalds authored
      Pull backlight updates from Lee Jones:
       "Fix-ups:
         - Remove unused BACKLIGHT_LCD_SUPPORT symbol
         - Remove unused BACKLIGHT_CLASS_DEVICE dependencies
         - Add DT support to lm3630a_bl
      
        Bug Fixes:
         - Fix error path issues in lm3630a_bl"
      
      * tag 'backlight-next-5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight:
        backlight: lm3630a: Add firmware node support
        dt-bindings: backlight: Add lm3630a bindings
        backlight: lm3630a: Return 0 on success in update_status functions
        video: lcd: Remove useless BACKLIGHT_CLASS_DEVICE dependencies
        video: backlight: Remove useless BACKLIGHT_LCD_SUPPORT kernel symbol
      e0654264
    • Linus Torvalds's avatar
      Merge tag 'mfd-next-5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd · ebcf5bb2
      Linus Torvalds authored
      Pull MFD updates from Lee Jones:
       "Core Framework:
         - Document (kerneldoc) core mfd_add_devices() API
      
        New Drivers:
         - Altera SOCFPGA System Manager
         - Maxim MAX77650/77651 PMIC
         - Maxim MAX77663 PMIC
         - ST Multi-Function eXpander (STMFX)
      
        New Device Support:
         - LEDs support in Intel Cherry Trail Whiskey Cove PMIC
         - RTC support in SAMSUNG Electronics S2MPA01 PMIC
         - SAM9X60 support in Atmel HLCDC (High-end LCD Controller)
         - USB X-Powers AXP 8xx PMICs
         - Integrated Sensor Hub (ISH) in ChromeOS EC
         - USB PD Logger in ChromeOS EC
         - AXP223 in X-Powers AXP series PMICs
         - Power Supply in X-Powers AXP 803 PMICs
         - Comet Lake in Intel Low Power Subsystem
         - Fingerprint MCU in ChromeOS EC
         - Touchpad MCU in ChromeOS EC
         - Move TI LM3532 support to LED
      
        New Functionality:
         - max77650, max77620: Add/extend DT support
         - max77620 power-off
         - syscon clocking
         - croc_ec host sleep event
      
        Fix-ups:
         - Trivial; Formatting, spelling, etc; Kconfig, sec-core, ab8500-debugfs
         - Remove unused functionality; rk808, da9063-*
         - SPDX conversion; da9063-*, atmel-*,
         - Adapt/add new register definitions; cs47l35-tables, cs47l90-tables, imx6q-iomuxc-gpr
         - Fix-up DT bindings; ti-lmu, cirrus,lochnagar
         - Simply obtaining driver data; ssbi, t7l66xb, tc6387xb, tc6393xb
      
        Bug Fixes:
         - Fix incorrect defined values; max77620, da9063
         - Fix device initialisation; twl6040
         - Reset device on init; intel-lpss
         - Fix build warnings when !OF; sun6i-prcm
         - Register OF match tables; tps65912-spi
         - Fix DMI matching; intel_quark_i2c_gpio"
      
      * tag 'mfd-next-5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (65 commits)
        mfd: Use dev_get_drvdata() directly
        mfd: cros_ec: Instantiate properly CrOS Touchpad MCU device
        mfd: cros_ec: Instantiate properly CrOS FP MCU device
        mfd: cros_ec: Update the EC feature codes
        mfd: intel-lpss: Add Intel Comet Lake PCI IDs
        mfd: lochnagar: Add links to binding docs for sound and hwmon
        mfd: ab8500-debugfs: Fix a typo ("deubgfs")
        mfd: imx6sx: Add MQS register definition for iomuxc gpr
        dt-bindings: mfd: LMU: Fix lm3632 dt binding example
        mfd: intel_quark_i2c_gpio: Adjust IOT2000 matching
        mfd: da9063: Fix OTP control register names to match datasheets for DA9063/63L
        mfd: tps65912-spi: Add missing of table registration
        mfd: axp20x: Add USB power supply mfd cell to AXP803
        mfd: sun6i-prcm: Fix build warning for non-OF configurations
        mfd: intel-lpss: Set the device in reset state when init
        platform/chrome: Add support for v1 of host sleep event
        mfd: cros_ec: Add host_sleep_event_v1 command
        mfd: cros_ec: Instantiate the CrOS USB PD logger driver
        mfd: cs47l90: Make DAC_AEC_CONTROL_2 readable
        mfd: cs47l35: Make DAC_AEC_CONTROL_2 readable
        ...
      ebcf5bb2
    • Linus Torvalds's avatar
      Merge tag 'pci-v5.2-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · 414147d9
      Linus Torvalds authored
      Pull PCI updates from Bjorn Helgaas:
       "Enumeration changes:
      
         - Add _HPX Type 3 settings support, which gives firmware more
           influence over device configuration (Alexandru Gagniuc)
      
         - Support fixed bus numbers from bridge Enhanced Allocation
           capabilities (Subbaraya Sundeep)
      
         - Add "external-facing" DT property to identify cases where we
           require IOMMU protection against untrusted devices (Jean-Philippe
           Brucker)
      
         - Enable PCIe services for host controller drivers that use managed
           host bridge alloc (Jean-Philippe Brucker)
      
         - Log PCIe port service messages with pci_dev, not the pcie_device
           (Frederick Lawler)
      
         - Convert pciehp from pciehp_debug module parameter to generic
           dynamic debug (Frederick Lawler)
      
        Peer-to-peer DMA:
      
         - Add whitelist of Root Complexes that support peer-to-peer DMA
           between Root Ports (Christian König)
      
        Native controller drivers:
      
         - Add PCI host bridge DMA ranges for bridges that can't DMA
           everywhere, e.g., iProc (Srinath Mannam)
      
         - Add Amazon Annapurna Labs PCIe host controller driver (Jonathan
           Chocron)
      
         - Fix Tegra MSI target allocation so DMA doesn't generate unwanted
           MSIs (Vidya Sagar)
      
         - Fix of_node reference leaks (Wen Yang)
      
         - Fix Hyper-V module unload & device removal issues (Dexuan Cui)
      
         - Cleanup R-Car driver (Marek Vasut)
      
         - Cleanup Keystone driver (Kishon Vijay Abraham I)
      
         - Cleanup i.MX6 driver (Andrey Smirnov)
      
        Significant bug fixes:
      
         - Reset Lenovo ThinkPad P50 GPU so nouveau works after reboot (Lyude
           Paul)
      
         - Fix Switchtec firmware update performance issue (Wesley Sheng)
      
         - Work around Pericom switch link retraining erratum (Stefan Mätje)"
      
      * tag 'pci-v5.2-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (141 commits)
        MAINTAINERS: Add Karthikeyan Mitran and Hou Zhiqiang for Mobiveil PCI
        PCI: pciehp: Remove pointless MY_NAME definition
        PCI: pciehp: Remove pointless PCIE_MODULE_NAME definition
        PCI: pciehp: Remove unused dbg/err/info/warn() wrappers
        PCI: pciehp: Log messages with pci_dev, not pcie_device
        PCI: pciehp: Replace pciehp_debug module param with dyndbg
        PCI: pciehp: Remove pciehp_debug uses
        PCI/AER: Log messages with pci_dev, not pcie_device
        PCI/DPC: Log messages with pci_dev, not pcie_device
        PCI/PME: Replace dev_printk(KERN_DEBUG) with dev_info()
        PCI/AER: Replace dev_printk(KERN_DEBUG) with dev_info()
        PCI: Replace dev_printk(KERN_DEBUG) with dev_info(), etc
        PCI: Replace printk(KERN_INFO) with pr_info(), etc
        PCI: Use dev_printk() when possible
        PCI: Cleanup setup-bus.c comments and whitespace
        PCI: imx6: Allow asynchronous probing
        PCI: dwc: Save root bus for driver remove hooks
        PCI: dwc: Use devm_pci_alloc_host_bridge() to simplify code
        PCI: dwc: Free MSI in dw_pcie_host_init() error path
        PCI: dwc: Free MSI IRQ page in dw_pcie_free_msi()
        ...
      414147d9
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · 318222a3
      Linus Torvalds authored
      Merge misc updates from Andrew Morton:
      
       - a few misc things and hotfixes
      
       - ocfs2
      
       - almost all of MM
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (139 commits)
        kernel/memremap.c: remove the unused device_private_entry_fault() export
        mm: delete find_get_entries_tag
        mm/huge_memory.c: make __thp_get_unmapped_area static
        mm/mprotect.c: fix compilation warning because of unused 'mm' variable
        mm/page-writeback: introduce tracepoint for wait_on_page_writeback()
        mm/vmscan: simplify trace_reclaim_flags and trace_shrink_flags
        mm/Kconfig: update "Memory Model" help text
        mm/vmscan.c: don't disable irq again when count pgrefill for memcg
        mm: memblock: make keeping memblock memory opt-in rather than opt-out
        hugetlbfs: always use address space in inode for resv_map pointer
        mm/z3fold.c: support page migration
        mm/z3fold.c: add structure for buddy handles
        mm/z3fold.c: improve compression by extending search
        mm/z3fold.c: introduce helper functions
        mm/page_alloc.c: remove unnecessary parameter in rmqueue_pcplist
        mm/hmm: add ARCH_HAS_HMM_MIRROR ARCH_HAS_HMM_DEVICE Kconfig
        mm/vmscan.c: simplify shrink_inactive_list()
        fs/sync.c: sync_file_range(2) may use WB_SYNC_ALL writeback
        xen/privcmd-buf.c: convert to use vm_map_pages_zero()
        xen/gntdev.c: convert to use vm_map_pages()
        ...
      318222a3
    • Christoph Hellwig's avatar
      640be2d1
    • Matthew Wilcox (Oracle)'s avatar
      mm: delete find_get_entries_tag · a1b8e6ab
      Matthew Wilcox (Oracle) authored
      I removed the only user of this and hadn't noticed it was now unused.
      
      Link: http://lkml.kernel.org/r/20190430152929.21813-1-willy@infradead.orgSigned-off-by: default avatarMatthew Wilcox (Oracle) <willy@infradead.org>
      Reviewed-by: default avatarRoss Zwisler <zwisler@google.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a1b8e6ab
    • Bharath Vedartham's avatar
      mm/huge_memory.c: make __thp_get_unmapped_area static · b3b07077
      Bharath Vedartham authored
      __thp_get_unmapped_area is only used in mm/huge_memory.c.  Make it static.
      Tested by building and booting the kernel.
      
      Link: http://lkml.kernel.org/r/20190504102353.GA22525@bharath12345-Inspiron-5559Signed-off-by: default avatarBharath Vedartham <linux.bhar@gmail.com>
      Acked-by: default avatarMichal Hocko <mhocko@suse.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b3b07077
    • Mike Rapoport's avatar
      mm/mprotect.c: fix compilation warning because of unused 'mm' variable · 94393c78
      Mike Rapoport authored
      Since 0cbe3e26 ("mm: update ptep_modify_prot_start/commit to take
      vm_area_struct as arg") the only place that uses the local 'mm' variable
      in change_pte_range() is the call to set_pte_at().
      
      Many architectures define set_pte_at() as macro that does not use the 'mm'
      parameter, which generates the following compilation warning:
      
       CC      mm/mprotect.o
      mm/mprotect.c: In function 'change_pte_range':
      mm/mprotect.c:42:20: warning: unused variable 'mm' [-Wunused-variable]
        struct mm_struct *mm = vma->vm_mm;
                          ^~
      
      Fix it by passing vma->mm to set_pte_at() and dropping the local 'mm'
      variable in change_pte_range().
      
      [liu.song.a23@gmail.com: fix missed conversions]
        Link: http://lkml.kernel.org/r/CAPhsuW6wcQgYLHNdBdw6m0YiR4RWsS4XzfpSKU7wBLLeOCTbpw@mail.gmail.comLink: http://lkml.kernel.org/r/1557305432-4940-1-git-send-email-rppt@linux.ibm.comSigned-off-by: default avatarMike Rapoport <rppt@linux.ibm.com>
      Reviewed-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Cc: Song Liu <liu.song.a23@gmail.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      94393c78
    • Yafang Shao's avatar
      mm/page-writeback: introduce tracepoint for wait_on_page_writeback() · 19343b5b
      Yafang Shao authored
      Recently there have been some hung tasks on our server due to
      wait_on_page_writeback(), and we want to know the details of this
      PG_writeback, i.e.  this page is writing back to which device.  But it is
      not so convenient to get the details.
      
      I think it would be better to introduce a tracepoint for diagnosing the
      writeback details.
      
      Link: http://lkml.kernel.org/r/1556274402-19018-1-git-send-email-laoar.shao@gmail.comSigned-off-by: default avatarYafang Shao <laoar.shao@gmail.com>
      Reviewed-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Cc: Jan Kara <jack@suse.cz>
      Cc: Michal Hocko <mhocko@suse.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      19343b5b