[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] dom0/pvh: fix processing softirqs during memory map population


  • To: <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Roger Pau Monne <roger.pau@xxxxxxxxxx>
  • Date: Sat, 5 Feb 2022 11:18:06 +0100
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=WVTS8os2R3JAl8Zb/Mnli4SsMsV4iD+DmljA87DcI6I=; b=Pbk1y1L4IPdctph+56vSxg2VVYotDV0Em5AOXUr7jcsQ+TKvVFwnMDUkRQMVkEgeDiPbsPy+ctwXkvB996LTum7w+r8QbRi5vX5GvPcLznCG0+FUlgCLE1BrH/lpgq9J1aYSPwTs3eB/uvH9VABus3jWCTLai+xStJ96aVScafGd2lFJkCp+tUnCo4fxWU4p834CrX+IoZSCkChYXHyi1y6w+nS2KnFKFI3WqbgFmdA/q5WmJXFnYmR00PXLlvCbMPE/xcN203NAlR+bnpy2owLcULXCmTQJTEYlaGyKX7UOYlFT3yJ5TzIYpvNXpSKBMN+y7ZuQeiJbbEaOYLBt6Q==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RLzjjzEfAAtNXh2YIi58GFXnJh9GsbLa4VYhA+V5t7X1UBcR32sMeXgiPt8fVntIJD7Q8vZzQDekjt7y1EUCTkDmwx27S4yHZOhr329lxlIoAyxN5uRoChB9r0+JUSFX8Z64fP+XHao3RyyEJToNP651S6KFn4NgWjbUBB238C3EGzUIBq+GsM1jBRpRttWcen/sFKVZakJAIbb/1VZAb8j+mqGutWsi52ZfPvQOvLH8zs6YA5CfMq0sPy0x0HtqmITSierBrkFz+Rcf7SIecSvfiyYkrobS0WjJyDteLtaHjNa5E4dB4VKokBG/T4C7OqHlvzj8PN8qeKj9cV7rVQ==
  • Authentication-results: esa5.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
  • Cc: Roger Pau Monne <roger.pau@xxxxxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>
  • Delivery-date: Sat, 05 Feb 2022 10:18:31 +0000
  • Ironport-data: A9a23:/tJ6Ea4LJ9C6QXeVE/LcxgxRtN7AchMFZxGqfqrLsTDasY5as4F+v mUYD22OOauDMWGmKY9/b9i3pE9Q657SytAwSQNsqywxHi5G8cbLO4+Ufxz6V8+wwmwvb67FA +E2MISowBUcFyeEzvuV3zyIQUBUjclkfJKlYAL/En03FV8MpBsJ00o5wbZj2tMw2LBVPivW0 T/Mi5yHULOa82Yc3lI8s8pvfzs24ZweEBtB1rAPTagjUG32zhH5P7pGTU2FFFPqQ5E8IwKPb 72rIIdVXI/u10xF5tuNyt4Xe6CRK1LYFVDmZnF+A8BOjvXez8CbP2lS2Pc0MC9qZzu1c99Z7 dBO67ezZwATAKTrvu83cD1+NjFRMvgTkFPHCSDXXc27ykTHdz3nwul0DVFwNoodkgp1KTgQr 7pCcmlLN03dwbLtqF64YrAEasALNs7kMZlZonh95TrYEewnUdbIRKCiCdpwgmxo3JgWTKa2i 8wxbRdzMBf+Pxd0B1opBtF93+SI10WibGgNwL6SjfVuuDWCpOBr65DyNPLFd9rMQt9a9m6ar G/b+2XyAjkBKceSjzGC9xqEluLJ2C/2Ro8WPLm57eJxxk2ewHQJDx8bXkf9puO24nNSQPoGd RZSoHB36/Fvqgr7FbERQiFUvlahux1CcNl+FNcE4SarwYD3xyC8FkcLG2sphMMdiOc6Qjkj1 1msltzvBCByvLD9dU9x5ot4vhvpZ3FLcDZqiTssCFJcvoK9+N1bYgfnE447eJNZmOEZDt0ZL 9qiiCElz4segscQv0lQ1QCW2mn8znQlo+Nc2+k2Yo5Hxl4hDGJGT9bxgbQ+0RqmBNzEJrVml CNc8/VyFMhUUfmweNWlGY3h5o2B6fefKyH7ilVyBZQn/DnF0yf9IdwIuGkhexkxbpZsldrVj Kn74145CHh7ZyPCUEOKS9jpV5RCIVbISbwJqcw4nvIRO8MsJWdrDQllZFKK3nCFraTfufpXB HtvSu71VSxyIf0+lFKeHr5BuZd2lnFW7T6CHvjTkkX4uZLAPyT9YelebzOzghURsfrsTPP9q I0EaaNnCnx3DYXDX8Ug2dRPdABRcylnWsyeRg4+XrfrHzeK0VoJUpf56bggZ5Zkj+JSkOLJ9 Wu6QUhW1Bz0gnivFOlAQikLhGrHUcktoHQlEzYrOFr0iXEvbZz2tPUUdoctfKlh/+tmlKYmQ /4AcsSGI/JOVjWYpGhNMcij9NRvJEaxmAaDHyu5ezxjLZRucBPEp43/dQz1+ShQUifu7Zkio 6et3x/wSIYYQ1gwF97fbf+ilgvjvXUUlO9ocVHPJ91fJBfl/IRwcnSjhf4rOcAcbx7Ew2LCh QqRBB4Zo8jLopM0r4aV1fzV8d/xHrInTERAHmTd4bKnDgXg/zKukd1aTeKFXTHBT2eoqq+sU vpYkqPnO/odkVcU74clS+R3zbgz7sfErqNBylg2B23CalmmB+8yInSC2sUT5KRByqUA5FmzU 0OLvNJbJa+IKIXuF1tIfFgpaeGK1Pc1nDjO7KtqfBWmtXEvpLfXA19POxSsiTBGKOonOYwo9 u4tpcoK5lHtkREtKNuH0nhZ+mnkwqbsiEn7WkX22LPWtzc=
  • Ironport-hdrordr: A9a23:o7yWc634t4TXsDpENR7fxwqjBVxyeYIsimQD101hICG9Lfb3qy n+ppsmPEHP5Ar5OEtBpTiBUJPwJk80kqQFnLX5XI3SJjUO3VHIEGgM1/qa/9SNIVyaygc/79 YfT0EdMqyJMbESt6+Ti2PUYrVQouVvmJrY+ts2pE0dKz2CBZsQizuQXW2gYzFLrUR9dNIEPa vZwvACiyureHwRYMj+Ln4ZX9Lbr9mOsJ79exYJCzMu9QHL1FqTmfTHOind+i1bfyJEwL8k/2 SAuwvl5p+7u/X+7hPHzWfc47lfhdOk4NpeA86njNQTN1zX+02VTbUkf4fHkCE+oemp5lpvuN 7Qoy04N8A20H/VdnHdm2qb5yDQlBIVr1Pyw16RhnXu5ebjQighNsZHjYVFNjPE9ksJprhHoe 129lPck6ASIQLLnSz76dSNfQptjFCIrX0rlvNWp2BDULEZdKRaoeUkjQ9o+a87bWPHAb0cYa lT5Jm23ocUTbraVQGVgoBX+q3jYpxpdS32AHTruaSuokxrdT5Cvg4lLfck7wc9HaQGOux5Dt T/Q9VVfY51P7wrhNpGdZw8qOuMexrwqEH3QSuvyWqOLtB0B5uKke+y3IkI
  • Ironport-sdr: vu/wimMayj2EusvVM661aDL50nzLQa4XmstURWNMBYZMFI89q4+vAeOvO+dx1tw2bv1Y8KGOwp v0vJrR6P2cQG4u6LOeYeuHz+afUAT0JkUv/EnNN3EppXj4cwpYpmY42e/kzSAXjZZf58z1VVQh y9DiKMLTImK2vwADjrAppMcpKKpuECHjq4QykBVWlMXMV7UjvboudaqNU5lYY6RzSQSLy2rUT6 SV38sDXxI8GCI/PpRrX1sGrGwOyyUzCkTk1f7ahCcMIBm5wcnMLu0HMl9SWlPCv7HH0ZP+y+Cy MHIl/gno2KCNugCgKXvGx6gx
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

Make sure softirqs are processed at least once for every call to
pvh_populate_memory_range. It's likely that none of the calls to
pvh_populate_memory_range will perform 64 iterations, in which case
softirqs won't be processed for the whole duration of the p2m
population.

In order to force softirqs to be processed at least once for every
pvh_populate_memory_range call move the increasing of 'i' to be done
after evaluation, so on the first loop iteration softirqs will
unconditionally be processed.

Fixes: 5427134eae ('x86: populate PVHv2 Dom0 physical memory map')
Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
---
 xen/arch/x86/hvm/dom0_build.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/hvm/dom0_build.c b/xen/arch/x86/hvm/dom0_build.c
index 549ff8ec7c..78d6f1012a 100644
--- a/xen/arch/x86/hvm/dom0_build.c
+++ b/xen/arch/x86/hvm/dom0_build.c
@@ -186,7 +186,7 @@ static int __init pvh_populate_memory_range(struct domain 
*d,
         start += 1UL << order;
         nr_pages -= 1UL << order;
         order_stats[order]++;
-        if ( (++i % MAP_MAX_ITER) == 0 )
+        if ( (i++ % MAP_MAX_ITER) == 0 )
             process_pending_softirqs();
     }
 
-- 
2.34.1




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.