mailweb.openeuler.org
Manage this list

Keyboard Shortcuts

Thread View

  • j: Next unread message
  • k: Previous unread message
  • j a: Jump to all threads
  • j l: Jump to MailingList overview

Kernel

Threads by month
  • ----- 2025 -----
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2024 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2023 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2022 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2021 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2020 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2019 -----
  • December
kernel@openeuler.org

  • 40 participants
  • 18647 discussions
[PATCH OLK-6.6 0/2] mm: convert mm's rss stats to use atomic mode
by Peng Zhang 20 Apr '24

20 Apr '24
From: ZhangPeng <zhangpeng362(a)huawei.com> Since commit f1a7941243c1 ("mm: convert mm's rss stats into percpu_counter"), the rss_stats have converted into percpu_counter, which convert the error margin from (nr_threads * 64) to approximately (nr_cpus ^ 2). However, the new percpu allocation in mm_init() causes a performance regression on fork/exec/shell. Even after commit 14ef95be6f55 ("kernel/fork: group allocation/free of per-cpu counters for mm struct"), the performance of fork/exec/shell is still poor compared to previous kernel versions. To mitigate performance regression, we delay the allocation of percpu memory for rss_stats. Therefore, we convert mm's rss stats to use percpu_counter atomic mode. For single-thread processes, rss_stat is in atomic mode, which reduces the memory consumption and performance regression caused by using percpu. For multiple-thread processes, rss_stat is switched to the percpu mode to reduce the error margin. We convert rss_stats from atomic mode to percpu mode only when the second thread is created. After lmbench test, we can get 2% ~ 4% performance improvement for lmbench fork_proc/exec_proc/shell_proc and 6.7% performance improvement for lmbench page_fault (before batch mode[1]). The test results are as follows: base base+revert base+this patch fork_proc 416.3ms 400.0ms (3.9%) 398.6ms (4.2%) exec_proc 2095.9ms 2061.1ms (1.7%) 2047.7ms (2.3%) shell_proc 3028.2ms 2954.7ms (2.4%) 2961.2ms (2.2%) page_fault 0.3603ms 0.3358ms (6.8%) 0.3361ms (6.7%) [1] https://lore.kernel.org/all/20240412064751.119015-1-wangkefeng.wang@huawei.… ZhangPeng (2): percpu_counter: introduce atomic mode for percpu_counter mm: convert mm's rss stats to use atomic mode include/linux/mm.h | 61 ++++++++++++++++++++++++++++++---- include/linux/percpu_counter.h | 48 ++++++++++++++++++++++++-- include/trace/events/kmem.h | 4 +-- kernel/fork.c | 28 ++++++++++++++-- lib/percpu_counter.c | 35 +++++++++++++++++-- 5 files changed, 159 insertions(+), 17 deletions(-) -- 2.25.1
3 4
0 0
[PATCH OLK-6.6] scsi: fnic: Move fnic_fnic_flush_tx() to a work queue
by Li Lingfeng 20 Apr '24

