1. 18 Jan, 2024 1 commit
  2. 12 Jan, 2024 4 commits
    • Chen Yu's avatar
      tools/power turbostat: Do not print negative LPI residency · 227ed18f
      Chen Yu authored
      turbostat prints the abnormal SYS%LPI across suspend-to-idle:
      SYS%LPI = 114479815993277.50
      
      This is reproduced by:
      Run a freeze cycle, e.g. "sleepgraph -m freeze -rtcwake 15".
      Then do a reboot. After boot up, launch the suspend-idle-idle
      and check the SYS%LPI field.
      
      The slp_so residence counter is in LPIT table, and BIOS does not
      clears this register across reset. The PMC expects the OS to calculate
      the LPI residency based on the delta. However, there is an firmware
      issue that the LPIT gets cleared to 0 during the second suspend
      to idle after the reboot, which brings negative delta value.
      
      [lenb: updated to print "neg" upon this BIOS failure]
      Reported-by: default avatarTodd Brandt <todd.e.brandt@intel.com>
      Signed-off-by: default avatarChen Yu <yu.c.chen@intel.com>
      Signed-off-by: default avatarLen Brown <len.brown@intel.com>
      227ed18f
    • Peng Liu's avatar
      tools/power turbostat: Fix Bzy_MHz documentation typo · 0b13410b
      Peng Liu authored
      The code calculates Bzy_MHz by multiplying TSC_delta * APERF_delta/MPERF_delta
      The man page erroneously showed that TSC_delta was divided.
      Signed-off-by: default avatarPeng Liu <liupeng17@lenovo.com>
      Signed-off-by: default avatarLen Brown <len.brown@intel.com>
      0b13410b
    • Wyes Karny's avatar
      tools/power turbostat: Increase the limit for fd opened · 3ac1d14d
      Wyes Karny authored
      When running turbostat, a system with 512 cpus reaches the limit for
      maximum number of file descriptors that can be opened. To solve this
      problem, the limit is raised to 2^15, which is a large enough number.
      
      Below data is collected from AMD server systems while running turbostat:
      
      |-----------+-------------------------------|
      | # of cpus | # of opened fds for turbostat |
      |-----------+-------------------------------|
      | 128       | 260                           |
      |-----------+-------------------------------|
      | 192       | 388                           |
      |-----------+-------------------------------|
      | 512       | 1028                          |
      |-----------+-------------------------------|
      
      So, the new max limit would be sufficient up to 2^14 cpus (but this
      also depends on how many counters are enabled).
      Reviewed-by: default avatarDoug Smythies <dsmythies@telus.net>
      Tested-by: default avatarDoug Smythies <dsmythies@telus.net>
      Signed-off-by: default avatarWyes Karny <wyes.karny@amd.com>
      Signed-off-by: default avatarLen Brown <len.brown@intel.com>
      3ac1d14d
    • Doug Smythies's avatar
      tools/power turbostat: Fix added raw MSR output · e5f4e68e
      Doug Smythies authored
      When using --Summary mode, added MSRs in raw mode always
      print zeros. Print the actual register contents.
      
      Example, with patch:
      
      note the added column:
      --add msr0x64f,u32,package,raw,REASON
      
      Where:
      
      0x64F is MSR_CORE_PERF_LIMIT_REASONS
      
      Busy%   Bzy_MHz PkgTmp  PkgWatt CorWatt     REASON
      0.00    4800    35      1.42    0.76    0x00000000
      0.00    4801    34      1.42    0.76    0x00000000
      80.08   4531    66      108.17  107.52  0x08000000
      98.69   4530    66      133.21  132.54  0x08000000
      99.28   4505    66      128.26  127.60  0x0c000400
      99.65   4486    68      124.91  124.25  0x0c000400
      99.63   4483    68      124.90  124.25  0x0c000400
      79.34   4481    41      99.80   99.13   0x0c000000
      0.00    4801    41      1.40    0.73    0x0c000000
      
      Where, for the test processor (i5-10600K):
      
      PKG Limit #1: 125.000 Watts, 8.000000 sec
      MSR bit 26 = log; bit 10 = status
      
      PKG Limit #2: 136.000 Watts, 0.002441 sec
      MSR bit 27 = log; bit 11 = status
      
      Example, without patch:
      
      Busy%   Bzy_MHz PkgTmp  PkgWatt CorWatt     REASON
      0.01    4800    35      1.43    0.77    0x00000000
      0.00    4801    35      1.39    0.73    0x00000000
      83.49   4531    66      112.71  112.06  0x00000000
      98.69   4530    68      133.35  132.69  0x00000000
      99.31   4500    67      127.96  127.30  0x00000000
      99.63   4483    69      124.91  124.25  0x00000000
      99.61   4481    69      124.90  124.25  0x00000000
      99.61   4481    71      124.92  124.25  0x00000000
      59.35   4479    42      75.03   74.37   0x00000000
      0.00    4800    42      1.39    0.73    0x00000000
      0.00    4801    42      1.42    0.76    0x00000000
      
      c000000
      
      [lenb: simplified patch to apply only to package scope]
      Signed-off-by: default avatarDoug Smythies <dsmythies@telus.net>
      Signed-off-by: default avatarLen Brown <len.brown@intel.com>
      e5f4e68e
  3. 07 Jan, 2024 1 commit
  4. 06 Jan, 2024 2 commits
  5. 05 Jan, 2024 25 commits
  6. 04 Jan, 2024 7 commits
    • Linus Torvalds's avatar
      x86/csum: clean up `csum_partial' further · a476aae3
      Linus Torvalds authored
      Commit 688eb819 ("x86/csum: Improve performance of `csum_partial`")
      ended up improving the code generation for the IP csum calculations, and
      in particular special-casing the 40-byte case that is a hot case for
      IPv6 headers.
      
      It then had _another_ special case for the 64-byte unrolled loop, which
      did two chains of 32-byte blocks, which allows modern CPU's to improve
      performance by doing the chains in parallel thanks to renaming the carry
      flag.
      
      This just unifies the special cases and combines them into just one
      single helper the 40-byte csum case, and replaces the 64-byte case by a
      80-byte case that just does that single helper twice.  It avoids having
      all these different versions of inline assembly, and actually improved
      performance further in my tests.
      
      There was never anything magical about the 64-byte unrolled case, even
      though it happens to be a common size (and typically is the cacheline
      size).
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a476aae3
    • Noah Goldstein's avatar
      x86/csum: Remove unnecessary odd handling · 5d4acb62
      Noah Goldstein authored
      The special case for odd aligned buffers is unnecessary and mostly
      just adds overhead. Aligned buffers is the expectations, and even for
      unaligned buffer, the only case that was helped is if the buffer was
      1-byte from word aligned which is ~1/7 of the cases. Overall it seems
      highly unlikely to be worth to extra branch.
      
      It was left in the previous perf improvement patch because I was
      erroneously comparing the exact output of `csum_partial(...)`, but
      really we only need `csum_fold(csum_partial(...))` to match so its
      safe to remove.
      
      All csum kunit tests pass.
      Signed-off-by: default avatarNoah Goldstein <goldstein.w.n@gmail.com>
      Reviewed-by: default avatarEric Dumazet <edumazet@google.com>
      Reviewed-by: default avatarDavid Laight <david.laight@aculab.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      5d4acb62
    • Linus Torvalds's avatar
      Merge tag 'platform-drivers-x86-v6.7-7' of... · 5eff55d7
      Linus Torvalds authored
      Merge tag 'platform-drivers-x86-v6.7-7' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86
      
      Pull x86 platform driver fix from Ilpo Järvinen:
       "Unfortunately the P2SB deadlock fix broke some older HW and we need
        some time to figure out the best way to fix the issue so reverting the
        deadlock fix for now"
      
      * tag 'platform-drivers-x86-v6.7-7' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86:
        Revert "platform/x86: p2sb: Allow p2sb_bar() calls during PCI device probe"
      5eff55d7
    • Linus Torvalds's avatar
      Merge tag 'sound-6.7-final' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 08bd31ec
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "It became more than wished, partly because of vacations. But all
        changes are fairly device-specific and should be safe to apply:
      
         - A regression fix for Oops at ASoC HD-audio probe
      
         - A series of TAS2781 HD-audio codec fixes
      
         - A random build regression fix with SPI helpers
      
         - Minor endianness fix for USB-audio mixer code
      
         - ASoC FSL driver error handling fix
      
         - ASoC Mediatek driver register fix
      
         - A series of ASoC meson g12a driver fixes
      
         - A few usual HD-audio oneliner quirks"
      
      * tag 'sound-6.7-final' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: hda/realtek: Fix mute and mic-mute LEDs for HP ProBook 440 G6
        ASoC: meson: g12a-tohdmitx: Fix event generation for S/PDIF mux
        ASoC: meson: g12a-toacodec: Fix event generation
        ASoC: meson: g12a-tohdmitx: Validate written enum values
        ASoC: meson: g12a-toacodec: Validate written enum values
        ASoC: SOF: Intel: hda-codec: Delay the codec device registration
        ALSA: hda: cs35l41: fix building without CONFIG_SPI
        ALSA: hda/realtek: fix mute/micmute LEDs for a HP ZBook
        ALSA: hda/realtek: enable SND_PCI_QUIRK for hp pavilion 14-ec1xxx series
        ASoC: mediatek: mt8186: fix AUD_PAD_TOP register and offset
        ALSA: scarlett2: Convert meter levels from little-endian
        ALSA: hda/tas2781: remove sound controls in unbind
        ALSA: hda/tas2781: move set_drv_data outside tasdevice_init
        ALSA: hda/tas2781: fix typos in comment
        ALSA: hda/tas2781: do not use regcache
        ASoC: fsl_rpmsg: Fix error handler with pm_runtime_enable
      08bd31ec
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2024-01-04' of git://anongit.freedesktop.org/drm/drm · 5939a693
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "These were from over the holiday period, mainly i915, a couple of
        qaic, bridge and an mgag200.
      
        qaic:
         - fix GEM import
         - add quirk for soc version
      
        bridge:
         - parade-ps8640, ti-sn65dsi86: fix aux reads bounds
      
        mgag200:
         - fix gamma LUT init
      
        i915:
         - Fix bogus DPCD rev usage for DP phy test pattern setup
         - Fix handling of MMIO triggered reports in the OA buffer"
      
      * tag 'drm-fixes-2024-01-04' of git://anongit.freedesktop.org/drm/drm:
        drm/i915/perf: Update handling of MMIO triggered reports
        drm/i915/dp: Fix passing the correct DPCD_REV for drm_dp_set_phy_test_pattern
        drm/mgag200: Fix gamma lut not initialized for G200ER, G200EV, G200SE
        drm/bridge: ps8640: Fix size mismatch warning w/ len
        drm/bridge: ti-sn65dsi86: Never store more than msg->size bytes in AUX xfer
        drm/bridge: parade-ps8640: Never store more than msg->size bytes in AUX xfer
        accel/qaic: Implement quirk for SOC_HW_VERSION
        accel/qaic: Fix GEM import path code
      5939a693
    • Dmitry Safonov's avatar
      net/tcp: Only produce AO/MD5 logs if there are any keys · 4c8530dc
      Dmitry Safonov authored
      User won't care about inproper hash options in the TCP header if they
      don't use neither TCP-AO nor TCP-MD5. Yet, those logs can add up in
      syslog, while not being a real concern to the host admin:
      > kernel: TCP: TCP segment has incorrect auth options set for XX.20.239.12.54681->XX.XX.90.103.80 [S]
      
      Keep silent and avoid logging when there aren't any keys in the system.
      
      Side-note: I also defined static_branch_tcp_*() helpers to avoid more
      ifdeffery, going to remove more ifdeffery further with their help.
      Reported-by: default avatarChristian Kujau <lists@nerdbynature.de>
      Closes: https://lore.kernel.org/all/f6b59324-1417-566f-a976-ff2402718a8d@nerdbynature.de/Signed-off-by: default avatarDmitry Safonov <dima@arista.com>
      Reviewed-by: default avatarEric Dumazet <edumazet@google.com>
      Fixes: 2717b5ad ("net/tcp: Add tcp_hash_fail() ratelimited logs")
      Link: https://lore.kernel.org/r/20240104-tcp_hash_fail-logs-v1-1-ff3e1f6f9e72@arista.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      4c8530dc
    • Jakub Kicinski's avatar
      Merge branch '40GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/net-queue · 2e957f9c
      Jakub Kicinski authored
      Tony Nguyen says:
      
      ====================
      Intel Wired LAN Driver Updates 2024-01-03 (i40e, ice, igc)
      
      This series contains updates to i40e, ice, and igc drivers.
      
      Ke Xiao fixes use after free for unicast filters on i40e.
      
      Andrii restores VF MSI-X flag after PCI reset on i40e.
      
      Paul corrects admin queue link status structure to fulfill firmware
      expectations for ice.
      
      Rodrigo Cataldo corrects value used for hicredit calculations on igc.
      
      * '40GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/net-queue:
        igc: Fix hicredit calculation
        ice: fix Get link status data length
        i40e: Restore VF MSI-X state during PCI reset
        i40e: fix use-after-free in i40e_aqc_add_filters()
      ====================
      
      Link: https://lore.kernel.org/r/20240103193254.822968-1-anthony.l.nguyen@intel.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      2e957f9c