From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============3779152685073876717==" MIME-Version: 1.0 From: Harris, James R Subject: [SPDK] Re: About "core_mask" for DPDK EAL Date: Thu, 27 Feb 2020 15:10:22 +0000 Message-ID: List-ID: To: spdk@lists.01.org --===============3779152685073876717== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Hi Niu, The core mask is used to specify which cores will be used for polling threa= ds managed by the SPDK/DPDK application framework. There really isn't a wa= y to disable the core mask, but there are some ways to minimize its effects. I'm curious - in your environment, when do you create your DAOS threads? A= nd you create them from the same thread that is calling spdk_env_init()? Note that the thread calling spdk_env_init() will be pinned to that single = core you've specified in your core mask. And threads created after spdk_en= v_init() will inherit that affinity. You can call spdk_unaffinitize_thread= () immediately after spdk_env_init() returns to eliminate that affinity. C= ould you try that and see if it helps when specifying core_mask 0x1 in your= environment? -Jim =EF=BB=BFOn 2/27/20, 2:02 AM, "Niu, Yawei" wrote: Hi, = We (DAOS) used to call spdk_env_init() with default =E2=80=98core_mask= =E2=80=99 =E2=80=9C0x1=E2=80=9D to initialize DPDK EAL, during recent tests= , we realized that performance can be boosted a lot by changing the =E2=80= =98core_mask=E2=80=99 to some other value like =E2=80=980x8=E2=80=99, so I= =E2=80=99m wondering if it because some sort of DPDK service thread was ste= aling CPU cycles from DAOS service thread, and when the =E2=80=9Ccore_mask= =E2=80=9D is changed, the DPDK thread is happen to be created on some unuse= d core? But I didn=E2=80=99t observe any suspicious thread by =E2=80=98ps= =E2=80=99 command (with core_mask =E2=80=980x1=E2=80=99 or =E2=80=980x8=E2= =80=99). = So my question is what this =E2=80=98core_mask=E2=80=99 is used for? I = suppose it=E2=80=99s not useful for our server (we have our own polling thr= ead and user level scheduler), is there any way to disable it? What=E2=80= =99s the best practice of this =E2=80=98core_mask=E2=80=99 configuration fo= r SPDK apps? = Thanks -Niu _______________________________________________ SPDK mailing list -- spdk(a)lists.01.org To unsubscribe send an email to spdk-leave(a)lists.01.org = --===============3779152685073876717==--