20 Apr '24
From: Lee Duncan <lduncan(a)suse.com> mainline inclusion from mainline-v6.8-rc5 commit 379a58caa19930e010b7efa1c1f3b9411d3d2ca3 category: bugfix bugzilla: 189801 CVE: CVE-2024-26917 Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?… -------------------------------- Rather than call 'fnic_flush_tx()' from interrupt context we should be moving it onto a work queue to avoid any locking issues. Fixes: 1a1975551943 ("scsi: fcoe: Fix potential deadlock on &fip->ctlr_lock") Co-developed-by: Hannes Reinecke <hare(a)suse.de> Signed-off-by: Hannes Reinecke <hare(a)suse.de> Signed-off-by: Lee Duncan <lduncan(a)suse.com> Link: https://lore.kernel.org/r/ce5ffa5d0ff82c2b2e283b3b4bff23291d49b05c.17075007… Signed-off-by: Martin K. Petersen <martin.petersen(a)oracle.com> Conflict: drivers/scsi/fnic/fnic.h Commit 554a14826020 ("scsi: fnic: Refactor and redefine fnic.h for multiqueue") in mainline add copy_wq_base in fnic. Signed-off-by: Li Lingfeng <lilingfeng3(a)huawei.com> --- drivers/scsi/fnic/fnic.h | 3 ++- drivers/scsi/fnic/fnic_fcs.c | 5 +++-- drivers/scsi/fnic/fnic_main.c | 1 + drivers/scsi/fnic/fnic_scsi.c | 4 ++-- 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/drivers/scsi/fnic/fnic.h b/drivers/scsi/fnic/fnic.h index 22cef283b2b9..dd1d248445d2 100644 --- a/drivers/scsi/fnic/fnic.h +++ b/drivers/scsi/fnic/fnic.h @@ -286,6 +286,7 @@ struct fnic { struct work_struct link_work; struct work_struct frame_work; + struct work_struct flush_work; struct sk_buff_head frame_queue; struct sk_buff_head tx_queue; @@ -341,7 +342,7 @@ void fnic_handle_event(struct work_struct *work); int fnic_rq_cmpl_handler(struct fnic *fnic, int); int fnic_alloc_rq_frame(struct vnic_rq *rq); void fnic_free_rq_buf(struct vnic_rq *rq, struct vnic_rq_buf *buf); -void fnic_flush_tx(struct fnic *); +void fnic_flush_tx(struct work_struct *work); void fnic_eth_send(struct fcoe_ctlr *, struct sk_buff *skb); void fnic_set_port_id(struct fc_lport *, u32, struct fc_frame *); void fnic_update_mac(struct fc_lport *, u8 *new); diff --git a/drivers/scsi/fnic/fnic_fcs.c b/drivers/scsi/fnic/fnic_fcs.c index 79ddfaaf71a4..daebe808579a 100644 --- a/drivers/scsi/fnic/fnic_fcs.c +++ b/drivers/scsi/fnic/fnic_fcs.c @@ -1174,7 +1174,7 @@ int fnic_send(struct fc_lport *lp, struct fc_frame *fp) /** * fnic_flush_tx() - send queued frames. - * @fnic: fnic device + * @work: pointer to work element * * Send frames that were waiting to go out in FC or Ethernet mode. * Whenever changing modes we purge queued frames, so these frames should @@ -1182,8 +1182,9 @@ int fnic_send(struct fc_lport *lp, struct fc_frame *fp) * * Called without fnic_lock held. */ -void fnic_flush_tx(struct fnic *fnic) +void fnic_flush_tx(struct work_struct *work) { + struct fnic *fnic = container_of(work, struct fnic, flush_work); struct sk_buff *skb; struct fc_frame *fp; diff --git a/drivers/scsi/fnic/fnic_main.c b/drivers/scsi/fnic/fnic_main.c index f27f9319e0b2..de369bb03e3e 100644 --- a/drivers/scsi/fnic/fnic_main.c +++ b/drivers/scsi/fnic/fnic_main.c @@ -792,6 +792,7 @@ static int fnic_probe(struct pci_dev *pdev, const struct pci_device_id *ent) spin_lock_init(&fnic->vlans_lock); INIT_WORK(&fnic->fip_frame_work, fnic_handle_fip_frame); INIT_WORK(&fnic->event_work, fnic_handle_event); + INIT_WORK(&fnic->flush_work, fnic_flush_tx); skb_queue_head_init(&fnic->fip_frame_queue); INIT_LIST_HEAD(&fnic->evlist); INIT_LIST_HEAD(&fnic->vlans); diff --git a/drivers/scsi/fnic/fnic_scsi.c b/drivers/scsi/fnic/fnic_scsi.c index 416d81954819..d8b11880e19f 100644 --- a/drivers/scsi/fnic/fnic_scsi.c +++ b/drivers/scsi/fnic/fnic_scsi.c @@ -681,7 +681,7 @@ static int fnic_fcpio_fw_reset_cmpl_handler(struct fnic *fnic, spin_unlock_irqrestore(&fnic->fnic_lock, flags); - fnic_flush_tx(fnic); + queue_work(fnic_event_queue, &fnic->flush_work); reset_cmpl_handler_end: fnic_clear_state_flags(fnic, FNIC_FLAGS_FWRESET); @@ -737,7 +737,7 @@ static int fnic_fcpio_flogi_reg_cmpl_handler(struct fnic *fnic, } spin_unlock_irqrestore(&fnic->fnic_lock, flags); - fnic_flush_tx(fnic); + queue_work(fnic_event_queue, &fnic->flush_work); queue_work(fnic_event_queue, &fnic->frame_work); } else { spin_unlock_irqrestore(&fnic->fnic_lock, flags); -- 2.31.1
2 1
0 0
[PATCH OLK-5.10] scsi: fnic: Move fnic_fnic_flush_tx() to a work queue
by Li Lingfeng 20 Apr '24

