1. 03 5月, 2022 1 次提交
  2. 29 4月, 2022 1 次提交
  3. 28 4月, 2022 1 次提交
    • T
      Revert "block: inherit request start time from bio for BLK_CGROUP" · 4cddeaca
      Tejun Heo 提交于
      This reverts commit 00067077. It has a
      couple problems:
      
      * bio_issue_time() is stored in bio->bi_issue truncated to 51 bits. This
        overflows in slightly over 26 days. Setting rq->io_start_time_ns with it
        means that io duration calculation would yield >26days after 26 days of
        uptime. This, for example, confuses kyber making it cause high IO
        latencies.
      
      * rq->io_start_time_ns should record the time that the IO is issued to the
        device so that on-device latency can be measured. However,
        bio_issue_time() is set before the bio goes through the rq-qos controllers
        (wbt, iolatency, iocost), so when the bio gets throttled in any of the
        mechanisms, the measured latencies make no sense - on-device latencies end
        up higher than request-alloc-to-completion latencies.
      
      We'll need a smarter way to avoid calling ktime_get_ns() repeatedly
      back-to-back. For now, let's revert the commit.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Cc: stable@vger.kernel.org # v5.16+
      Link: https://lore.kernel.org/r/YmmeOLfo5lzc+8yI@slm.duckdns.orgSigned-off-by: NJens Axboe <axboe@kernel.dk>
      4cddeaca
  4. 27 4月, 2022 1 次提交
    • T
      iocost: don't reset the inuse weight of under-weighted debtors · 8c936f9e
      Tejun Heo 提交于
      When an iocg is in debt, its inuse weight is owned by debt handling and
      should stay at 1. This invariant was broken when determining the amount of
      surpluses at the beginning of donation calculation - when an iocg's
      hierarchical weight is too low, the iocg is excluded from donation
      calculation and its inuse is reset to its active regardless of its
      indebtedness, triggering warnings like the following:
      
       WARNING: CPU: 5 PID: 0 at block/blk-iocost.c:1416 iocg_kick_waitq+0x392/0x3a0
       ...
       RIP: 0010:iocg_kick_waitq+0x392/0x3a0
       Code: 00 00 be ff ff ff ff 48 89 4d a8 e8 98 b2 70 00 48 8b 4d a8 85 c0 0f 85 4a fe ff ff 0f 0b e9 43 fe ff ff 0f 0b e9 4d fe ff ff <0f> 0b e9 50 fe ff ff e8 a2 ae 70 00 66 90 0f 1f 44 00 00 55 48 89
       RSP: 0018:ffffc90000200d08 EFLAGS: 00010016
       ...
        <IRQ>
        ioc_timer_fn+0x2e0/0x1470
        call_timer_fn+0xa1/0x2c0
       ...
      
      As this happens only when an iocg's hierarchical weight is negligible, its
      impact likely is limited to triggering the warnings. Fix it by skipping
      resetting inuse of under-weighted debtors.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Reported-by: NRik van Riel <riel@surriel.com>
      Fixes: c421a3eb ("blk-iocost: revamp debt handling")
      Cc: stable@vger.kernel.org # v5.10+
      Link: https://lore.kernel.org/r/YmjODd4aif9BzFuO@slm.duckdns.orgSigned-off-by: NJens Axboe <axboe@kernel.dk>
      8c936f9e
  5. 20 4月, 2022 2 次提交
  6. 15 4月, 2022 9 次提交
  7. 13 4月, 2022 1 次提交
    • A
      asm-generic: fix __get_unaligned_be48() on 32 bit platforms · b9768752
      Alexander Lobakin 提交于
      While testing the new macros for working with 48 bit containers,
      I faced a weird problem:
      
      32 + 16: 0x2ef6e8da 0x79e60000
      48: 0xffffe8da + 0x79e60000
      
      All the bits starting from the 32nd were getting 1d in 9/10 cases.
      The debug showed:
      
      p[0]: 0x00002e0000000000
      p[1]: 0x00002ef600000000
      p[2]: 0xffffffffe8000000
      p[3]: 0xffffffffe8da0000
      p[4]: 0xffffffffe8da7900
      p[5]: 0xffffffffe8da79e6
      
      that the value becomes a garbage after the third OR, i.e. on
      `p[2] << 24`.
      When the 31st bit is 1 and there's no explicit cast to an unsigned,
      it's being considered as a signed int and getting sign-extended on
      OR, so `e8000000` becomes `ffffffffe8000000` and messes up the
      result.
      Cast the @p[2] to u64 as well to avoid this. Now:
      
      32 + 16: 0x7ef6a490 0xddc10000
      48: 0x7ef6a490 + 0xddc10000
      
      p[0]: 0x00007e0000000000
      p[1]: 0x00007ef600000000
      p[2]: 0x00007ef6a4000000
      p[3]: 0x00007ef6a4900000
      p[4]: 0x00007ef6a490dd00
      p[5]: 0x00007ef6a490ddc1
      
      Fixes: c2ea5fcf ("asm-generic: introduce be48 unaligned accessors")
      Signed-off-by: NAlexander Lobakin <alobakin@pm.me>
      Link: https://lore.kernel.org/r/20220412215220.75677-1-alobakin@pm.meSigned-off-by: NJens Axboe <axboe@kernel.dk>
      b9768752
  8. 12 4月, 2022 1 次提交
  9. 07 4月, 2022 3 次提交
  10. 06 4月, 2022 1 次提交
  11. 04 4月, 2022 7 次提交
    • L
      Linux 5.18-rc1 · 31231092
      Linus Torvalds 提交于
      31231092
    • L
      Merge tag 'trace-v5.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · 09bb8856
      Linus Torvalds 提交于
      Pull more tracing updates from Steven Rostedt:
      
       - Rename the staging files to give them some meaning. Just
         stage1,stag2,etc, does not show what they are for
      
       - Check for NULL from allocation in bootconfig
      
       - Hold event mutex for dyn_event call in user events
      
       - Mark user events to broken (to work on the API)
      
       - Remove eBPF updates from user events
      
       - Remove user events from uapi header to keep it from being installed.
      
       - Move ftrace_graph_is_dead() into inline as it is called from hot
         paths and also convert it into a static branch.
      
      * tag 'trace-v5.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        tracing: Move user_events.h temporarily out of include/uapi
        ftrace: Make ftrace_graph_is_dead() a static branch
        tracing: Set user_events to BROKEN
        tracing/user_events: Remove eBPF interfaces
        tracing/user_events: Hold event_mutex during dyn_event_add
        proc: bootconfig: Add null pointer check
        tracing: Rename the staging files for trace_events
      09bb8856
    • L
      Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux · 34a53ff9
      Linus Torvalds 提交于
      Pull clk fix from Stephen Boyd:
       "A single revert to fix a boot regression seen when clk_put() started
        dropping rate range requests. It's best to keep various systems
        booting so we'll kick this out and try again next time"
      
      * tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux:
        Revert "clk: Drop the rate range on clk_put()"
      34a53ff9
    • L
      Merge tag 'x86-urgent-2022-04-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 8b5656bc
      Linus Torvalds 提交于
      Pull x86 fixes from Thomas Gleixner:
       "A set of x86 fixes and updates:
      
         - Make the prctl() for enabling dynamic XSTATE components correct so
           it adds the newly requested feature to the permission bitmap
           instead of overwriting it. Add a selftest which validates that.
      
         - Unroll string MMIO for encrypted SEV guests as the hypervisor
           cannot emulate it.
      
         - Handle supervisor states correctly in the FPU/XSTATE code so it
           takes the feature set of the fpstate buffer into account. The
           feature sets can differ between host and guest buffers. Guest
           buffers do not contain supervisor states. So far this was not an
           issue, but with enabling PASID it needs to be handled in the buffer
           offset calculation and in the permission bitmaps.
      
         - Avoid a gazillion of repeated CPUID invocations in by caching the
           values early in the FPU/XSTATE code.
      
         - Enable CONFIG_WERROR in x86 defconfig.
      
         - Make the X86 defconfigs more useful by adapting them to Y2022
           reality"
      
      * tag 'x86-urgent-2022-04-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/fpu/xstate: Consolidate size calculations
        x86/fpu/xstate: Handle supervisor states in XSTATE permissions
        x86/fpu/xsave: Handle compacted offsets correctly with supervisor states
        x86/fpu: Cache xfeature flags from CPUID
        x86/fpu/xsave: Initialize offset/size cache early
        x86/fpu: Remove unused supervisor only offsets
        x86/fpu: Remove redundant XCOMP_BV initialization
        x86/sev: Unroll string mmio with CC_ATTR_GUEST_UNROLL_STRING_IO
        x86/config: Make the x86 defconfigs a bit more usable
        x86/defconfig: Enable WERROR
        selftests/x86/amx: Update the ARCH_REQ_XCOMP_PERM test
        x86/fpu/xstate: Fix the ARCH_REQ_XCOMP_PERM implementation
      8b5656bc
    • L
      Merge tag 'core-urgent-2022-04-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · e235f419
      Linus Torvalds 提交于
      Pull RT signal fix from Thomas Gleixner:
       "Revert the RT related signal changes. They need to be reworked and
        generalized"
      
      * tag 'core-urgent-2022-04-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        Revert "signal, x86: Delay calling signals in atomic on RT enabled kernels"
      e235f419
    • L
      Merge tag 'dma-mapping-5.18-1' of git://git.infradead.org/users/hch/dma-mapping · 63d12cc3
      Linus Torvalds 提交于
      Pull more dma-mapping updates from Christoph Hellwig:
      
       - fix a regression in dma remap handling vs AMD memory encryption (me)
      
       - finally kill off the legacy PCI DMA API (Christophe JAILLET)
      
      * tag 'dma-mapping-5.18-1' of git://git.infradead.org/users/hch/dma-mapping:
        dma-mapping: move pgprot_decrypted out of dma_pgprot
        PCI/doc: cleanup references to the legacy PCI DMA API
        PCI: Remove the deprecated "pci-dma-compat.h" API
      63d12cc3
    • L
      Merge tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm · 5dee8721
      Linus Torvalds 提交于
      Pull ARM fixes from Russell King:
      
       - avoid unnecessary rebuilds for library objects
      
       - fix return value of __setup handlers
      
       - fix invalid input check for "crashkernel=" kernel option
      
       - silence KASAN warnings in unwind_frame
      
      * tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm:
        ARM: 9191/1: arm/stacktrace, kasan: Silence KASAN warnings in unwind_frame()
        ARM: 9190/1: kdump: add invalid input check for 'crashkernel=0'
        ARM: 9187/1: JIVE: fix return value of __setup handler
        ARM: 9189/1: decompressor: fix unneeded rebuilds of library objects
      5dee8721
  12. 03 4月, 2022 12 次提交