Commit 440bde99 authored by Mao HongBo's avatar Mao HongBo Committed by Zheng Zengkai
Browse files

irqchip/gic-phytium-2500: Fix issue that interrupts are concentrated in one cpu

Phytium inclusion
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I41AUQ


CVE: NA

-------------------------------------------------

Fix the issue that interrupts are concentrated in one cpu
for Phytium S2500 server.

Signed-off-by: default avatarMao HongBo <maohongbo@phytium.com.cn>
Signed-off-by: default avatarZheng Zengkai <zhengzengkai@huawei.com>
Reviewed-by: default avatarHanjun Guo <guohanjun@huawei.com>
Signed-off-by: default avatarZheng Zengkai <zhengzengkai@huawei.com>
parent 03c37174
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -1675,9 +1675,7 @@ static int its_cpumask_select(struct its_device *its_dev,
    }

    cpu = cpumask_any_and(mask_val, cpu_mask);
    if ((cpu > cpus) && (cpu < (cpus + skt_cpu_cnt[skt_id]))) {
	cpus = cpu;
    }
    cpus = cpus + cpu % skt_cpu_cnt[skt_id];

    if (is_kdump_kernel()) {
	skt = (cpu_logical_map(cpu) >> 16) & 0xff;
+1 −3
Original line number Diff line number Diff line
@@ -1345,9 +1345,7 @@ static int gic_cpumask_select(struct irq_data *d, const struct cpumask *mask_val
    }

    cpu = cpumask_any_and(mask_val, cpu_online_mask);
    if ((cpu > cpus) && (cpu < (cpus + skt_cpu_cnt[irq_skt]))) {
	cpus = cpu;
    }
    cpus = cpus + cpu % skt_cpu_cnt[irq_skt];

    if (is_kdump_kernel()) {
	skt = (cpu_logical_map(cpu) >> 16) & 0xff;