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

Re: Panic on CPU 0: FATAL TRAP: vec 7, #NM[0000]


  • To: Andrew Cooper <Andrew.Cooper3@xxxxxxxxxx>
  • From: Jan Beulich <jbeulich@xxxxxxxx>
  • Date: Wed, 20 Jul 2022 14:59:35 +0200
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; 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=9/hnnNYAAcECQlEoVrAmax3zp/3OszhvmF6k3LHBTMg=; b=E+CycUuJXlWgOUPPPF5QyJvrTwQgA6L/ryucFG4/EAySUAoheb63TZZQrqlUP8juh4ISGvhbV91FdXEVeaZOo0dJ+BMgWQsepIIV7n7YEl6ROk5u86m91RTF2Bt6Faa/R+6weZpDUNKAddfDnLSREBCfiYYUg8+nzWnS6G9D+cArIPrRwg9zqr0T6mw5kHqiqBKhxes9/de9JgWQ2uZJjGA+WVDAennBNanl6PeJBm308onWVoNhNzoI4xH5BCvJ9beAnE0ELvlQZB8WCzsJJlqZoSo5/i1ZyWuC06tRWD73bSEk8XQiWxBbjAdmAiHPObC1tFfFjf67BSmTU+EazQ==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fpTehVZRMxJAeaY8d9/KUQ9WDYnflfD66BlzV+xlLrLrhjlC9FvLhRb5h2lX0gWoUIz+aa84V+C5iGST2lesRLtS6T1GEFLwbz/lceXKXdM75SGU92aBQgKwhD/Hq3BpKODpqPBNQ+qEWJUjA2O5ycaKS0MBe0YAB+S6MGDEKu47JCrU0ZBC1LrnjdovhIh8rdlmD41tYy8YEa2ly7BabbOR3awccFUcWTdrv231587I/YPS6OLzBYV3iKl3f1kGMca3S212G41QbwNRL01REasN4FKyqo/2Gdqr0fwPgmPRd1jf11h6T1Hn9O+i9n5lHqPYeda+y1x2lnFRQyPvjQ==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com;
  • Cc: Michael Young <m.a.young@xxxxxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, ChrisD <chris@xxxxxxxxxxxx>
  • Delivery-date: Wed, 20 Jul 2022 12:59:54 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 20.07.2022 12:02, Andrew Cooper wrote:
> One observation though.  We do pass -mno-sse but not -mno-mmx.  I still
> can't figure out what makes the compiler think there's any SIMD to be
> done in this function.

So this looks to be "optimization", done in a few more places. The pattern
is always the same: A 32-bit GPR is known to be zero, and there's nearby
code which wants to store two adjacent zeros. Hence they take those 32
bits of zero in the GPR, move to %mm0 (which already zeros the upper half),
unpack it to have the 32 bits of zero duplicated into the upper half, and
then use %mm0 to do the store of the pair of zeros. IOW they "auto-
vectorize" these two stores into a single V2SI (using the common notation)
one.

Besides this being quite the opposite of optimization, of course we didn't
tell the compiler anywhere that it might use any of the %mm<N> registers.

Jan




 


Rackspace

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