On Tue, 22 Aug 2023 04:51:30 +0100,Yes, i got it, thanks.
zhaoxu <zhaoxu.35@xxxxxxxxxxxxx> wrote:
In fact, the core vCPU search algorithm remains the same in the latest
kernel: iterate all vCPUs, if mpidr matches, inject. next version will
based on latest kernel.
My point is that performance numbers on such an ancient kernel hardly
make any sense, as a large portion of the code will be different. We
aim to live in the future, not in the past.
Explanation at the end.
- which current guest OS *currently* make use of broadcast or 1:NYes, arm64 linux almost never send broadcast ipi. I will use another
SGIs? Linux doesn't and overall SGI multicasting is pretty useless
to an OS.
[...]
test data to prove performence improvement
Exactly. I also contend that *no* operating system uses broadcast (or
even multicast) signalling, because this is a very pointless
operation.
So what are you optimising for?
This patch aims to optimize the vCPU search algorithm when injecting vSGI.thanks to mention that, I also checked the relevant code, guest can't
/*
- * Compare a given affinity (level 1-3 and a level 0 mask, from the SGI
- * generation register ICC_SGI1R_EL1) with a given VCPU.
- * If the VCPU's MPIDR matches, return the level0 affinity, otherwise
- * return -1.
+ * Get affinity routing index from ICC_SGI_* register
+ * format:
+ * aff3 aff2 aff1 aff0
+ * |- 8 bits -|- 8 bits -|- 8 bits -|- 4 bits or 8bits -|
OK, so you are implementing RSS support:
- Why isn't that mentioned anywhere in the commit log?
- Given that KVM actively limits the MPIDR to 4 bits at Aff0, how does
it even work the first place?
- How is that advertised to the guest?
- How can the guest enable RSS support?
enable RSS, it was my oversight. This part has removed in next
version.
Then what's the point of your patch? You don't explain anything, which
makes it very hard to guess what you're aiming for.
Xu.
M.