20 Apr '24
From: Lee Duncan <lduncan(a)suse.com> mainline inclusion from mainline-v6.8-rc5 commit 379a58caa19930e010b7efa1c1f3b9411d3d2ca3 category: bugfix bugzilla: https://gitee.com/src-openeuler/kernel/issues/I9HL6L CVE: CVE-2024-26917 Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?… -------------------------------- Rather than call 'fnic_flush_tx()' from interrupt context we should be moving it onto a work queue to avoid any locking issues. Fixes: 1a1975551943 ("scsi: fcoe: Fix potential deadlock on &fip->ctlr_lock") Co-developed-by: Hannes Reinecke <hare(a)suse.de> Signed-off-by: Hannes Reinecke <hare(a)suse.de> Signed-off-by: Lee Duncan <lduncan(a)suse.com> Link: https://lore.kernel.org/r/ce5ffa5d0ff82c2b2e283b3b4bff23291d49b05c.17075007… Signed-off-by: Martin K. Petersen <martin.petersen(a)oracle.com> Conflict: drivers/scsi/fnic/fnic.h Commit 554a14826020 ("scsi: fnic: Refactor and redefine fnic.h for multiqueue") in mainline add copy_wq_base in fnic. Signed-off-by: Li Lingfeng <lilingfeng3(a)huawei.com> --- drivers/scsi/fnic/fnic.h | 3 ++- drivers/scsi/fnic/fnic_fcs.c | 5 +++-- drivers/scsi/fnic/fnic_main.c | 1 + drivers/scsi/fnic/fnic_scsi.c | 4 ++-- 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/drivers/scsi/fnic/fnic.h b/drivers/scsi/fnic/fnic.h index 477513dc23b7..cd39822778f7 100644 --- a/drivers/scsi/fnic/fnic.h +++ b/drivers/scsi/fnic/fnic.h @@ -281,6 +281,7 @@ struct fnic { struct work_struct link_work; struct work_struct frame_work; + struct work_struct flush_work; struct sk_buff_head frame_queue; struct sk_buff_head tx_queue; @@ -336,7 +337,7 @@ void fnic_handle_event(struct work_struct *work); int fnic_rq_cmpl_handler(struct fnic *fnic, int); int fnic_alloc_rq_frame(struct vnic_rq *rq); void fnic_free_rq_buf(struct vnic_rq *rq, struct vnic_rq_buf *buf); -void fnic_flush_tx(struct fnic *); +void fnic_flush_tx(struct work_struct *work); void fnic_eth_send(struct fcoe_ctlr *, struct sk_buff *skb); void fnic_set_port_id(struct fc_lport *, u32, struct fc_frame *); void fnic_update_mac(struct fc_lport *, u8 *new); diff --git a/drivers/scsi/fnic/fnic_fcs.c b/drivers/scsi/fnic/fnic_fcs.c index e3384afb7cbd..90e81c8c63b1 100644 --- a/drivers/scsi/fnic/fnic_fcs.c +++ b/drivers/scsi/fnic/fnic_fcs.c @@ -1184,7 +1184,7 @@ int fnic_send(struct fc_lport *lp, struct fc_frame *fp) /** * fnic_flush_tx() - send queued frames. - * @fnic: fnic device + * @work: pointer to work element * * Send frames that were waiting to go out in FC or Ethernet mode. * Whenever changing modes we purge queued frames, so these frames should @@ -1192,8 +1192,9 @@ int fnic_send(struct fc_lport *lp, struct fc_frame *fp) * * Called without fnic_lock held. */ -void fnic_flush_tx(struct fnic *fnic) +void fnic_flush_tx(struct work_struct *work) { + struct fnic *fnic = container_of(work, struct fnic, flush_work); struct sk_buff *skb; struct fc_frame *fp; diff --git a/drivers/scsi/fnic/fnic_main.c b/drivers/scsi/fnic/fnic_main.c index 4f7befb43d60..16c2cdacd0a6 100644 --- a/drivers/scsi/fnic/fnic_main.c +++ b/drivers/scsi/fnic/fnic_main.c @@ -776,6 +776,7 @@ static int fnic_probe(struct pci_dev *pdev, const struct pci_device_id *ent) spin_lock_init(&fnic->vlans_lock); INIT_WORK(&fnic->fip_frame_work, fnic_handle_fip_frame); INIT_WORK(&fnic->event_work, fnic_handle_event); + INIT_WORK(&fnic->flush_work, fnic_flush_tx); skb_queue_head_init(&fnic->fip_frame_queue); INIT_LIST_HEAD(&fnic->evlist); INIT_LIST_HEAD(&fnic->vlans); diff --git a/drivers/scsi/fnic/fnic_scsi.c b/drivers/scsi/fnic/fnic_scsi.c index d1f7b84bbfe8..2b714a4bdb6a 100644 --- a/drivers/scsi/fnic/fnic_scsi.c +++ b/drivers/scsi/fnic/fnic_scsi.c @@ -695,7 +695,7 @@ static int fnic_fcpio_fw_reset_cmpl_handler(struct fnic *fnic, spin_unlock_irqrestore(&fnic->fnic_lock, flags); - fnic_flush_tx(fnic); + queue_work(fnic_event_queue, &fnic->flush_work); reset_cmpl_handler_end: fnic_clear_state_flags(fnic, FNIC_FLAGS_FWRESET); @@ -751,7 +751,7 @@ static int fnic_fcpio_flogi_reg_cmpl_handler(struct fnic *fnic, } spin_unlock_irqrestore(&fnic->fnic_lock, flags); - fnic_flush_tx(fnic); + queue_work(fnic_event_queue, &fnic->flush_work); queue_work(fnic_event_queue, &fnic->frame_work); } else { spin_unlock_irqrestore(&fnic->fnic_lock, flags); -- 2.31.1
2 1
0 0
[openeuler:openEuler-1.0-LTS 22145/22156] net/ipv4/arp.c:1105:25: sparse: sparse: incompatible types in comparison expression (different type sizes):
by kernel test robot 20 Apr '24

