1. 14 1月, 2020 6 次提交
    • G
      md: rename wb stuffs · 404659cf
      Guoqing Jiang 提交于
      Previously, wb_info_pool and wb_list stuffs are introduced
      to address potential data inconsistence issue for write
      behind device.
      
      Now rename them to serial related name, since the same
      mechanism will be used to address reorder overlap write
      issue for raid1.
      Signed-off-by: NGuoqing Jiang <guoqing.jiang@cloud.ionos.com>
      Signed-off-by: NSong Liu <songliubraving@fb.com>
      404659cf
    • G
      raid5: remove worker_cnt_per_group argument from alloc_thread_groups · d2c9ad41
      Guoqing Jiang 提交于
      We can use "cnt" directly to update conf->worker_cnt_per_group
      if alloc_thread_groups returns 0.
      Signed-off-by: NGuoqing Jiang <guoqing.jiang@cloud.ionos.com>
      Signed-off-by: NSong Liu <songliubraving@fb.com>
      d2c9ad41
    • Z
      md/raid6: fix algorithm choice under larger PAGE_SIZE · f591df3c
      Zhengyuan Liu 提交于
      There are several algorithms available for raid6 to generate xor and syndrome
      parity, including basic int1, int2 ... int32 and SIMD optimized implementation
      like sse and neon.  To test and choose the best algorithms at the initial
      stage, we need provide enough disk data to feed the algorithms. However, the
      disk number we provided depends on page size and gfmul table, seeing bellow:
      
          const int disks = (65536/PAGE_SIZE) + 2;
      
      So when come to 64K PAGE_SIZE, there is only one data disk plus 2 parity disk,
      as a result the chosed algorithm is not reliable. For example, on my arm64
      machine with 64K page enabled, it will choose intx32 as the best one, although
      the NEON implementation is better.
      
      This patch tries to fix the problem by defining a constant raid6 disk number to
      supporting arbitrary page size.
      Suggested-by: NH. Peter Anvin <hpa@zytor.com>
      Signed-off-by: NZhengyuan Liu <liuzhengyuan@kylinos.cn>
      Signed-off-by: NSong Liu <songliubraving@fb.com>
      f591df3c
    • Z
      raid6/test: fix a compilation warning · 5e5ac01c
      Zhengyuan Liu 提交于
      The compilation warning is redefination showed as following:
      
              In file included from tables.c:2:
              ../../../include/linux/export.h:180: warning: "EXPORT_SYMBOL" redefined
               #define EXPORT_SYMBOL(sym)  __EXPORT_SYMBOL(sym, "")
      
              In file included from tables.c:1:
              ../../../include/linux/raid/pq.h:61: note: this is the location of the previous definition
               #define EXPORT_SYMBOL(sym)
      
      Fixes: 69a94abb ("export.h, genksyms: do not make genksyms calculate CRC of trimmed symbols")
      Signed-off-by: NZhengyuan Liu <liuzhengyuan@kylinos.cn>
      Signed-off-by: NSong Liu <songliubraving@fb.com>
      5e5ac01c
    • Z
      raid6/test: fix a compilation error · 6b8651aa
      Zhengyuan Liu 提交于
      The compilation error is redeclaration showed as following:
      
              In file included from ../../../include/linux/limits.h:6,
                               from /usr/include/x86_64-linux-gnu/bits/local_lim.h:38,
                               from /usr/include/x86_64-linux-gnu/bits/posix1_lim.h:161,
                               from /usr/include/limits.h:183,
                               from /usr/lib/gcc/x86_64-linux-gnu/8/include-fixed/limits.h:194,
                               from /usr/lib/gcc/x86_64-linux-gnu/8/include-fixed/syslimits.h:7,
                               from /usr/lib/gcc/x86_64-linux-gnu/8/include-fixed/limits.h:34,
                               from ../../../include/linux/raid/pq.h:30,
                               from algos.c:14:
              ../../../include/linux/types.h:114:15: error: conflicting types for ‘int64_t’
               typedef s64   int64_t;
                             ^~~~~~~
              In file included from /usr/include/stdint.h:34,
                               from /usr/lib/gcc/x86_64-linux-gnu/8/include/stdint.h:9,
                               from /usr/include/inttypes.h:27,
                               from ../../../include/linux/raid/pq.h:29,
                               from algos.c:14:
              /usr/include/x86_64-linux-gnu/bits/stdint-intn.h:27:19: note: previous \
              declaration of ‘int64_t’ was here
               typedef __int64_t int64_t;
      
      Fixes: 54d50897 ("linux/kernel.h: split *_MAX and *_MIN macros into <linux/limits.h>")
      Signed-off-by: NZhengyuan Liu <liuzhengyuan@kylinos.cn>
      Signed-off-by: NSong Liu <songliubraving@fb.com>
      6b8651aa
    • Z
      md-bitmap: small cleanups · 55180498
      Zhiqiang Liu 提交于
      In md_bitmap_unplug, bitmap->storage.filemap is double checked.
      
      In md_bitmap_daemon_work, bitmap->storage.filemap should be checked
      before reference.
      Signed-off-by: NZhiqiang Liu <liuzhiqiang26@huawei.com>
      Signed-off-by: NSong Liu <songliubraving@fb.com>
      55180498
  2. 09 1月, 2020 1 次提交
  3. 07 1月, 2020 2 次提交
  4. 19 12月, 2019 4 次提交
    • P
      blk-mq: optimise blk_mq_flush_plug_list() · 95ed0c5b
      Pavel Begunkov 提交于
      Instead of using list_del_init() in a loop, that generates a lot of
      unnecessary memory read/writes, iterate from the first request of a
      batch and cut out a sublist with list_cut_before().
      
      Apart from removing the list node initialisation part, this is more
      register-friendly, and the assembly uses the stack less intensively.
      
      list_empty() at the beginning is done with hope, that the compiler can
      optimise out the same check in the following list_splice_init().
      Signed-off-by: NPavel Begunkov <asml.silence@gmail.com>
      Signed-off-by: NJens Axboe <axboe@kernel.dk>
      95ed0c5b
    • P
      list: introduce list_for_each_continue() · 28ca0d6d
      Pavel Begunkov 提交于
      As other *continue() helpers, this continues iteration from a given
      position.
      Signed-off-by: NPavel Begunkov <asml.silence@gmail.com>
      Signed-off-by: NJens Axboe <axboe@kernel.dk>
      28ca0d6d
    • P
      blk-mq: optimise rq sort function · 7d30a621
      Pavel Begunkov 提交于
      Check "!=" in multi-layer comparisons. The same memory usage, fewer
      instructions, and 2 from 4 jumps are replaced with SETcc.
      
      Note, that list_sort() doesn't differ 0 and <0.
      Reviewed-by: NNikolay Borisov <nborisov@suse.com>
      Signed-off-by: NPavel Begunkov <asml.silence@gmail.com>
      Signed-off-by: NJens Axboe <axboe@kernel.dk>
      7d30a621
    • L
      Merge tag 'sound-5.5-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 80a0c2e5
      Linus Torvalds 提交于
      Pull sound fixes from Takashi Iwai:
       "A slightly high amount at this time, but all good and small fixes:
      
         - A PCM core fix that initializes the buffer properly for avoiding
           information leaks; it is a long-standing minor problem, but good to
           fix better now
      
         - A few ASoC core fixes for the init / cleanup ordering issues that
           surfaced after the recent refactoring
      
         - Lots of SOF and topology-related fixes went in, as usual as such
           hot topics
      
         - Several ASoC codec and platform-specific small fixes: wm89xx,
           realtek, and max98090, AMD, Intel-SST
      
         - A fix for the previous incomplete regression of HD-audio, now
           hitting Nvidia HDMI
      
         - A few HD-audio CA0132 codec fixes"
      
      * tag 'sound-5.5-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (27 commits)
        ALSA: hda - Downgrade error message for single-cmd fallback
        ASoC: wm8962: fix lambda value
        ALSA: hda: Fix regression by strip mask fix
        ALSA: hda/ca0132 - Fix work handling in delayed HP detection
        ALSA: hda/ca0132 - Avoid endless loop
        ALSA: hda/ca0132 - Keep power on during processing DSP response
        ALSA: pcm: Avoid possible info leaks from PCM stream buffers
        ASoC: Intel: common: work-around incorrect ACPI HID for CML boards
        ASoC: SOF: Intel: split cht and byt debug window sizes
        ASoC: SOF: loader: fix snd_sof_fw_parse_ext_data
        ASoC: SOF: loader: snd_sof_fw_parse_ext_data log warning on unknown header
        ASoC: simple-card: Don't create separate link when platform is present
        ASoC: topology: Check return value for soc_tplg_pcm_create()
        ASoC: topology: Check return value for snd_soc_add_dai_link()
        ASoC: core: only flush inited work during free
        ASoC: Intel: bytcr_rt5640: Update quirk for Teclast X89
        ASoC: core: Init pcm runtime work early to avoid warnings
        ASoC: Intel: sst: Add missing include <linux/io.h>
        ASoC: max98090: fix possible race conditions
        ASoC: max98090: exit workaround earlier if PLL is locked
        ...
      80a0c2e5
  5. 18 12月, 2019 10 次提交
    • L
      Merge tag 'for-5.5-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 2187f215
      Linus Torvalds 提交于
      Pull btrfs fixes from David Sterba:
       "A mix of regression fixes and regular fixes for stable trees:
      
         - fix swapped error messages for qgroup enable/rescan
      
         - fixes for NO_HOLES feature with clone range
      
         - fix deadlock between iget/srcu lock/synchronize srcu while freeing
           an inode
      
         - fix double lock on subvolume cross-rename
      
         - tree log fixes
            * fix missing data checksums after replaying a log tree
            * also teach tree-checker about this problem
            * skip log replay on orphaned roots
      
         - fix maximum devices constraints for RAID1C -3 and -4
      
         - send: don't print warning on read-only mount regarding orphan
           cleanup
      
         - error handling fixes"
      
      * tag 'for-5.5-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        btrfs: send: remove WARN_ON for readonly mount
        btrfs: do not leak reloc root if we fail to read the fs root
        btrfs: skip log replay on orphaned roots
        btrfs: handle ENOENT in btrfs_uuid_tree_iterate
        btrfs: abort transaction after failed inode updates in create_subvol
        Btrfs: fix hole extent items with a zero size after range cloning
        Btrfs: fix removal logic of the tree mod log that leads to use-after-free issues
        Btrfs: make tree checker detect checksum items with overlapping ranges
        Btrfs: fix missing data checksums after replaying a log tree
        btrfs: return error pointer from alloc_test_extent_buffer
        btrfs: fix devs_max constraints for raid1c3 and raid1c4
        btrfs: tree-checker: Fix error format string for size_t
        btrfs: don't double lock the subvol_sem for rename exchange
        btrfs: handle error in btrfs_cache_block_group
        btrfs: do not call synchronize_srcu() in inode_tree_del
        Btrfs: fix cloning range with a hole when using the NO_HOLES feature
        btrfs: Fix error messages in qgroup_rescan_init
      2187f215
    • L
      early init: fix error handling when opening /dev/console · 2d3145f8
      Linus Torvalds 提交于
      The comment says "this should never fail", but it definitely can fail
      when you have odd initial boot filesystems, or kernel configurations.
      
      So get the error handling right: filp_open() returns an error pointer.
      Reported-by: NJesse Barnes <jsbarnes@google.com>
      Reported-by: Nyouling 257 <youling257@gmail.com>
      Fixes: 8243186f ("fs: remove ksys_dup()")
      Cc: Dominik Brodowski <linux@dominikbrodowski.net>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      2d3145f8
    • L
      Merge tag 'regulator-fix-v5.5-rc2' of... · 58d90a04
      Linus Torvalds 提交于
      Merge tag 'regulator-fix-v5.5-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator
      
      Pull regulator fixes from Mark Brown:
       "A small set of fixes for mostly minor issues here, the only real code
        ones are Wen Yang's fixes for error handling in the core and Christian
        Marussi's list_voltage() change which is a fix for disruptively bad
        performance for regulators with continuous voltage control (which are
        rare)"
      
      * tag 'regulator-fix-v5.5-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
        regulator: rn5t618: fix module aliases
        regulator: max77650: add of_match table
        regulator: core: avoid unneeded .list_voltage calls
        regulator: s5m8767: Fix a warning message
        regulator: core: fix regulator_register() error paths to properly release rdev
        regulator: fix use after free issue
      58d90a04
    • L
      Merge tag 'spi-fix-v5.5-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · a922f1a9
      Linus Torvalds 提交于
      Pull spi fixes from Mark Brown:
       "A relatively large set of fixes here, the biggest part of it is for
        fallout from the GPIO descriptor rework that affected several of the
        devices with usable native chip select support. There's also some new
        PCI IDs for Intel Jasper Lake devices.
      
        The conversion to platform_get_irq() in the fsl driver is an
        incremental fix for build errors introduced on SPARC by the earlier
        fix for error handling in probe in that driver"
      
      * tag 'spi-fix-v5.5-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
        spi: fsl: use platform_get_irq() instead of of_irq_to_resource()
        spi: nxp-fspi: Ensure width is respected in spi-mem operations
        spi: spi-ti-qspi: Fix a bug when accessing non default CS
        spi: fsl: don't map irq during probe
        spi: spi-cavium-thunderx: Add missing pci_release_regions()
        spi: sprd: Fix the incorrect SPI register
        gpiolib: of: Make of_gpio_spi_cs_get_count static
        spi: fsl: Handle the single hardwired chipselect case
        gpio: Handle counting of Freescale chipselects
        spi: fsl: Fix GPIO descriptor support
        spi: dw: Correct handling of native chipselect
        spi: cadence: Correct handling of native chipselect
        spi: pxa2xx: Add support for Intel Jasper Lake
      a922f1a9
    • L
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 9065e063
      Linus Torvalds 提交于
      Pull x86 fix from Ingo Molnar:
       "Fix kexec booting with certain EFI memory map layouts"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/efi: Update e820 with reserved EFI boot services data to fix kexec breakage
      9065e063
    • L
      Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 2abf1932
      Linus Torvalds 提交于
      Pull timer fixes from Ingo Molnar:
       "Add HPET quirks for the Intel 'Coffee Lake H' and 'Ice Lake' platforms"
      
      * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/intel: Disable HPET on Intel Ice Lake platforms
        x86/intel: Disable HPET on Intel Coffee Lake H platforms
      2abf1932
    • L
      Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 4340ebd1
      Linus Torvalds 提交于
      Pull scheduler fix from Ingo Molnar:
       "Fix the guest-nice cpustat values in /proc"
      
      * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched/cputime, proc/stat: Fix incorrect guest nice cpustat value
      4340ebd1
    • L
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 89c683cd
      Linus Torvalds 提交于
      Pull perf tooling fixes from Ingo  Molnar:
       "These are all perf tooling changes: most of them are fixes.
      
        Note that the large CPU count related fixes go beyond regression
        fixes, but the IPI-flood symptoms are severe enough that I think
        justifies their inclusion"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (38 commits)
        perf vendor events s390: Remove name from L1D_RO_EXCL_WRITES description
        perf vendor events s390: Fix counter long description for DTLB1_GPAGE_WRITES
        libtraceevent: Allow custom libdir path
        perf header: Fix false warning when there are no duplicate cache entries
        perf metricgroup: Fix printing event names of metric group with multiple events
        perf/x86/pmu-events: Fix Kernel_Utilization metric
        perf top: Do not bail out when perf_env__read_cpuid() returns ENOSYS
        perf arch: Make the default get_cpuid() return compatible error
        tools headers kvm: Sync linux/kvm.h with the kernel sources
        tools headers UAPI: Update tools's copy of drm.h headers
        tools headers UAPI: Sync drm/i915_drm.h with the kernel sources
        perf inject: Fix processing of ID index for injected instruction tracing
        perf report: Bail out --mem-mode if mem info is not available
        perf report: Make -F more strict like -s
        perf report/top TUI: Replace pr_err() with ui__error()
        libtraceevent: Copy pkg-config file to output folder when using O=
        libtraceevent: Fix lib installation with O=
        perf kvm: Clarify the 'perf kvm' -i and -o command line options
        tools arch x86: Sync asm/cpufeatures.h with the kernel sources
        perf beauty: Add CLEAR_SIGHAND support for clone's flags arg
        ...
      89c683cd
    • L
      Merge branch 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 9e8a0d5f
      Linus Torvalds 提交于
      Pull locking fixes from Ingo Molnar:
       "Tone down mutex debugging complaints, and annotate/fix spinlock
        debugging data accesses for KCSAN"
      
      * 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        Revert "locking/mutex: Complain upon mutex API misuse in IRQ contexts"
        locking/spinlock/debug: Fix various data races
      9e8a0d5f
    • L
      Merge branch 'efi-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · a114a18c
      Linus Torvalds 提交于
      Pull EFI fixes from Ingo Molnar:
       "Protect presistent EFI memory reservations from kexec, fix EFIFB early
        console, EFI stub graphics output fixes and other misc fixes."
      
      * 'efi-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        efi: Don't attempt to map RCI2 config table if it doesn't exist
        efi/earlycon: Remap entire framebuffer after page initialization
        efi: Fix efi_loaded_image_t::unload type
        efi/gop: Fix memory leak in __gop_query32/64()
        efi/gop: Return EFI_SUCCESS if a usable GOP was found
        efi/gop: Return EFI_NOT_FOUND if there are no usable GOPs
        efi/memreserve: Register reservations as 'reserved' in /proc/iomem
      a114a18c
  6. 17 12月, 2019 12 次提交
  7. 16 12月, 2019 5 次提交