1. 09 6月, 2023 9 次提交
    • O
      !1055 Complementing PTT functions to the openEuler-22.03-LTS-SP2 · 93f0727d
      openeuler-ci-bot 提交于
      Merge Pull Request from: @lujunhuaHW 
       
      patch 1:
      From 60ab0114a9533d8181c381633a16d1612bd49f4e Mon Sep 17 00:00:00 2001
      From: Yicong Yang yangyicong@hisilicon.com
      Date: Fri, 31 Mar 2023 14:05:12 +0800
      Subject: [PATCH 1/5] hwtracing: hisi_ptt: Factor out filter allocation and
      release operation
      
      Factor out the allocation and release of filters. This will make it easier
      to extend and manage the function of the filter.
      
      patch 2:
      From d6574cff3915fc6c8ddbe9e802aaf6c55458209c Mon Sep 17 00:00:00 2001
      From: Yicong Yang yangyicong@hisilicon.com
      Date: Tue, 11 Apr 2023 11:54:45 +0800
      Subject: [PATCH 2/5] hwtracing: hisi_ptt: Add support for dynamically updating
      the filter list
      
      The PCIe devices supported by the PTT trace can be removed/rescanned by
      hotplug or through sysfs. Add support for dynamically updating the
      available filter list by registering a PCI bus notifier block. Then user
      can always get latest information about available tracing filters and
      driver can block the invalid filters of which related devices no longer
      exist in the system.
      
      patch 3:
      From 25ae6e1f2d62f781bde4ffc9aaea4dbf80b73baa Mon Sep 17 00:00:00 2001
      From: Yicong Yang yangyicong@hisilicon.com
      Date: Tue, 11 Apr 2023 11:58:55 +0800
      Subject: [PATCH 3/5] hwtracing: hisi_ptt: Export available filters through
      sysfs
      
      The PTT can only filter the traced TLP headers by the Root Ports or the
      Requester ID of the Endpoint, which are located on the same PCIe core of
      the PTT device. The filter value used is derived from the BDF number of
      the supported Root Port or the Endpoint. It's not friendly enough for the
      users since it requires the user to be familiar enough with the platform
      and calculate the filter value manually.
      
      This patch export the available filters through sysfs. Each available
      filters is presented as an individual file with the name of the BDF
      number of the related PCIe device. The files are created under
      (PTTPMUdir)/availablerootportfiltersand
      (PTT PMU dir)/available_requester_filters respectively. The filter
      value can be known by reading the related file.
      
      Then the users can easily know the available filters for trace and get
      the filter values without calculating.
      
      patch 4:
      From 480da5e8c8b2d9ae34591ae3055a21ae89b008de Mon Sep 17 00:00:00 2001
      From: Yicong Yang yangyicong@hisilicon.com
      Date: Wed, 22 Feb 2023 14:30:26 +0800
      Subject: [PATCH 4/5] hwtracing: hisi_ptt: Advertise PERF_PMU_CAP_NO_EXCLUDE
      for PTT PMU
      
      The PTT trace collects PCIe TLP headers from the PCIe link and don't
      have the ability to exclude certain context. It doesn't support itrace
      as well. So only advertise PERF_PMU_CAP_NO_EXCLUDE. This will greatly
      save the storage of final data. Tested tracing idle link for ~15s,
      without this patch we'll collect ~28.682MB data for context related
      information and with this patch it reduced to ~0.226MB.
      
      patch 5:
      From 2cf91daea11e1f5c2ba0ce187a156fcfadbcf2d1 Mon Sep 17 00:00:00 2001
      From: Yicong Yang yangyicong@hisilicon.com
      Date: Thu, 1 Jun 2023 16:47:10 +0800
      Subject: [PATCH 5/5] hwtracing: hisi_ptt: Fix potential sleep in atomic
      context
      
      We're using pci_irq_vector() to obtain the interrupt number and then
      bind it to the CPU start perf under the protection of spinlock in
      pmu::start(). pci_irq_vector() might sleep since [1] because it will
      call msi_domain_get_virq() to get the MSI interrupt number and it
      needs to acquire dev->msi.data->mutex. Getting a mutex will sleep on
      contention. So use pci_irq_vector() in an atomic context is problematic.
      
      This patch cached the interrupt number in the probe() and uses the
      cached data instead to avoid potential sleep. 
       
      Link:https://gitee.com/openeuler/kernel/pulls/1055 
      
      Signed-off-by: Jialin Zhang <zhangjialin11@huawei.com> 
      93f0727d
    • O
      !1005 scsi: hisi_sas: A group of SAS-related bugfixes · 9ea181a0
      openeuler-ci-bot 提交于
      Merge Pull Request from: @xia-bing1 
       
      This series contain some fixes including:
        -Add slave_destroy interface for v3 hw
        -Try more retries of START_STOP when resuming scsi device
        -Block requests before take debugfs snapshot
        -Check usage count only when the runtime PM status is RPM_SUSPENDING 
       
      Link:https://gitee.com/openeuler/kernel/pulls/1005 
      
      Reviewed-by: Yihang Li <liyihang9@huawei.com> 
      Signed-off-by: Jialin Zhang <zhangjialin11@huawei.com> 
      9ea181a0
    • O
      !1052 [sync] PR-1027: scripts: Fix issue of module signing with openssl 3.x · 92adf595
      openeuler-ci-bot 提交于
      Merge Pull Request from: @openeuler-sync-bot 
       
      
      Origin pull request: 
      https://gitee.com/openeuler/kernel/pulls/1027 
       
      The SM2 signature for module signing is only supported
      with openEuler openssl 1.1.1. Fix the compile option to
      avoid compilation failure with openssl 3.x. 
       
      Link:https://gitee.com/openeuler/kernel/pulls/1052 
      
      Reviewed-by: Zhu Jianwei <zhujianwei7@huawei.com> 
      Signed-off-by: Zhu Jianwei <zhujianwei7@huawei.com> 
      92adf595
    • O
      !1039 [sync] PR-1032: bugfix the lost interruption problem after live migration · 3854ff31
      openeuler-ci-bot 提交于
      Merge Pull Request from: @openeuler-sync-bot 
       
      
      Origin pull request: 
      https://gitee.com/openeuler/kernel/pulls/1032 
       
      The problem of service interruption and loss may be triggered during
      live migration. In order to ensure normal business, it is necessary to
      resend an interrupt in the live migration driver.
      
      And in the QM service driver, it is guaranteed that the retransmission
      interrupt can be received normally.
      
      issue: https://gitee.com/openeuler/kernel/issues/I7BTMW 
       
      Link:https://gitee.com/openeuler/kernel/pulls/1039 
      
      Reviewed-by: Yang Shen <shenyang39@huawei.com> 
      Signed-off-by: Jialin Zhang <zhangjialin11@huawei.com> 
      3854ff31
    • Y
      hwtracing: hisi_ptt: Fix potential sleep in atomic context · 5a848148
      Yicong Yang 提交于
      driver inclusion
      category: bugfix
      bugzilla: https://gitee.com/openeuler/kernel/issues/I7BZYX
      CVE: NA
      
      Reference: NA
      
      --------------------------------------------------------------------------
      
      From: Yicong Yang <yangyicong@hisilicon.com>
      
      We're using pci_irq_vector() to obtain the interrupt number and then
      bind it to the CPU start perf under the protection of spinlock in
      pmu::start(). pci_irq_vector() might sleep since [1] because it will
      call msi_domain_get_virq() to get the MSI interrupt number and it
      needs to acquire dev->msi.data->mutex. Getting a mutex will sleep on
      contention. So use pci_irq_vector() in an atomic context is problematic.
      
      This patch cached the interrupt number in the probe() and uses the
      cached data instead to avoid potential sleep.
      
      [1] commit 82ff8e6b ("PCI/MSI: Use msi_get_virq() in pci_get_vector()")
      Fixes: ff0de066 ("hwtracing: hisi_ptt: Add trace function support for HiSilicon PCIe Tune and Trace device")
      Reviewed-by: NJonathan Cameron <Jonathan.Cameron@huawei.com>
      Signed-off-by: NYicong Yang <yangyicong@hisilicon.com>
      5a848148
    • Y
      hwtracing: hisi_ptt: Advertise PERF_PMU_CAP_NO_EXCLUDE for PTT PMU · c6071af9
      Yicong Yang 提交于
      driver inclusion
      category: bugfix
      bugzilla: https://gitee.com/openeuler/kernel/issues/I7BZYX
      CVE: NA
      
      Reference: NA
      
      --------------------------------------------------------------------------
      
      From: Yicong Yang <yangyicong@hisilicon.com>
      
      The PTT trace collects PCIe TLP headers from the PCIe link and don't
      have the ability to exclude certain context. It doesn't support itrace
      as well. So only advertise PERF_PMU_CAP_NO_EXCLUDE. This will greatly
      save the storage of final data. Tested tracing idle link for ~15s,
      without this patch we'll collect ~28.682MB data for context related
      information and with this patch it reduced to ~0.226MB.
      Reviewed-by: NJonathan Cameron <Jonathan.Cameron@huawei.com>
      Signed-off-by: NYicong Yang <yangyicong@hisilicon.com>
      c6071af9
    • Y
      hwtracing: hisi_ptt: Export available filters through sysfs · 4225101e
      Yicong Yang 提交于
      driver inclusion
      category: bugfix
      bugzilla: https://gitee.com/openeuler/kernel/issues/I7BZYX
      CVE: NA
      
      Reference: NA
      
      --------------------------------------------------------------------------
      
      From: Yicong Yang <yangyicong@hisilicon.com>
      
      The PTT can only filter the traced TLP headers by the Root Ports or the
      Requester ID of the Endpoint, which are located on the same PCIe core of
      the PTT device. The filter value used is derived from the BDF number of
      the supported Root Port or the Endpoint. It's not friendly enough for the
      users since it requires the user to be familiar enough with the platform
      and calculate the filter value manually.
      
      This patch export the available filters through sysfs. Each available
      filters is presented as an individual file with the name of the BDF
      number of the related PCIe device. The files are created under
      $(PTT PMU dir)/available_root_port_filters and
      $(PTT PMU dir)/available_requester_filters respectively. The filter
      value can be known by reading the related file.
      
      Then the users can easily know the available filters for trace and get
      the filter values without calculating.
      Reviewed-by: NJonathan Cameron <Jonathan.Cameron@huawei.com>
      Signed-off-by: NYicong Yang <yangyicong@hisilicon.com>
      4225101e
    • Y
      hwtracing: hisi_ptt: Add support for dynamically updating the filter list · fa625f31
      Yicong Yang 提交于
      driver inclusion
      category: bugfix
      bugzilla: https://gitee.com/openeuler/kernel/issues/I7BZYX
      CVE: NA
      
      Reference: NA
      
      --------------------------------------------------------------------------
      
      From: Yicong Yang <yangyicong@hisilicon.com>
      
      The PCIe devices supported by the PTT trace can be removed/rescanned by
      hotplug or through sysfs.  Add support for dynamically updating the
      available filter list by registering a PCI bus notifier block. Then user
      can always get latest information about available tracing filters and
      driver can block the invalid filters of which related devices no longer
      exist in the system.
      Reviewed-by: NJonathan Cameron <Jonathan.Cameron@huawei.com>
      Signed-off-by: NYicong Yang <yangyicong@hisilicon.com>
      fa625f31
    • Y
      hwtracing: hisi_ptt: Factor out filter allocation and release operation · e250f531
      Yicong Yang 提交于
      driver inclusion
      category: bugfix
      bugzilla: https://gitee.com/openeuler/kernel/issues/I7BZYX
      CVE: NA
      
      Reference: NA
      
      --------------------------------------------------------------------------
      
      From: Yicong Yang <yangyicong@hisilicon.com>
      
      Factor out the allocation and release of filters. This will make it easier
      to extend and manage the function of the filter.
      Reviewed-by: NJonathan Cameron <Jonathan.Cameron@huawei.com>
      Signed-off-by: NYicong Yang <yangyicong@hisilicon.com>
      e250f531
  2. 08 6月, 2023 31 次提交