* [Qemu-devel] [PATCH v4 0/5] fix numa node mapping for hotplugged CPUs
@ 2016-07-04 15:51 Igor Mammedov
2016-07-04 15:51 ` [Qemu-devel] [PATCH v4 1/5] tests: acpi: add CPU hotplug testcase Igor Mammedov
` (5 more replies)
0 siblings, 6 replies; 9+ messages in thread
From: Igor Mammedov @ 2016-07-04 15:51 UTC (permalink / raw)
To: qemu-devel; +Cc: marcel, peter.maydell, zhaoshenglong, david, mst
Changelog:
v3->v4:
- return -1 on failure from numa_get_node_for_cpu()
- replace SRAT table blob in 5/5 with note to maintainer to add it manually
v1->v3:
- fix commit message for 4/5
- add numa_get_node_for_cpu() helper
- add comment in code explaining why _PXM is being added
Series adds acpi tables tests for CPU hotplug and
makes hotplugged CPUs assigned to correct numa nodes for Linux guests
+ extends CPU hotplug test with numa options
Igor Mammedov (5):
tests: acpi: add CPU hotplug testcase
tests: DO NOT APPLY: add APIC.cphp and DSDT.cphp blobs
numa: reduce code duplication by adding helper numa_get_node_for_cpu()
acpi: provide _PXM method for CPU devices if QEMU is started numa
enabled
tests: acpi: extend cphp testcase with numa check
hw/acpi/cpu.c | 12 ++++++++++++
hw/arm/virt-acpi-build.c | 6 ++----
hw/arm/virt.c | 7 +++----
hw/i386/acpi-build.c | 7 ++-----
hw/i386/pc.c | 8 +++-----
hw/ppc/spapr_cpu_core.c | 6 ++----
include/sysemu/numa.h | 3 +++
numa.c | 12 ++++++++++++
tests/acpi-test-data/pc/APIC.cphp | Bin 0 -> 160 bytes
tests/acpi-test-data/pc/DSDT.cphp | Bin 0 -> 6435 bytes
tests/acpi-test-data/q35/APIC.cphp | Bin 0 -> 160 bytes
tests/acpi-test-data/q35/DSDT.cphp | Bin 0 -> 9197 bytes
tests/bios-tables-test.c | 30 ++++++++++++++++++++++++++++++
13 files changed, 69 insertions(+), 22 deletions(-)
create mode 100644 tests/acpi-test-data/pc/APIC.cphp
create mode 100644 tests/acpi-test-data/pc/DSDT.cphp
create mode 100644 tests/acpi-test-data/q35/APIC.cphp
create mode 100644 tests/acpi-test-data/q35/DSDT.cphp
--
2.7.0
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Qemu-devel] [PATCH v4 1/5] tests: acpi: add CPU hotplug testcase
2016-07-04 15:51 [Qemu-devel] [PATCH v4 0/5] fix numa node mapping for hotplugged CPUs Igor Mammedov
@ 2016-07-04 15:51 ` Igor Mammedov
2016-07-04 15:51 ` [Qemu-devel] [PATCH v4 2/5] tests: DO NOT APPLY: add APIC.cphp and DSDT.cphp blobs Igor Mammedov
` (4 subsequent siblings)
5 siblings, 0 replies; 9+ messages in thread
From: Igor Mammedov @ 2016-07-04 15:51 UTC (permalink / raw)
To: qemu-devel; +Cc: marcel, peter.maydell, zhaoshenglong, david, mst
Test with:
-smp 2,cores=3,sockets=2,maxcpus=6
to capture sparse APIC ID values that default
AMD CPU has in above configuration.
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Marcel Apfelbaum <marcel@redhat.com>
---
NOTE to maintainer:
following table blobs should be added to git tree as poart of this
commit
after running ./tests/acpi-test-data/rebuild-expected-aml.sh
tests/acpi-test-data/q35/APIC.cphp
tests/acpi-test-data/q35/DSDT.cphp
tests/acpi-test-data/pc/APIC.cphp
tests/acpi-test-data/pc/DSDT.cphp
---
tests/bios-tables-test.c | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
diff --git a/tests/bios-tables-test.c b/tests/bios-tables-test.c
index 92c90dd..de4019e 100644
--- a/tests/bios-tables-test.c
+++ b/tests/bios-tables-test.c
@@ -801,6 +801,32 @@ static void test_acpi_q35_tcg_bridge(void)
free_test_data(&data);
}
+static void test_acpi_piix4_tcg_cphp(void)
+{
+ test_data data;
+
+ memset(&data, 0, sizeof(data));
+ data.machine = MACHINE_PC;
+ data.variant = ".cphp";
+ test_acpi_one("-machine accel=tcg"
+ " -smp 2,cores=3,sockets=2,maxcpus=6",
+ &data);
+ free_test_data(&data);
+}
+
+static void test_acpi_q35_tcg_cphp(void)
+{
+ test_data data;
+
+ memset(&data, 0, sizeof(data));
+ data.machine = MACHINE_Q35;
+ data.variant = ".cphp";
+ test_acpi_one("-machine q35,accel=tcg"
+ " -smp 2,cores=3,sockets=2,maxcpus=6",
+ &data);
+ free_test_data(&data);
+}
+
static uint8_t ipmi_required_struct_types[] = {
0, 1, 3, 4, 16, 17, 19, 32, 38, 127
};
@@ -856,6 +882,8 @@ int main(int argc, char *argv[])
qtest_add_func("acpi/q35/tcg/bridge", test_acpi_q35_tcg_bridge);
qtest_add_func("acpi/piix4/tcg/ipmi", test_acpi_piix4_tcg_ipmi);
qtest_add_func("acpi/q35/tcg/ipmi", test_acpi_q35_tcg_ipmi);
+ qtest_add_func("acpi/piix4/tcg/cpuhp", test_acpi_piix4_tcg_cphp);
+ qtest_add_func("acpi/q35/tcg/cpuhp", test_acpi_q35_tcg_cphp);
}
ret = g_test_run();
boot_sector_cleanup(disk);
--
2.7.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Qemu-devel] [PATCH v4 2/5] tests: DO NOT APPLY: add APIC.cphp and DSDT.cphp blobs
2016-07-04 15:51 [Qemu-devel] [PATCH v4 0/5] fix numa node mapping for hotplugged CPUs Igor Mammedov
2016-07-04 15:51 ` [Qemu-devel] [PATCH v4 1/5] tests: acpi: add CPU hotplug testcase Igor Mammedov
@ 2016-07-04 15:51 ` Igor Mammedov
2016-07-04 15:51 ` [Qemu-devel] [PATCH v4 3/5] numa: reduce code duplication by adding helper numa_get_node_for_cpu() Igor Mammedov
` (3 subsequent siblings)
5 siblings, 0 replies; 9+ messages in thread
From: Igor Mammedov @ 2016-07-04 15:51 UTC (permalink / raw)
To: qemu-devel; +Cc: marcel, peter.maydell, zhaoshenglong, david, mst
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
---
tests/acpi-test-data/pc/APIC.cphp | Bin 0 -> 160 bytes
tests/acpi-test-data/pc/DSDT.cphp | Bin 0 -> 6435 bytes
tests/acpi-test-data/q35/APIC.cphp | Bin 0 -> 160 bytes
tests/acpi-test-data/q35/DSDT.cphp | Bin 0 -> 9197 bytes
4 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 tests/acpi-test-data/pc/APIC.cphp
create mode 100644 tests/acpi-test-data/pc/DSDT.cphp
create mode 100644 tests/acpi-test-data/q35/APIC.cphp
create mode 100644 tests/acpi-test-data/q35/DSDT.cphp
diff --git a/tests/acpi-test-data/pc/APIC.cphp b/tests/acpi-test-data/pc/APIC.cphp
new file mode 100644
index 0000000000000000000000000000000000000000..1bf8a0a63bc1c9b716d937b96eb34b05016b9366
GIT binary patch
literal 160
zcmXwx!3}^Q3`JW6f}%UP3UJYrBwpObWgNv(oJ8%n@zB24pP!~WmxG9S&r6xsF>kdb
z$yhQtNOavFgY<9)W~DJWDKu7Tozi)bd+hVZHk}Lv=1?18ZTnj%1<hjo%=$-Oyrt<4
A0RR91
literal 0
HcmV?d00001
diff --git a/tests/acpi-test-data/pc/DSDT.cphp b/tests/acpi-test-data/pc/DSDT.cphp
new file mode 100644
index 0000000000000000000000000000000000000000..e8b146208eb3877e1cde2cc361c5afd270d194c6
GIT binary patch
literal 6435
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
OTtYbOHt0~$nfQP4P$F9Z
literal 0
HcmV?d00001
diff --git a/tests/acpi-test-data/q35/APIC.cphp b/tests/acpi-test-data/q35/APIC.cphp
new file mode 100644
index 0000000000000000000000000000000000000000..1bf8a0a63bc1c9b716d937b96eb34b05016b9366
GIT binary patch
literal 160
zcmXwx!3}^Q3`JW6f}%UP3UJYrBwpObWgNv(oJ8%n@zB24pP!~WmxG9S&r6xsF>kdb
z$yhQtNOavFgY<9)W~DJWDKu7Tozi)bd+hVZHk}Lv=1?18ZTnj%1<hjo%=$-Oyrt<4
A0RR91
literal 0
HcmV?d00001
diff --git a/tests/acpi-test-data/q35/DSDT.cphp b/tests/acpi-test-data/q35/DSDT.cphp
new file mode 100644
index 0000000000000000000000000000000000000000..6cc28c6daec2b331030ab0600a4d79034c1dfc40
GIT binary patch
literal 9197
zcmb7KU2hx56`duQ)M`mdD`_RmUy)!JO_SCMB{^=<kHF+EMY7^b6iMd;G(g%-S}AFp
zh2j87g8-HS<iigI5;j5mMhAM%Uub?p-Ws4!eJ#+ZqKKcOo_mKw%`7D#)&n_r_MCg?
z?C#7N?ka4B?f+aA!n#q~4yvt{(o2mXM4u&upf-JbHT$;c+z(5Yu9ZvKR_7qcZG4m*
z|0iMTR>k`3ZtwG6@7{+!>rO20e&Ky~_fGu&N4>j(KyTfRU6&f(Q{7gn+qvHeT5T&Q
zzI5~4E?K$!my{O$rJIeQR&u=UJVOsFdBg>$Tdjrp;@7U@bOYH+JKbW~6i)Y6Ewr50
ztwuvQLAzNOemL3PZUy#(*F_M%xH{OF=<m+XyIv>y=lZwHmu`Ok;=STmzxu~-AH43`
z0IcEL!S{Mh0p+2_I;DD-KHSUnIq*L1?^*BR$SR{(2aBKf6;5`0bTB3`^*_wZUMjJA
z^tu;0Qcu~bHp*?K$ASusA7{7PXh$M1#Mj^DgxxvtD4u_zycMoAnqhavztL^Aiz23;
zUQAtg{?v25-XQ-;zbE>=-0|^|7)*cCza#!~Colf>zs!+1a%XV1nyuMcclv`#Tu3Ar
zwh-?K@8-laG#om$ox>noYZbeEIx&D{45m?Q?xfrvU7kAbhm?EYO?3{=Q(FYvQ86tn
ze3kH3Z?wY{qsl4wkWdRil|@i2Z&^VJAN2-4yqo8qO{<Djt#f#-*$z-tUe_G1BaL*)
zU8q>Gh=rHBBCLwFFZM+$`;O=w{&cexj^OFEKgs7~B$0_d(GwO}uZUOheI*5@ox>-i
z?OP+_%zTpQxS1=$BjEGUG6LGdUy^5>#@`!cah8w7Lwi)vbEhiS+v&H{j&tQc7b@F0
zC#y<P#*%lYN<$~)tTd0(kJ7@q;&GY{O0$+o<EBP=a8A$6lX{dw9tU}xMlIM7e!h!u
zE8eBZ`}4~dT>>xoH&3ZXv)!26eDnTX&c@v%>RX#-A=?((8)7a`{cZ|DMFnXDRWUbZ
z=Z}xEG)UYqA{Kzt@)+{~RUt8vpRp-s0y~U|sh}yrOhB25keC<^W7Eu3BcS__vobU-
znSiR0n5qiydx_;dHZv8}mP|Exgu2d*p)<ow1<gpN8azT>XV%b}Wu}5=O`QmJofC%6
z2}9?EsS}~D(=l{9hEB)SiBQ*x6+%1HlZMVoQzt@Qr)%hR4V|v36QQm%XXwlsI&-E@
zgt|_wRND2-8#?o*PK3J7DMRO!p>xXAiBQ)$ZRngfbWWQ(5$ZZ;44pHE&KXlDLS3h4
z==2Poo~aX|u5;GVIcw;gHFYA?b<P<&=M0^5rcQ*q&Ur)UyrFa6)QM2n=^HwIL#J=*
zM5yarFmx^$Iu}fx2z8x{hR#Jp=c1_-p|10sq4S)f^PH&@p{{eu(79yjTrzbc)ODU`
zW^uR@o@ZuhxY(VS%-|#>W;n!NFqjt%<^_|9P-k8=m=_J^MU#n8XI?Uxmkj15lZjAg
zUN)GQ4d!K&iBM-g!A#{cPcT!h@lQymTDTDsQ#r}9QFGa-xop-%C~G<}(4uCbl~!$J
zplGA;&_EHOtPIi!R8bhH#IYq=*zYh<Ic7>iRY*)F4F)Q)%0M+J8K{IZlMECgMxzW=
zVuumcR9;I4Dxo6-MTns@76vM@!-$yb<dT6(C^N}G5h|T9P>E$G3{-=Xfl4Sd$v_b*
zoiI>|WhM+%gOY(tC^N}G5h|T9P>E$G3{-=Xfl4Sd$v_b*oiI>|WhM+%gOY(tC^N}G
z5h|T9P>E$G3{-=Xfl4Sd$v_b*oiI>|WhM+%gOY(tC^N}G5h|T9P>E$G3{-=Xfl4Sd
z$v_b*oiI>|WhM+%gOY(tC^N}G5h|T9P>E$G3{-=Xfl4Sd$v_b*oiI>|WhM+%gOY(t
zC^N}G5h|T9P>E$G3{-=Xfl4Sd$v_b*oiI>|WhM+%gOY(tC^N}G5h|T9P>E$G3{-=X
zfl4Sd$v_b*oiI>|WhM+%gOY(tC^N}G5h|T9P>E$G3{-=Xfl4Sd$v_b*oiI>|WhM+%
zgOY(tC^N}G5h|T9P>E$G3{-=Xfl4Sd$v_b*oiI>|WhM+%gOY(tC^N}G5h|T9P>E$G
z3{-=Xfl4Sd$v_b*oiI>|WhM+%gOY(tC^N}G5h|T9P(+%6BGL^Mp>CiEH3QX{Fi?$2
z2C6a1Ks6=|RAa(GH6|IT#v}vPm@rU{2?N!bWS|<83{+#nKs6=|RAZ8XYD_XvjR^xq
zq^>Ru6cMf%pG-1Pgt!bUB&IsIFi=G5+`>Q+sdGyPicp<fGEjt}@Go>>p<<Bl^N-ad
z`a$|IOJBv#!Ox#f)2~!|RzOc9tVVOE2*=$i(MLcZp(F5YWT#B+4f?3iN7eD?Ydd(n
zG?;wXy}yfxAd^RK&c9yU37V4tGz+uSZtml(n50Kr_@(@S`rHgYYw^3g?u?)o2GPWm
zk@^Jo2u1Z<JdejI^svUkuv@c>?)=BoVloYP6Ij0mR$^rHXXJAU8UjXB^k=(attH;0
zwtJs@X6Q+WIHCb@e6HJSwyX!c!!b~K>K|4wC931G!uPIT(yEuZdI{sxtC#%KtCu>5
z5or$+)!o!%ln=D>0hbRF<%2WI2gCAVvOFG_eQ))lRzBqNVWNC^M)`19zML#?KSueo
zR=&*T%Zc*kGs>5T<u{V$GmlYzLo2_*<u?-LH_j-(F)Uw6md`#$`HEJ)!sRQ8@|82n
zSBB-Q$?_AAQNF5`uX6cnqI~s?@>P_#X(>yV_hfmscwk#WkJ<RCrP=3adCKF9=JhaL
zavHm{W;*OO#?r~YQ`3#j%Q-V0HXvi^WZ$Xj#^%|)nGU;>v2?QU)O2I>#y8Vpt1^~O
z_MMt;Y#uC_>9BtpODFqIO*eL5FPiDFsToTr`%X<acAuUz(_yDGmQMDW>AbKh-w*`u
z?UQHajb^!}?nD<85dJe2G;Xa_-?$h5{;l7w?7#Zv8*lCZ=G8Yv#|j$t&EXw6<+>H?
zoBTI<E00Ip@Ev;J@=YEO^bf95P!uZxJ(mw^TP-VSMlV=F`PT(Y*g+75PUm2bK<S`W
zuCD+Y7TYU$lw8}YIkBM5&S9l;o8KT{EOLBP#h_6u6jlo~0{Mm}<41PT-gr4RaQnOB
zgP>3->`~LA=IY)c*WYzh)LxVAG_}`d+otw)+0Ib=xjny{#cQMDWasMbXKnQ^fzA)<
zK0c0jlie6-EP8_r{p0~s9=kKW&XZ$D>YGPBKg!VAc)UVZG8HnMn%}QZ2d!YsIZKAs
z`=XfZ_wW{^7mH+4T%AG19uve@5obCH$Az=vv5^5CTfK*y_MkeRitmNfQ@QE!T!16j
z=|ZE)V7t}MpC$Cv>oqo5D313|(G|O?WG_KqOLpQEoI1MB`*>f2I})=Kf4IAGYdJ@B
zgW(2_itX8)>j*pxpk1P$>(cC?n?m^0c)8flkutHn_u4ScDsLu@G}x$((pXj^jisfr
zI8BvCvxWydRB!5JG_>Oy<w>PDPkuBUyce1ojmJ%$WLn3Yl4K@qo<^C{b~001&y+sN
zbR7?Vl9{j%8fCIG$xODM$v(;S9Bq{o>ae95Wy)lenKF8&3^Mr_vFubD<!-sKhRMON
z6ln>f8RczV(_U&8uSL~{^tGwRR-;fX+`xsU<uiKq4{z+hv$8w3g8K8kcOOjlqj0N<
z*M0cm(6OR=uqpgvHbMz;atzb6bCr%AAAj-7&w9j&dl8nL!F)fW`50jmVHR5yJX{?3
z{fMR(_tHe7Xun5Ohmssw{<Vk}X)SI1w_U*rbN#5?>JC>dM)&;UQiOdxmMA#{g>|Cl
zjq9`PZsEa?g~-c$fKR&o`0iN#sjgvoj9)=Sbf+=cx@^v&S(VKn*2}8*X*7qui&62V
zA@%~A)i`RFszjnjof4r@uM&Y8bxN{N-P9m11$>y;1OGGXqvQJ&TiiLzoz}fk54Gxa
ztUd@Q`qV8Td3|km*}e23T=hgUNhO&ik>#zgxh~Rop$W}taEHxB45%AZWjY*Fayl5(
zIO)*v3K4D8ym8(CLDYCDvXU1dMsHVL)SmyN2<wDB2HK0Z%P+*Q;b0(B`d1<>E~zn~
zh3?@1JihUHFEI34+|mAd%!GB_Cg`rGTh*)Or9;bqpP-lPr3v?sA5DoAp8U~?p%1()
zf0Tcew;c3a^5lJs!;kW#c#2QsfAy2=;-u2AUHVH2K0*_h{=Pas{`+^s=JWJYJ+Lub
z<-czvrXlrf+ZX(MM7!wb<c6BJFDu!Vtc5r8-cz?Rb6e}(xvWj=DB9P%bB^t%Tr8J}
zo}(jF)ceJW<j&zU8!rZO>o~Pjj&5PCUn6v)ikI;+v`O-U>D&BvJaV+{7q20_8fXK<
z&wW=c(Y~tMh?@967S~<s94u3irh9*dW&%Fy)T*O}TVkbiaG3x_ant45jC&1h1TP7=
z#Q5iz1<9u^7u_BBXay^NmKKbZw_(eF)yTC91^kZ!{o_mL@ab0JXEMMgvjjHTt<@0A
R7B$vXW1Sn>MzGZu{|B7Hnt1>K
literal 0
HcmV?d00001
--
2.7.0
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Qemu-devel] [PATCH v4 3/5] numa: reduce code duplication by adding helper numa_get_node_for_cpu()
2016-07-04 15:51 [Qemu-devel] [PATCH v4 0/5] fix numa node mapping for hotplugged CPUs Igor Mammedov
2016-07-04 15:51 ` [Qemu-devel] [PATCH v4 1/5] tests: acpi: add CPU hotplug testcase Igor Mammedov
2016-07-04 15:51 ` [Qemu-devel] [PATCH v4 2/5] tests: DO NOT APPLY: add APIC.cphp and DSDT.cphp blobs Igor Mammedov
@ 2016-07-04 15:51 ` Igor Mammedov
2016-07-05 1:09 ` Shannon Zhao
2016-07-04 15:51 ` [Qemu-devel] [PATCH v4 4/5] acpi: provide _PXM method for CPU devices if QEMU is started numa enabled Igor Mammedov
` (2 subsequent siblings)
5 siblings, 1 reply; 9+ messages in thread
From: Igor Mammedov @ 2016-07-04 15:51 UTC (permalink / raw)
To: qemu-devel; +Cc: marcel, peter.maydell, zhaoshenglong, david, mst
Replace repeated pattern
for (i = 0; i < nb_numa_nodes; i++) {
if (test_bit(idx, numa_info[i].node_cpu)) {
...
break;
with a helper function to lookup numa node index for cpu.
Suggested-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
---
hw/arm/virt-acpi-build.c | 6 ++----
hw/arm/virt.c | 7 +++----
hw/i386/acpi-build.c | 7 ++-----
hw/i386/pc.c | 8 +++-----
hw/ppc/spapr_cpu_core.c | 6 ++----
include/sysemu/numa.h | 3 +++
numa.c | 12 ++++++++++++
7 files changed, 27 insertions(+), 22 deletions(-)
diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c
index 28fc59c..97f0696 100644
--- a/hw/arm/virt-acpi-build.c
+++ b/hw/arm/virt-acpi-build.c
@@ -426,11 +426,9 @@ build_srat(GArray *table_data, BIOSLinker *linker, VirtGuestInfo *guest_info)
uint32_t *cpu_node = g_malloc0(guest_info->smp_cpus * sizeof(uint32_t));
for (i = 0; i < guest_info->smp_cpus; i++) {
- for (j = 0; j < nb_numa_nodes; j++) {
- if (test_bit(i, numa_info[j].node_cpu)) {
+ j = numa_get_node_for_cpu(i);
+ if (j != -1) {
cpu_node[i] = j;
- break;
- }
}
}
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index 6e098af..3c02b81 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -411,10 +411,9 @@ static void fdt_add_cpu_nodes(const VirtBoardInfo *vbi)
armcpu->mp_affinity);
}
- for (i = 0; i < nb_numa_nodes; i++) {
- if (test_bit(cpu, numa_info[i].node_cpu)) {
- qemu_fdt_setprop_cell(vbi->fdt, nodename, "numa-node-id", i);
- }
+ i = numa_get_node_for_cpu(cpu);
+ if (i != -1) {
+ qemu_fdt_setprop_cell(vbi->fdt, nodename, "numa-node-id", i);
}
g_free(nodename);
diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c
index 5a594be..11fddfc 100644
--- a/hw/i386/acpi-build.c
+++ b/hw/i386/acpi-build.c
@@ -2344,18 +2344,15 @@ build_srat(GArray *table_data, BIOSLinker *linker, MachineState *machine)
srat->reserved1 = cpu_to_le32(1);
for (i = 0; i < apic_ids->len; i++) {
- int j;
+ int j = numa_get_node_for_cpu(i);
int apic_id = apic_ids->cpus[i].arch_id;
core = acpi_data_push(table_data, sizeof *core);
core->type = ACPI_SRAT_PROCESSOR_APIC;
core->length = sizeof(*core);
core->local_apic_id = apic_id;
- for (j = 0; j < nb_numa_nodes; j++) {
- if (test_bit(i, numa_info[j].node_cpu)) {
+ if (j != -1) {
core->proximity_lo = j;
- break;
- }
}
memset(core->proximity_hi, 0, 3);
core->local_sapic_eid = 0;
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index 44a8f3b..7b81e01 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -780,11 +780,9 @@ static FWCfgState *bochs_bios_init(AddressSpace *as, PCMachineState *pcms)
for (i = 0; i < max_cpus; i++) {
unsigned int apic_id = x86_cpu_apic_id_from_index(i);
assert(apic_id < pcms->apic_id_limit);
- for (j = 0; j < nb_numa_nodes; j++) {
- if (test_bit(i, numa_info[j].node_cpu)) {
- numa_fw_cfg[apic_id + 1] = cpu_to_le64(j);
- break;
- }
+ j = numa_get_node_for_cpu(i);
+ if (j != -1) {
+ numa_fw_cfg[apic_id + 1] = cpu_to_le64(j);
}
}
for (i = 0; i < nb_numa_nodes; i++) {
diff --git a/hw/ppc/spapr_cpu_core.c b/hw/ppc/spapr_cpu_core.c
index a384db5..9778094 100644
--- a/hw/ppc/spapr_cpu_core.c
+++ b/hw/ppc/spapr_cpu_core.c
@@ -69,11 +69,9 @@ void spapr_cpu_init(sPAPRMachineState *spapr, PowerPCCPU *cpu, Error **errp)
}
/* Set NUMA node for the added CPUs */
- for (i = 0; i < nb_numa_nodes; i++) {
- if (test_bit(cs->cpu_index, numa_info[i].node_cpu)) {
+ i = numa_get_node_for_cpu(cs->cpu_index);
+ if (i != -1) {
cs->numa_node = i;
- break;
- }
}
xics_cpu_setup(spapr->xics, cpu);
diff --git a/include/sysemu/numa.h b/include/sysemu/numa.h
index bb184c9..422eb33 100644
--- a/include/sysemu/numa.h
+++ b/include/sysemu/numa.h
@@ -32,4 +32,7 @@ void numa_set_mem_node_id(ram_addr_t addr, uint64_t size, uint32_t node);
void numa_unset_mem_node_id(ram_addr_t addr, uint64_t size, uint32_t node);
uint32_t numa_get_node(ram_addr_t addr, Error **errp);
+/* on success returns node index in numa_info,
+ * on failure returns -1 */
+int numa_get_node_for_cpu(int idx);
#endif
diff --git a/numa.c b/numa.c
index 572712c..f75d4a4 100644
--- a/numa.c
+++ b/numa.c
@@ -548,3 +548,15 @@ MemdevList *qmp_query_memdev(Error **errp)
object_child_foreach(obj, query_memdev, &list);
return list;
}
+
+int numa_get_node_for_cpu(int idx)
+{
+ int i;
+
+ for (i = 0; i < nb_numa_nodes; i++) {
+ if (test_bit(idx, numa_info[i].node_cpu)) {
+ return i;
+ }
+ }
+ return -1;
+}
--
2.7.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Qemu-devel] [PATCH v4 4/5] acpi: provide _PXM method for CPU devices if QEMU is started numa enabled
2016-07-04 15:51 [Qemu-devel] [PATCH v4 0/5] fix numa node mapping for hotplugged CPUs Igor Mammedov
` (2 preceding siblings ...)
2016-07-04 15:51 ` [Qemu-devel] [PATCH v4 3/5] numa: reduce code duplication by adding helper numa_get_node_for_cpu() Igor Mammedov
@ 2016-07-04 15:51 ` Igor Mammedov
2016-07-04 15:51 ` [Qemu-devel] [PATCH v4 5/5] tests: acpi: extend cphp testcase with numa check Igor Mammedov
2016-07-18 7:51 ` [Qemu-devel] [PATCH v4 0/5] fix numa node mapping for hotplugged CPUs Igor Mammedov
5 siblings, 0 replies; 9+ messages in thread
From: Igor Mammedov @ 2016-07-04 15:51 UTC (permalink / raw)
To: qemu-devel; +Cc: marcel, peter.maydell, zhaoshenglong, david, mst
Workaround for long standing issue where Linux kernel
assigns hotplugged CPU to 1st numa node as it discards
proximity for possible CPUs from SRAT after it's parsed.
_PXM method allows linux query proximity directly from
hotplugged CPU object, which allows Linux to assing CPU
to the correct numa node.
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Marcel Apfelbaum <marcel@redhat.com>
---
hw/acpi/cpu.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/hw/acpi/cpu.c b/hw/acpi/cpu.c
index c13b65c..fefab11 100644
--- a/hw/acpi/cpu.c
+++ b/hw/acpi/cpu.c
@@ -4,6 +4,7 @@
#include "qapi/error.h"
#include "qapi-event.h"
#include "trace.h"
+#include "sysemu/numa.h"
#define ACPI_CPU_HOTPLUG_REG_LEN 12
#define ACPI_CPU_SELECTOR_OFFSET_WR 0
@@ -503,6 +504,7 @@ void build_cpus_aml(Aml *table, MachineState *machine, CPUHotplugFeatures opts,
/* build Processor object for each processor */
for (i = 0; i < arch_ids->len; i++) {
+ int j;
Aml *dev;
Aml *uid = aml_int(i);
GArray *madt_buf = g_array_new(0, 1, 1);
@@ -546,6 +548,16 @@ void build_cpus_aml(Aml *table, MachineState *machine, CPUHotplugFeatures opts,
aml_arg(1), aml_arg(2))
);
aml_append(dev, method);
+
+ /* Linux guests discard SRAT info for non-present CPUs
+ * as a result _PXM is required for all CPUs which might
+ * be hot-plugged. For simplicity, add it for all CPUs.
+ */
+ j = numa_get_node_for_cpu(i);
+ if (j != -1) {
+ aml_append(dev, aml_name_decl("_PXM", aml_int(j)));
+ }
+
aml_append(cpus_dev, dev);
}
}
--
2.7.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Qemu-devel] [PATCH v4 5/5] tests: acpi: extend cphp testcase with numa check
2016-07-04 15:51 [Qemu-devel] [PATCH v4 0/5] fix numa node mapping for hotplugged CPUs Igor Mammedov
` (3 preceding siblings ...)
2016-07-04 15:51 ` [Qemu-devel] [PATCH v4 4/5] acpi: provide _PXM method for CPU devices if QEMU is started numa enabled Igor Mammedov
@ 2016-07-04 15:51 ` Igor Mammedov
2016-07-18 7:51 ` [Qemu-devel] [PATCH v4 0/5] fix numa node mapping for hotplugged CPUs Igor Mammedov
5 siblings, 0 replies; 9+ messages in thread
From: Igor Mammedov @ 2016-07-04 15:51 UTC (permalink / raw)
To: qemu-devel; +Cc: marcel, peter.maydell, zhaoshenglong, david, mst
so it would be possible to verify _PXM generation in
DSDT and SRAT tables.
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Marcel Apfelbaum <marcel@redhat.com>
---
NOTE to maintainer:
following table blobs should be updated/added in git tree as part
of this commit after running
./tests/acpi-test-data/rebuild-expected-aml.sh
tests/acpi-test-data/q35/DSDT.cphp
tests/acpi-test-data/pc/DSDT.cphp
new tables
tests/acpi-test-data/pc/SRAT.cphp
tests/acpi-test-data/q35/SRAT.cphp
---
tests/bios-tables-test.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/tests/bios-tables-test.c b/tests/bios-tables-test.c
index de4019e..3796089 100644
--- a/tests/bios-tables-test.c
+++ b/tests/bios-tables-test.c
@@ -809,7 +809,8 @@ static void test_acpi_piix4_tcg_cphp(void)
data.machine = MACHINE_PC;
data.variant = ".cphp";
test_acpi_one("-machine accel=tcg"
- " -smp 2,cores=3,sockets=2,maxcpus=6",
+ " -smp 2,cores=3,sockets=2,maxcpus=6"
+ " -numa node -numa node",
&data);
free_test_data(&data);
}
@@ -822,7 +823,8 @@ static void test_acpi_q35_tcg_cphp(void)
data.machine = MACHINE_Q35;
data.variant = ".cphp";
test_acpi_one("-machine q35,accel=tcg"
- " -smp 2,cores=3,sockets=2,maxcpus=6",
+ " -smp 2,cores=3,sockets=2,maxcpus=6"
+ " -numa node -numa node",
&data);
free_test_data(&data);
}
--
2.7.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [Qemu-devel] [PATCH v4 3/5] numa: reduce code duplication by adding helper numa_get_node_for_cpu()
2016-07-04 15:51 ` [Qemu-devel] [PATCH v4 3/5] numa: reduce code duplication by adding helper numa_get_node_for_cpu() Igor Mammedov
@ 2016-07-05 1:09 ` Shannon Zhao
0 siblings, 0 replies; 9+ messages in thread
From: Shannon Zhao @ 2016-07-05 1:09 UTC (permalink / raw)
To: Igor Mammedov, qemu-devel; +Cc: marcel, peter.maydell, david, mst
On 2016/7/4 23:51, Igor Mammedov wrote:
> Replace repeated pattern
>
> for (i = 0; i < nb_numa_nodes; i++) {
> if (test_bit(idx, numa_info[i].node_cpu)) {
> ...
> break;
>
> with a helper function to lookup numa node index for cpu.
>
> Suggested-by: Michael S. Tsirkin <mst@redhat.com>
> Signed-off-by: Igor Mammedov <imammedo@redhat.com>
> Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Reviewed-by: Shannon Zhao <shannon.zhao@linaro.org>
--
Shannon
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Qemu-devel] [PATCH v4 0/5] fix numa node mapping for hotplugged CPUs
2016-07-04 15:51 [Qemu-devel] [PATCH v4 0/5] fix numa node mapping for hotplugged CPUs Igor Mammedov
` (4 preceding siblings ...)
2016-07-04 15:51 ` [Qemu-devel] [PATCH v4 5/5] tests: acpi: extend cphp testcase with numa check Igor Mammedov
@ 2016-07-18 7:51 ` Igor Mammedov
2016-07-27 9:28 ` Igor Mammedov
5 siblings, 1 reply; 9+ messages in thread
From: Igor Mammedov @ 2016-07-18 7:51 UTC (permalink / raw)
To: qemu-devel; +Cc: marcel, peter.maydell, david, mst, zhaoshenglong
On Mon, 4 Jul 2016 17:51:14 +0200
Igor Mammedov <imammedo@redhat.com> wrote:
Ping,
Michael,
it seems that series fell through cracks,
could you pick it up please?
> Changelog:
> v3->v4:
> - return -1 on failure from numa_get_node_for_cpu()
> - replace SRAT table blob in 5/5 with note to maintainer to add it manually
> v1->v3:
> - fix commit message for 4/5
> - add numa_get_node_for_cpu() helper
> - add comment in code explaining why _PXM is being added
>
> Series adds acpi tables tests for CPU hotplug and
> makes hotplugged CPUs assigned to correct numa nodes for Linux guests
> + extends CPU hotplug test with numa options
>
> Igor Mammedov (5):
> tests: acpi: add CPU hotplug testcase
> tests: DO NOT APPLY: add APIC.cphp and DSDT.cphp blobs
> numa: reduce code duplication by adding helper numa_get_node_for_cpu()
> acpi: provide _PXM method for CPU devices if QEMU is started numa
> enabled
> tests: acpi: extend cphp testcase with numa check
>
> hw/acpi/cpu.c | 12 ++++++++++++
> hw/arm/virt-acpi-build.c | 6 ++----
> hw/arm/virt.c | 7 +++----
> hw/i386/acpi-build.c | 7 ++-----
> hw/i386/pc.c | 8 +++-----
> hw/ppc/spapr_cpu_core.c | 6 ++----
> include/sysemu/numa.h | 3 +++
> numa.c | 12 ++++++++++++
> tests/acpi-test-data/pc/APIC.cphp | Bin 0 -> 160 bytes
> tests/acpi-test-data/pc/DSDT.cphp | Bin 0 -> 6435 bytes
> tests/acpi-test-data/q35/APIC.cphp | Bin 0 -> 160 bytes
> tests/acpi-test-data/q35/DSDT.cphp | Bin 0 -> 9197 bytes
> tests/bios-tables-test.c | 30 ++++++++++++++++++++++++++++++
> 13 files changed, 69 insertions(+), 22 deletions(-)
> create mode 100644 tests/acpi-test-data/pc/APIC.cphp
> create mode 100644 tests/acpi-test-data/pc/DSDT.cphp
> create mode 100644 tests/acpi-test-data/q35/APIC.cphp
> create mode 100644 tests/acpi-test-data/q35/DSDT.cphp
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Qemu-devel] [PATCH v4 0/5] fix numa node mapping for hotplugged CPUs
2016-07-18 7:51 ` [Qemu-devel] [PATCH v4 0/5] fix numa node mapping for hotplugged CPUs Igor Mammedov
@ 2016-07-27 9:28 ` Igor Mammedov
0 siblings, 0 replies; 9+ messages in thread
From: Igor Mammedov @ 2016-07-27 9:28 UTC (permalink / raw)
To: qemu-devel; +Cc: marcel, peter.maydell, mst, zhaoshenglong, david
On Mon, 18 Jul 2016 09:51:01 +0200
Igor Mammedov <imammedo@redhat.com> wrote:
> On Mon, 4 Jul 2016 17:51:14 +0200
> Igor Mammedov <imammedo@redhat.com> wrote:
>
> Ping,
>
> Michael,
> it seems that series fell through cracks,
> could you pick it up please?
v2 ping
>
> > Changelog:
> > v3->v4:
> > - return -1 on failure from numa_get_node_for_cpu()
> > - replace SRAT table blob in 5/5 with note to maintainer to add it manually
> > v1->v3:
> > - fix commit message for 4/5
> > - add numa_get_node_for_cpu() helper
> > - add comment in code explaining why _PXM is being added
> >
> > Series adds acpi tables tests for CPU hotplug and
> > makes hotplugged CPUs assigned to correct numa nodes for Linux guests
> > + extends CPU hotplug test with numa options
> >
> > Igor Mammedov (5):
> > tests: acpi: add CPU hotplug testcase
> > tests: DO NOT APPLY: add APIC.cphp and DSDT.cphp blobs
> > numa: reduce code duplication by adding helper numa_get_node_for_cpu()
> > acpi: provide _PXM method for CPU devices if QEMU is started numa
> > enabled
> > tests: acpi: extend cphp testcase with numa check
> >
> > hw/acpi/cpu.c | 12 ++++++++++++
> > hw/arm/virt-acpi-build.c | 6 ++----
> > hw/arm/virt.c | 7 +++----
> > hw/i386/acpi-build.c | 7 ++-----
> > hw/i386/pc.c | 8 +++-----
> > hw/ppc/spapr_cpu_core.c | 6 ++----
> > include/sysemu/numa.h | 3 +++
> > numa.c | 12 ++++++++++++
> > tests/acpi-test-data/pc/APIC.cphp | Bin 0 -> 160 bytes
> > tests/acpi-test-data/pc/DSDT.cphp | Bin 0 -> 6435 bytes
> > tests/acpi-test-data/q35/APIC.cphp | Bin 0 -> 160 bytes
> > tests/acpi-test-data/q35/DSDT.cphp | Bin 0 -> 9197 bytes
> > tests/bios-tables-test.c | 30 ++++++++++++++++++++++++++++++
> > 13 files changed, 69 insertions(+), 22 deletions(-)
> > create mode 100644 tests/acpi-test-data/pc/APIC.cphp
> > create mode 100644 tests/acpi-test-data/pc/DSDT.cphp
> > create mode 100644 tests/acpi-test-data/q35/APIC.cphp
> > create mode 100644 tests/acpi-test-data/q35/DSDT.cphp
> >
>
>
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2016-07-27 9:28 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-07-04 15:51 [Qemu-devel] [PATCH v4 0/5] fix numa node mapping for hotplugged CPUs Igor Mammedov
2016-07-04 15:51 ` [Qemu-devel] [PATCH v4 1/5] tests: acpi: add CPU hotplug testcase Igor Mammedov
2016-07-04 15:51 ` [Qemu-devel] [PATCH v4 2/5] tests: DO NOT APPLY: add APIC.cphp and DSDT.cphp blobs Igor Mammedov
2016-07-04 15:51 ` [Qemu-devel] [PATCH v4 3/5] numa: reduce code duplication by adding helper numa_get_node_for_cpu() Igor Mammedov
2016-07-05 1:09 ` Shannon Zhao
2016-07-04 15:51 ` [Qemu-devel] [PATCH v4 4/5] acpi: provide _PXM method for CPU devices if QEMU is started numa enabled Igor Mammedov
2016-07-04 15:51 ` [Qemu-devel] [PATCH v4 5/5] tests: acpi: extend cphp testcase with numa check Igor Mammedov
2016-07-18 7:51 ` [Qemu-devel] [PATCH v4 0/5] fix numa node mapping for hotplugged CPUs Igor Mammedov
2016-07-27 9:28 ` Igor Mammedov
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.