1. 04 Jul, 2024 2 commits
  2. 01 Jul, 2024 1 commit
    • Michael Ellerman's avatar
      selftests/sigaltstack: Fix ppc64 GCC build · 17c743b9
      Michael Ellerman authored
      Building the sigaltstack test with GCC on 64-bit powerpc errors with:
      
        gcc -Wall     sas.c  -o /home/michael/linux/.build/kselftest/sigaltstack/sas
        In file included from sas.c:23:
        current_stack_pointer.h:22:2: error: #error "implement current_stack_pointer equivalent"
           22 | #error "implement current_stack_pointer equivalent"
              |  ^~~~~
        sas.c: In function ‘my_usr1’:
        sas.c:50:13: error: ‘sp’ undeclared (first use in this function); did you mean ‘p’?
           50 |         if (sp < (unsigned long)sstack ||
              |             ^~
      
      This happens because GCC doesn't define __ppc__ for 64-bit builds, only
      32-bit builds. Instead use __powerpc__ to detect powerpc builds, which
      is defined by clang and GCC for 64-bit and 32-bit builds.
      
      Fixes: 05107edc ("selftests: sigaltstack: fix -Wuninitialized")
      Cc: stable@vger.kernel.org # v6.3+
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      Link: https://msgid.link/20240520062647.688667-1-mpe@ellerman.id.au
      17c743b9
  3. 28 Jun, 2024 16 commits
  4. 17 Jun, 2024 3 commits
  5. 11 Jun, 2024 1 commit
  6. 04 Jun, 2024 4 commits
    • Nathan Lynch's avatar
      powerpc/mm/drmem: Silence drmem_init() early return · 11e6e6d8
      Nathan Lynch authored
      It's not an error or noteworthy condition if the
      "ibm,dynamic-reconfiguration-memory" node isn't present.
      
      Drop the needless message.
      Signed-off-by: default avatarNathan Lynch <nathanl@linux.ibm.com>
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      Link: https://msgid.link/20240603-silence-drmem_init-v1-1-e9d71646bc3d@linux.ibm.com
      11e6e6d8
    • Haren Myneni's avatar
      powerpc/pseries/vas: Use usleep_range() to support HCALL delay · 43ac9f5c
      Haren Myneni authored
      VAS allocate, modify and deallocate HCALLs returns
      H_LONG_BUSY_ORDER_1_MSEC or H_LONG_BUSY_ORDER_10_MSEC for busy
      delay and expects OS to reissue HCALL after that delay. But using
      msleep() will often sleep at least 20 msecs even though the
      hypervisor suggests OS reissue these HCALLs after 1 or 10msecs.
      
      The open and close VAS window functions hold mutex and then issue
      these HCALLs. So these operations can take longer than the
      necessary when multiple threads issue open or close window APIs
      simultaneously, especially might affect the performance in the
      case of repeat open/close APIs for each compression request.
      
      Multiple tasks can open / close VAS windows at the same time
      which depends on the available VAS credits. For example, 240
      cores system provides 4800 VAS credits. It means 4800 tasks can
      execute open VAS windows HCALLs with the mutex. Since each
      msleep() will often sleep more than 20 msecs, some tasks are
      waiting more than 120 secs to acquire mutex. It can cause hung
      traces for these tasks in dmesg due to mutex contention around
      open/close HCALLs.
      
      Instead of msleep(), use usleep_range() to ensure sleep with
      the expected value before issuing HCALL again. So since each
      task sleep 10 msecs maximum, this patch allow more tasks can
      issue open/close VAS calls without any hung traces in the
      dmesg.
      Signed-off-by: default avatarHaren Myneni <haren@linux.ibm.com>
      Suggested-by: default avatarNathan Lynch <nathanl@linux.ibm.com>
      Reviewed-by: default avatarNathan Lynch <nathanl@linux.ibm.com>
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      Link: https://msgid.link/20240116055910.421605-1-haren@linux.ibm.com
      43ac9f5c
    • Nilay Shroff's avatar
      powerpc/numa: Online a node if PHB is attached. · 11981816
      Nilay Shroff authored
      In the current design, a numa-node is made online only if that node is
      attached to cpu/memory. With this design, if any PCI/IO device is found
      to be attached to a numa-node which is not online then the numa-node
      id of the corresponding PCI/IO device is set to NUMA_NO_NODE(-1). This
      design may negatively impact the performance of PCIe device if the
      numa-node assigned to PCIe device is -1 because in such case we may not
      be able to accurately calculate the distance between two nodes.
      
      The multi-controller NVMe PCIe disk has an issue with calculating the
      node distance if the PCIe NVMe controller is attached to a PCI host
      bridge which has numa-node id value set to NUMA_NO_NODE. This patch
      helps fix this ensuring that a cpu/memory less numa node is made online
      if it's attached to PCI host bridge.
      Signed-off-by: default avatarNilay Shroff <nilay@linux.ibm.com>
      Reviewed-by: default avatarSrikar Dronamraju <srikar@linux.ibm.com>
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      Link: https://msgid.link/20240517142531.3273464-3-nilay@linux.ibm.com
      11981816
    • Gaurav Batra's avatar
      powerpc/pseries/iommu: Split Dynamic DMA Window to be used in Hybrid mode · ff5163bb
      Gaurav Batra authored
      Dynamic DMA Window (DDW) supports TCEs that are backed by 2MB page
      size. In most configurations, DDW is big enough to pre-map all of LPAR
      memory for IO. Pre-mapping of memory for DMA results in improvements in
      IO performance.
      
      Persistent memory, vPMEM, can be assigned to an LPAR as well. vPMEM is
      not contiguous with LPAR memory and usually is assigned at high memory
      addresses.  This makes is not possible to pre-map both vPMEM and LPAR
      memory in the same DDW.
      
      For a dedicated adapter this limitation is not an issue. Dedicated
      adapters can have both Default DMA window, which is backed by 4K page
      size and a DDW backed by 2MB page size TCEs. In this scenario, LPAR
      memory is pre-mapped in the DDW.  Any DMA going to the vPMEM is routed
      via dynamically allocated TCEs in the default window.
      
      The issue arises with SR-IOV adapters. There is only one DMA window -
      either Default or DDW. If an LPAR has vPMEM assigned, memory is not
      pre-mapped in the DDW since TCEs needs to be allocated for vPMEM as well.
      In this case, DDW is created and TCEs are dynamically allocated for both
      vPMEM and LPAR memory.
      
      Today, DDW is only used in single mode - direct mapped TCEs or
      dynamically mapped TCEs. This enhancement breaks a single DDW in 2
      regions -
      
      	1. First region to pre-map LPAR memory
      	2. Second region to dynamically allocate TCEs for IO to vPMEM
      
      The DDW is split only if it is big enough to pre-map complete LPAR
      memory and still have some space left to dynamically map vPMEM. Maximum
      size possible DDW is created as permitted by the Hypervisor.
      Signed-off-by: default avatarGaurav Batra <gbatra@linux.ibm.com>
      Reviewed-by: default avatarBrian King <brking@linux.vnet.ibm.com>
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      Link: https://msgid.link/20240514014608.35537-1-gbatra@linux.ibm.com
      ff5163bb
  7. 03 Jun, 2024 1 commit
  8. 02 Jun, 2024 8 commits
  9. 01 Jun, 2024 4 commits
    • Linus Torvalds's avatar
      Merge tag '6.10-rc1-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6 · 89be4025
      Linus Torvalds authored
      Pull smb client fixes from Steve French:
       "Two small smb3 fixes:
      
         - Fix socket creation with sfu mount option (spotted by test generic/423)
      
         - Minor cleanup: fix missing description in two files"
      
      * tag '6.10-rc1-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: fix creating sockets when using sfu mount options
        fs: smb: common: add missing MODULE_DESCRIPTION() macros
      89be4025
    • Linus Torvalds's avatar
      Merge tag 'kbuild-fixes-v6.10' of... · ec9eeb89
      Linus Torvalds authored
      Merge tag 'kbuild-fixes-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
      
      Pull Kbuild fixes from Masahiro Yamada:
      
       - Fix a Kconfig bug regarding comparisons to 'm' or 'n'
      
       - Replace missed $(srctree)/$(src)
      
       - Fix unneeded kallsyms step 3
      
       - Remove incorrect "compatible" properties from image nodes in
         image.fit
      
       - Improve gen_kheaders.sh
      
       - Fix 'make dt_binding_check'
      
       - Clean up unnecessary code
      
      * tag 'kbuild-fixes-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
        dt-bindings: kbuild: Fix dt_binding_check on unconfigured build
        kheaders: use `command -v` to test for existence of `cpio`
        kheaders: explicitly define file modes for archived headers
        scripts/make_fit: Drop fdt image entry compatible string
        kbuild: remove a stale comment about cleaning in link-vmlinux.sh
        kbuild: fix short log for AS in link-vmlinux.sh
        kbuild: change scripts/mksysmap into sed script
        kbuild: avoid unneeded kallsyms step 3
        kbuild: scripts/gdb: Replace missed $(srctree)/$(src) w/ $(src)
        kconfig: remove redundant check in expr_join_or()
        kconfig: fix comparison to constant symbols, 'm', 'n'
        kconfig: remove unused expr_is_no()
      ec9eeb89
    • Linus Torvalds's avatar
      Merge tag 'xfs-6.10-fixes-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · bbeb1219
      Linus Torvalds authored
      Pull xfs fixes from Chandan Babu:
      
       - Fix a livelock by dropping an xfarray sortinfo folio when an error
         is encountered
      
       - During extended attribute operations, Initialize transaction
         reservation computation based on attribute operation code
      
       - Relax symbolic link's ondisk verification code to allow symbolic
         links with short remote targets
      
       - Prevent soft lockups when unmapping file ranges and also during
         remapping blocks during a reflink operation
      
       - Fix compilation warnings when XFS is built with W=1 option
      
      * tag 'xfs-6.10-fixes-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
        xfs: Add cond_resched to block unmap range and reflink remap path
        xfs: don't open-code u64_to_user_ptr
        xfs: allow symlinks with short remote targets
        xfs: fix xfs_init_attr_trans not handling explicit operation codes
        xfs: drop xfarray sortinfo folio on error
        xfs: Stop using __maybe_unused in xfs_alloc.c
        xfs: Clear W=1 warning in xfs_iwalk_run_callbacks()
      bbeb1219
    • Linus Torvalds's avatar
      Merge tag 'tty-6.10-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · f26ee67a
      Linus Torvalds authored
      Pull tty fix from Greg KH:
       "Here is a single revert for a much-reported regression in 6.10-rc1
        when it comes to a few older architectures.
      
        Turns out that the VT ioctls don't work the same across all cpu types
        because of some old compatibility requrements for stuff like alpha and
        powerpc. So revert the change that attempted to have them use the
        _IO() macros and go back to the known-working values instead.
      
        This has NOT been in linux-next but has had many reports that it fixes
        the issue with 6.10-rc1"
      
      * tag 'tty-6.10-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
        Revert "VT: Use macros to define ioctls"
      f26ee67a