20 Apr '24
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: e9eac2f8ec0d6e36fe87c658851c3c77f990b098 commit: 7ad207616673722d5cf52c18d9464e0d3184ffc9 [22145/22156] arp: Prevent overflow in arp_req_get(). config: x86_64-randconfig-121-20240420 (https://download.01.org/0day-ci/archive/20240420/202404200856.zpZdiUY9-lkp@…) compiler: gcc-13 (Ubuntu 13.2.0-4ubuntu3) 13.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240420/202404200856.zpZdiUY9-lkp@…) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202404200856.zpZdiUY9-lkp@intel.com/ sparse warnings: (new ones prefixed by >>) >> net/ipv4/arp.c:1105:25: sparse: sparse: incompatible types in comparison expression (different type sizes): net/ipv4/arp.c:1105:25: sparse: unsigned char * net/ipv4/arp.c:1105:25: sparse: unsigned long * In file included from include/linux/list.h:9, from include/linux/module.h:10, from net/ipv4/arp.c:78: net/ipv4/arp.c: In function 'arp_req_get': include/linux/kernel.h:851:43: warning: comparison of distinct pointer types lacks a cast 851 | (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1))) | ^~ include/linux/kernel.h:865:18: note: in expansion of macro '__typecheck' 865 | (__typecheck(x, y) && __no_side_effects(x, y)) | ^~~~~~~~~~~ include/linux/kernel.h:875:31: note: in expansion of macro '__safe_cmp' 875 | __builtin_choose_expr(__safe_cmp(x, y), 16- | ^~~~~~~~~~ include/linux/kernel.h:884:25: note: in expansion of macro '__careful_cmp' 884 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ net/ipv4/arp.c:1106:33: note: in expansion of macro 'min' 1106 | min(dev->addr_len, sizeof(r->arp_ha.sa_data))); | ^~~ vim +1105 net/ipv4/arp.c 1090 1091 /* 1092 * Get an ARP cache entry. 1093 */ 1094 1095 static int arp_req_get(struct arpreq *r, struct net_device *dev) 1096 { 1097 __be32 ip = ((struct sockaddr_in *) &r->arp_pa)->sin_addr.s_addr; 1098 struct neighbour *neigh; 1099 int err = -ENXIO; 1100 1101 neigh = neigh_lookup(&arp_tbl, &ip, dev); 1102 if (neigh) { 1103 if (!(neigh->nud_state & NUD_NOARP)) { 1104 read_lock_bh(&neigh->lock); > 1105 memcpy(r->arp_ha.sa_data, neigh->ha, 1106 min(dev->addr_len, sizeof(r->arp_ha.sa_data))); 1107 r->arp_flags = arp_state_to_flags(neigh); 1108 read_unlock_bh(&neigh->lock); 1109 r->arp_ha.sa_family = dev->type; 1110 strlcpy(r->arp_dev, dev->name, sizeof(r->arp_dev)); 1111 err = 0; 1112 } 1113 neigh_release(neigh); 1114 } 1115 return err; 1116 } 1117 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-5.10 18710/30000] drivers/scsi/sssraid/sssraid_os.c:1556:35: warning: unused variable 'affinity'
by kernel test robot 20 Apr '24

20 Apr '24
tree: https://gitee.com/openeuler/kernel.git OLK-5.10 head: f8ab733c9440022fd40f3c6d44e18f6ae930dc48 commit: bbae0ca11850da2793282896206974656859a73e [18710/30000] SCSI: SSSRAID: Introduce map_queue in sssraid module config: x86_64-randconfig-014-20240420 (https://download.01.org/0day-ci/archive/20240420/202404200623.QfzEE7tC-lkp@…) compiler: gcc-12 (Ubuntu 12.3.0-9ubuntu2) 12.3.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240420/202404200623.QfzEE7tC-lkp@…) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202404200623.QfzEE7tC-lkp@intel.com/ All warnings (new ones prefixed by >>): drivers/scsi/sssraid/sssraid_os.c: In function 'sssraid_map_queues': drivers/scsi/sssraid/sssraid_os.c:1568:9: error: implicit declaration of function 'for_each_pci_msi_entry'; did you mean 'for_each_msi_entry'? [-Werror=implicit-function-declaration] 1568 | for_each_pci_msi_entry(entry, pdev) { | ^~~~~~~~~~~~~~~~~~~~~~ | for_each_msi_entry drivers/scsi/sssraid/sssraid_os.c:1568:44: error: expected ';' before '{' token 1568 | for_each_pci_msi_entry(entry, pdev) { | ^~ | ; drivers/scsi/sssraid/sssraid_os.c:1566:22: warning: unused variable 'node_id_array' [-Wunused-variable] 1566 | unsigned int node_id_array[100]; | ^~~~~~~~~~~~~ drivers/scsi/sssraid/sssraid_os.c:1565:28: warning: unused variable 'i' [-Wunused-variable] 1565 | u8 node_count = 0, i; | ^ drivers/scsi/sssraid/sssraid_os.c:1565:12: warning: unused variable 'node_count' [-Wunused-variable] 1565 | u8 node_count = 0, i; | ^~~~~~~~~~ drivers/scsi/sssraid/sssraid_os.c:1564:33: warning: unused variable 'cpu_index' [-Wunused-variable] 1564 | int cpu, first_sibling, cpu_index = 0; | ^~~~~~~~~ drivers/scsi/sssraid/sssraid_os.c:1564:18: warning: unused variable 'first_sibling' [-Wunused-variable] 1564 | int cpu, first_sibling, cpu_index = 0; | ^~~~~~~~~~~~~ drivers/scsi/sssraid/sssraid_os.c:1564:13: warning: unused variable 'cpu' [-Wunused-variable] 1564 | int cpu, first_sibling, cpu_index = 0; | ^~~ drivers/scsi/sssraid/sssraid_os.c:1563:31: warning: unused variable 'node_id_last' [-Wunused-variable] 1563 | unsigned int node_id, node_id_last = 0xFFFFFFFF; | ^~~~~~~~~~~~ drivers/scsi/sssraid/sssraid_os.c:1563:22: warning: unused variable 'node_id' [-Wunused-variable] 1563 | unsigned int node_id, node_id_last = 0xFFFFFFFF; | ^~~~~~~ drivers/scsi/sssraid/sssraid_os.c:1562:22: warning: unused variable 'nr_queues' [-Wunused-variable] 1562 | unsigned int nr_queues = queue_map->nr_queues; | ^~~~~~~~~ drivers/scsi/sssraid/sssraid_os.c:1561:23: warning: unused variable 'map' [-Wunused-variable] 1561 | unsigned int *map = queue_map->mq_map; | ^~~ drivers/scsi/sssraid/sssraid_os.c:1560:22: warning: unused variable 'queue_offset' [-Wunused-variable] 1560 | unsigned int queue_offset = queue_map->queue_offset; | ^~~~~~~~~~~~ drivers/scsi/sssraid/sssraid_os.c:1559:31: warning: unused variable 'node_mask' [-Wunused-variable] 1559 | const struct cpumask *node_mask = NULL; | ^~~~~~~~~ >> drivers/scsi/sssraid/sssraid_os.c:1556:35: warning: unused variable 'affinity' [-Wunused-variable] 1556 | struct irq_affinity_desc *affinity = NULL; | ^~~~~~~~ drivers/scsi/sssraid/sssraid_os.c:1612:1: warning: no return statement in function returning non-void [-Wreturn-type] 1612 | } | ^ drivers/scsi/sssraid/sssraid_os.c: At top level: drivers/scsi/sssraid/sssraid_os.c:1466:12: warning: 'sssraid_get_first_sibling' defined but not used [-Wunused-function] 1466 | static int sssraid_get_first_sibling(unsigned int cpu) | ^~~~~~~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors vim +/affinity +1556 drivers/scsi/sssraid/sssraid_os.c 1550 1551 static int sssraid_map_queues(struct Scsi_Host *shost) 1552 { 1553 struct sssraid_ioc *sdioc = shost_priv(shost); 1554 struct pci_dev *pdev = sdioc->pdev; 1555 struct msi_desc *entry = NULL; > 1556 struct irq_affinity_desc *affinity = NULL; 1557 struct blk_mq_tag_set *tag_set = &shost->tag_set; 1558 struct blk_mq_queue_map *queue_map = &tag_set->map[HCTX_TYPE_DEFAULT]; 1559 const struct cpumask *node_mask = NULL; 1560 unsigned int queue_offset = queue_map->queue_offset; > 1561 unsigned int *map = queue_map->mq_map; 1562 unsigned int nr_queues = queue_map->nr_queues; 1563 unsigned int node_id, node_id_last = 0xFFFFFFFF; 1564 int cpu, first_sibling, cpu_index = 0; 1565 u8 node_count = 0, i; 1566 unsigned int node_id_array[100]; 1567 1568 for_each_pci_msi_entry(entry, pdev) { 1569 struct list_head *msi_list = &pdev->dev.msi_list; 1570 1571 if (list_is_last(msi_list, &entry->list)) 1572 goto get_next_numa_node; 1573 1574 if (entry->irq) { 1575 affinity = entry->affinity; 1576 node_mask = &affinity->mask; 1577 1578 cpu = cpumask_first(node_mask); 1579 node_id = cpu_to_node(cpu); 1580 if (node_id_last == node_id) 1581 continue; 1582 1583 for (i = 0; i < node_count; i++) { 1584 if (node_id == node_id_array[i]) 1585 goto get_next_numa_node; 1586 } 1587 node_id_array[node_count++] = node_id; 1588 node_id_last = node_id; 1589 } 1590 get_next_numa_node: 1591 continue; 1592 } 1593 1594 for (i = 0; i < node_count; i++) { 1595 node_mask = cpumask_of_node(node_id_array[i]); 1596 dbgprint(sdioc, "NUMA_node = %d\n", node_id_array[i]); 1597 for_each_cpu(cpu, node_mask) { 1598 if (cpu_index < nr_queues) { 1599 map[cpu_index++] = queue_offset + (cpu % nr_queues); 1600 } else { 1601 first_sibling = sssraid_get_first_sibling(cpu); 1602 if (first_sibling == cpu) 1603 map[cpu_index++] = queue_offset + (cpu % nr_queues); 1604 else 1605 map[cpu_index++] = map[first_sibling]; 1606 } 1607 dbgprint(sdioc, "map[%d] = %d\n", cpu_index - 1, map[cpu_index - 1]); 1608 } 1609 } 1610 1611 return 0; 1612 } 1613 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-5.10] BUILD REGRESSION f8ab733c9440022fd40f3c6d44e18f6ae930dc48
by kernel test robot 20 Apr '24

20 Apr '24
tree/branch: https://gitee.com/openeuler/kernel.git OLK-5.10 branch HEAD: f8ab733c9440022fd40f3c6d44e18f6ae930dc48 !6294 [sync] PR-6177: arm64/mpam: Not allowed setting 0 to cache portion bit mask Error/Warning reports: https://lore.kernel.org/oe-kbuild-all/202404200507.JbeBb2uA-lkp@intel.com Error/Warning: (recently discovered and may have been fixed) samples/livepatch/livepatch-sample.c:38:6: warning: no previous prototype for 'load_hook' [-Wmissing-prototypes] samples/livepatch/livepatch-sample.c:43:6: warning: no previous prototype for 'unload_hook' [-Wmissing-prototypes] Error/Warning ids grouped by kconfigs: gcc_recent_errors |-- arm64-allnoconfig | |-- arch-arm64-kernel-ipi_nmi.c:error:implicit-declaration-of-function-printk_safe_enter | |-- arch-arm64-kernel-ipi_nmi.c:error:implicit-declaration-of-function-printk_safe_exit | |-- kernel-sched-core.c:error:implicit-declaration-of-function-init_auto_affinity | |-- kernel-sched-core.c:error:implicit-declaration-of-function-tg_update_affinity_domains | |-- kernel-sched-core.c:error:root_task_group-undeclared-(first-use-in-this-function) | |-- kernel-workqueue.c:error:implicit-declaration-of-function-printk_safe_enter | `-- kernel-workqueue.c:error:implicit-declaration-of-function-printk_safe_exit |-- x86_64-buildonly-randconfig-001-20240420 | |-- kernel-workqueue.c:error:implicit-declaration-of-function-printk_safe_enter | `-- kernel-workqueue.c:error:implicit-declaration-of-function-printk_safe_exit |-- x86_64-buildonly-randconfig-003-20240420 | |-- kernel-workqueue.c:error:implicit-declaration-of-function-printk_safe_enter | `-- kernel-workqueue.c:error:implicit-declaration-of-function-printk_safe_exit |-- x86_64-buildonly-randconfig-004-20240420 | |-- kernel-sched-core.c:error:implicit-declaration-of-function-init_auto_affinity | |-- kernel-sched-core.c:error:implicit-declaration-of-function-tg_update_affinity_domains | `-- kernel-sched-core.c:error:root_task_group-undeclared-(first-use-in-this-function) |-- x86_64-randconfig-012-20240420 | |-- kernel-sched-core.c:error:implicit-declaration-of-function-init_auto_affinity | |-- kernel-sched-core.c:error:implicit-declaration-of-function-tg_update_affinity_domains | `-- kernel-sched-core.c:error:root_task_group-undeclared-(first-use-in-this-function) |-- x86_64-randconfig-014-20240420 | |-- samples-livepatch-livepatch-sample.c:warning:no-previous-prototype-for-load_hook | `-- samples-livepatch-livepatch-sample.c:warning:no-previous-prototype-for-unload_hook |-- x86_64-randconfig-016-20240420 | |-- kernel-sched-core.c:error:implicit-declaration-of-function-init_auto_affinity | |-- kernel-sched-core.c:error:implicit-declaration-of-function-tg_update_affinity_domains | `-- kernel-sched-core.c:error:root_task_group-undeclared-(first-use-in-this-function) |-- x86_64-randconfig-071-20240420 | |-- kernel-sched-core.c:error:implicit-declaration-of-function-init_auto_affinity | |-- kernel-sched-core.c:error:implicit-declaration-of-function-tg_update_affinity_domains | `-- kernel-sched-core.c:error:root_task_group-undeclared-(first-use-in-this-function) |-- x86_64-randconfig-073-20240420 | |-- kernel-sched-core.c:error:implicit-declaration-of-function-init_auto_affinity | |-- kernel-sched-core.c:error:implicit-declaration-of-function-tg_update_affinity_domains | `-- kernel-sched-core.c:error:root_task_group-undeclared-(first-use-in-this-function) `-- x86_64-randconfig-074-20240420 |-- kernel-sched-core.c:error:implicit-declaration-of-function-init_auto_affinity |-- kernel-sched-core.c:error:implicit-declaration-of-function-tg_update_affinity_domains `-- kernel-sched-core.c:error:root_task_group-undeclared-(first-use-in-this-function) clang_recent_errors |-- arm64-allyesconfig | |-- Documentation-devicetree-bindings-arm-cpu.yaml:properties:capacity-dmips-mhz:ref-should-not-be-valid-under-const:ref | |-- Documentation-devicetree-bindings-arm-cpu.yaml:title:ARM-CPUs-bindings-should-not-be-valid-under-pattern:(-Bb-inding-Ss-chema) | |-- Documentation-devicetree-bindings-arm-cpus.yaml:examples:cpus-arm-pbha-performance-only-bits-arm-pbha-no-aliases-bits-ncpu-device_type-cpu-compatible-arm-cortex-a57-...-n-is-not-of-type-array | `-- Documentation-devicetree-bindings-arm-cpus.yaml:maintainers-is-a-required-property |-- x86_64-allnoconfig | `-- drivers-net-ethernet-mucse-rnpm-rnpm_common.h:linux-version.h-not-needed. `-- x86_64-allyesconfig |-- drivers-net-ethernet-bzwx-nce-comm-txrx.c:fatal-error:ne6x_trace.h-file-not-found |-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x.h:fatal-error:reg.h-file-not-found `-- drivers-net-ethernet-bzwx-nce-ne6x_vf-ne6xvf.h:fatal-error:reg.h-file-not-found elapsed time: 728m configs tested: 35 configs skipped: 131 tested configs: arm64 allmodconfig clang arm64 allnoconfig gcc arm64 defconfig gcc arm64 randconfig-001-20240419 clang arm64 randconfig-002-20240419 clang arm64 randconfig-003-20240419 clang arm64 randconfig-004-20240419 clang x86_64 allnoconfig clang x86_64 allyesconfig clang x86_64 buildonly-randconfig-001-20240420 gcc x86_64 buildonly-randconfig-002-20240420 clang x86_64 buildonly-randconfig-003-20240420 gcc x86_64 buildonly-randconfig-004-20240420 gcc x86_64 buildonly-randconfig-005-20240420 clang x86_64 buildonly-randconfig-006-20240420 gcc x86_64 defconfig gcc x86_64 randconfig-001-20240420 clang x86_64 randconfig-002-20240420 clang x86_64 randconfig-003-20240420 gcc x86_64 randconfig-004-20240420 clang x86_64 randconfig-005-20240420 clang x86_64 randconfig-006-20240420 gcc x86_64 randconfig-011-20240420 gcc x86_64 randconfig-012-20240420 gcc x86_64 randconfig-013-20240420 gcc x86_64 randconfig-014-20240420 gcc x86_64 randconfig-015-20240420 clang x86_64 randconfig-016-20240420 gcc x86_64 randconfig-071-20240420 gcc x86_64 randconfig-072-20240420 gcc x86_64 randconfig-073-20240420 gcc x86_64 randconfig-074-20240420 gcc x86_64 randconfig-075-20240420 gcc x86_64 randconfig-076-20240420 clang x86_64 rhel-8.3-rust clang -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 21291/22156] drivers/spi/spi-phytium-plat.c:186:34: warning: unused variable 'phytium_spi_of_match'
by kernel test robot 20 Apr '24

20 Apr '24
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: e9eac2f8ec0d6e36fe87c658851c3c77f990b098 commit: e8483fcd43fc1dbb8d21bb7eacce804cbab6a7c6 [21291/22156] spi: add phytium spi support config: x86_64-randconfig-005-20240420 (https://download.01.org/0day-ci/archive/20240420/202404200543.01XPXriL-lkp@…) compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240420/202404200543.01XPXriL-lkp@…) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202404200543.01XPXriL-lkp@intel.com/ All warnings (new ones prefixed by >>): >> drivers/spi/spi-phytium-plat.c:186:34: warning: unused variable 'phytium_spi_of_match' [-Wunused-const-variable] 186 | static const struct of_device_id phytium_spi_of_match[] = { | ^~~~~~~~~~~~~~~~~~~~ 1 warning generated. Kconfig warnings: (for reference only) WARNING: unmet direct dependencies detected for SPI_PHYTIUM Depends on [n]: SPI [=y] && SPI_MASTER [=y] && (ARCH_PHYTIUM || COMPILE_TEST [=n]) Selected by [y]: - SPI_PHYTIUM_PLAT [=y] && SPI [=y] && SPI_MASTER [=y] vim +/phytium_spi_of_match +186 drivers/spi/spi-phytium-plat.c 185 > 186 static const struct of_device_id phytium_spi_of_match[] = { 187 { .compatible = "phytium,spi", .data = (void *)0 }, 188 { /* end of table */} 189 }; 190 MODULE_DEVICE_TABLE(of, phytium_spi_of_match); 191 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-5.10 5114/30000] samples/livepatch/livepatch-sample.c:38:6: warning: no previous prototype for 'load_hook'
by kernel test robot 20 Apr '24

20 Apr '24
tree: https://gitee.com/openeuler/kernel.git OLK-5.10 head: f8ab733c9440022fd40f3c6d44e18f6ae930dc48 commit: a3cd8c3301c773a031f2dd37474734d1311ec9f6 [5114/30000] livepatch: Adapt livepatch-sample for stop_machine model config: x86_64-randconfig-014-20240420 (https://download.01.org/0day-ci/archive/20240420/202404200507.JbeBb2uA-lkp@…) compiler: gcc-12 (Ubuntu 12.3.0-9ubuntu2) 12.3.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240420/202404200507.JbeBb2uA-lkp@…) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202404200507.JbeBb2uA-lkp@intel.com/ All warnings (new ones prefixed by >>): >> samples/livepatch/livepatch-sample.c:38:6: warning: no previous prototype for 'load_hook' [-Wmissing-prototypes] 38 | void load_hook(void) | ^~~~~~~~~ >> samples/livepatch/livepatch-sample.c:43:6: warning: no previous prototype for 'unload_hook' [-Wmissing-prototypes] 43 | void unload_hook(void) | ^~~~~~~~~~~ vim +/load_hook +38 samples/livepatch/livepatch-sample.c 36 37 #ifdef CONFIG_LIVEPATCH_STOP_MACHINE_CONSISTENCY > 38 void load_hook(void) 39 { 40 pr_info("load_hook\n"); 41 } 42 > 43 void unload_hook(void) 44 { 45 pr_info("unload_hook\n"); 46 } 47 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 21355/22156] drivers/gpio/gpio-phytium-core.c:346:5: warning: "CONFIG_SMP" is not defined, evaluates to 0
by kernel test robot 20 Apr '24

20 Apr '24
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: e9eac2f8ec0d6e36fe87c658851c3c77f990b098 commit: 00711bad7e372a30c4975ba43811ffa666aff0e1 [21355/22156] gpio: add phytium gpio driver config: x86_64-randconfig-014-20240420 (https://download.01.org/0day-ci/archive/20240420/202404200513.yVJXlWk1-lkp@…) compiler: gcc-12 (Ubuntu 12.3.0-9ubuntu2) 12.3.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240420/202404200513.yVJXlWk1-lkp@…) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202404200513.yVJXlWk1-lkp@intel.com/ All warnings (new ones prefixed by >>): >> drivers/gpio/gpio-phytium-core.c:346:5: warning: "CONFIG_SMP" is not defined, evaluates to 0 [-Wundef] 346 | #if CONFIG_SMP | ^~~~~~~~~~ vim +/CONFIG_SMP +346 drivers/gpio/gpio-phytium-core.c 345 > 346 #if CONFIG_SMP 347 int 348 phytium_gpio_irq_set_affinity(struct irq_data *d, 349 const struct cpumask *mask_val, bool force) 350 { 351 struct gpio_chip *chip_data = irq_data_get_irq_chip_data(d); 352 struct irq_chip *chip = irq_get_chip(chip_data->irq.num_parents); 353 struct irq_data *data = irq_get_irq_data(chip_data->irq.num_parents); 354 355 if (chip && chip->irq_set_affinity) 356 return chip->irq_set_affinity(data, mask_val, force); 357 358 return -EINVAL; 359 } 360 EXPORT_SYMBOL_GPL(phytium_gpio_irq_set_affinity); 361 #endif 362 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS] BUILD SUCCESS WITH WARNING e9eac2f8ec0d6e36fe87c658851c3c77f990b098
by kernel test robot 20 Apr '24

20 Apr '24
tree/branch: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS branch HEAD: e9eac2f8ec0d6e36fe87c658851c3c77f990b098 !6269 scsi: lpfc: Fix list_add() corruption in lpfc_drain_txq() Warning reports: https://lore.kernel.org/oe-kbuild-all/202404192145.IFJnkcXo-lkp@intel.com Warning: (recently discovered and may have been fixed) net/ipv4/arp.c:1106:5: warning: comparison of distinct pointer types ('typeof (dev->addr_len) *' (aka 'unsigned char *') and 'typeof (sizeof (r->arp_ha.sa_data)) *' (aka 'unsigned long *')) [-Wcompare-distinct-pointer-types] Warning ids grouped by kconfigs: gcc_recent_errors |-- x86_64-buildonly-randconfig-001-20240420 | |-- fs-proc-array.c:warning:gtime-may-be-used-uninitialized-in-this-function | |-- fs-proc-array.c:warning:maj_flt-may-be-used-uninitialized-in-this-function | `-- fs-proc-array.c:warning:min_flt-may-be-used-uninitialized-in-this-function |-- x86_64-defconfig | |-- include-linux-list.h:warning:array-subscript-pfo_ret__-is-outside-array-bounds-of-struct-plist_node | |-- include-linux-plist.h:warning:array-subscript-pfo_ret__-is-outside-array-bounds-of-struct-plist_node | `-- mm-swapfile.c:warning:array-subscript-pfo_ret__-is-outside-array-bounds-of-struct-plist_node `-- x86_64-randconfig-011-20240420 |-- include-linux-compiler.h:warning:array-subscript-index-is-outside-array-bounds-of-u32-aka-unsigned-int `-- include-linux-compiler.h:warning:array-subscript-unknown-is-outside-array-bounds-of-const-u32-aka-const-unsigned-int clang_recent_errors |-- x86_64-allyesconfig | `-- net-ipv4-arp.c:warning:comparison-of-distinct-pointer-types-(-typeof-(dev-addr_len)-(aka-unsigned-char-)-and-typeof-(sizeof-(r-arp_ha.sa_data))-(aka-unsigned-long-)) |-- x86_64-buildonly-randconfig-005-20240420 | `-- sound-firewire-bebob-bebob_proc.o:warning:objtool:missing-symbol-for-section-.text |-- x86_64-randconfig-001-20240420 | `-- net-ipv4-arp.c:warning:comparison-of-distinct-pointer-types-(-typeof-(dev-addr_len)-(aka-unsigned-char-)-and-typeof-(sizeof-(r-arp_ha.sa_data))-(aka-unsigned-long-)) |-- x86_64-randconfig-002-20240420 | `-- net-ipv4-arp.c:warning:comparison-of-distinct-pointer-types-(-typeof-(dev-addr_len)-(aka-unsigned-char-)-and-typeof-(sizeof-(r-arp_ha.sa_data))-(aka-unsigned-long-)) |-- x86_64-randconfig-004-20240420 | `-- net-ipv4-arp.c:warning:comparison-of-distinct-pointer-types-(-typeof-(dev-addr_len)-(aka-unsigned-char-)-and-typeof-(sizeof-(r-arp_ha.sa_data))-(aka-unsigned-long-)) |-- x86_64-randconfig-005-20240420 | |-- mm-debug.c:warning:format-specifies-type-int-but-the-argument-has-type-unsigned-long | |-- mm-debug.c:warning:format-specifies-type-unsigned-long-but-the-argument-has-type-const-unsigned-long | |-- mm-debug.c:warning:format-specifies-type-void-but-the-argument-has-type-int | |-- mm-debug.c:warning:more-conversions-than-data-arguments | `-- net-ipv4-arp.c:warning:comparison-of-distinct-pointer-types-(-typeof-(dev-addr_len)-(aka-unsigned-char-)-and-typeof-(sizeof-(r-arp_ha.sa_data))-(aka-unsigned-long-)) |-- x86_64-randconfig-015-20240420 | `-- net-ipv4-arp.c:warning:comparison-of-distinct-pointer-types-(-typeof-(dev-addr_len)-(aka-unsigned-char-)-and-typeof-(sizeof-(r-arp_ha.sa_data))-(aka-unsigned-long-)) `-- x86_64-rhel-8.3-rust `-- net-ipv4-arp.c:warning:comparison-of-distinct-pointer-types-(-typeof-(dev-addr_len)-(aka-unsigned-char-)-and-typeof-(sizeof-(r-arp_ha.sa_data))-(aka-unsigned-long-)) elapsed time: 731m configs tested: 32 configs skipped: 131 tested configs: arm64 allmodconfig gcc arm64 allnoconfig gcc arm64 defconfig gcc arm64 randconfig-001-20240419 gcc arm64 randconfig-002-20240419 gcc arm64 randconfig-003-20240419 gcc arm64 randconfig-004-20240419 gcc x86_64 allnoconfig clang x86_64 allyesconfig clang x86_64 buildonly-randconfig-001-20240420 gcc x86_64 buildonly-randconfig-002-20240420 clang x86_64 buildonly-randconfig-003-20240420 gcc x86_64 buildonly-randconfig-004-20240420 gcc x86_64 buildonly-randconfig-005-20240420 clang x86_64 buildonly-randconfig-006-20240420 gcc x86_64 defconfig gcc x86_64 randconfig-001-20240420 clang x86_64 randconfig-002-20240420 clang x86_64 randconfig-003-20240420 gcc x86_64 randconfig-004-20240420 clang x86_64 randconfig-005-20240420 clang x86_64 randconfig-006-20240420 gcc x86_64 randconfig-011-20240420 gcc x86_64 randconfig-012-20240420 gcc x86_64 randconfig-013-20240420 gcc x86_64 randconfig-014-20240420 gcc x86_64 randconfig-015-20240420 clang x86_64 randconfig-016-20240420 gcc x86_64 randconfig-071-20240420 gcc x86_64 randconfig-072-20240420 gcc x86_64 randconfig-073-20240420 gcc x86_64 rhel-8.3-rust clang -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
  • ← Newer
  • 1
  • ...
  • 1112
  • 1113
  • 1114
  • 1115
  • 1116
  • 1117
  • 1118
  • ...
  • 1865
  • Older →

HyperKitty Powered by HyperKitty