From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id D8AF0CD6E77 for ; Thu, 4 Jun 2026 16:38:40 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 5FDA811A1BA; Thu, 4 Jun 2026 16:38:40 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.b="ZhQyF43V"; dkim-atps=neutral Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.13]) by gabe.freedesktop.org (Postfix) with ESMTPS id E1BCC11A1B9 for ; Thu, 4 Jun 2026 16:38:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1780591099; x=1812127099; h=message-id:date:subject:to:references:from:in-reply-to: mime-version; bh=/Y85vh9ZgpYs8dgtpFo3aCGnii4+a8kb62ZOkEj7czw=; b=ZhQyF43VfF/SbuGel5FK9GzhUwAp4XFWXVx5lWx2mquUGxB4e0QrGirp 2rEhi41Dk+ZVlRKGG5sd+OIe3JVyCw8QBln8ltj1EIKfsioi+x3Ub5rJw EytIySg2KH5bQjgtZh8MNkpDi+IbuClOqYe8ZKb/k5V1eOaw2uTuVRUGD 33Xnt4JaSKcTSZpo5M2tMRbI2NNf39gf1WlMtzfLQEi9xPUISf2kg44HL lqJYIoqZdGouev0yUpLRJpdCizyByDKBrpiXuYBrdbYMRGII0hjOpoHax NvcpywbJauCl7cnJfWC82fBNMhFA662zBAbKTeKZybYVrHK3D2F7W68w1 A==; X-CSE-ConnectionGUID: U8WdMAZIToG50ahhS6wZ2A== X-CSE-MsgGUID: z2X+N5gKSTKQQdDQDuMWuA== X-IronPort-AV: E=McAfee;i="6800,10657,11807"; a="92531545" X-IronPort-AV: E=Sophos;i="6.24,187,1774335600"; d="scan'208,217";a="92531545" Received: from fmviesa007.fm.intel.com ([10.60.135.147]) by orvoesa105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2026 09:38:17 -0700 X-CSE-ConnectionGUID: p8DCOct1QQuxdRCdyGo89g== X-CSE-MsgGUID: QzmMpB5KTymc8NLwrKddvA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.24,187,1774335600"; d="scan'208,217";a="241609222" Received: from orsmsx901.amr.corp.intel.com ([10.22.229.23]) by fmviesa007.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2026 09:38:17 -0700 Received: from ORSMSX901.amr.corp.intel.com (10.22.229.23) by ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.37; Thu, 4 Jun 2026 09:38:16 -0700 Received: from ORSEDG903.ED.cps.intel.com (10.7.248.13) by ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.37 via Frontend Transport; Thu, 4 Jun 2026 09:38:16 -0700 Received: from MW6PR02CU001.outbound.protection.outlook.com (52.101.48.62) by edgegateway.intel.com (134.134.137.113) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.37; Thu, 4 Jun 2026 09:38:16 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=k9yl0G2RZX6SQvXOkSd/FIDvvzZYV7R4xjiOeHL4bRadH4qkJyTE93+MrhCweb3hj9103aw7vmWfmqzHvEgP9f+fEAk0o+YStGBLEwIb6/b88sWK7lGigt8/IVkdd93y40SFKrnD1L1Z0r8zN7kGwh6mRFt78IliJqcYdmHGi7YkkwrjHnRWHw7cIRC3bP9SmQBSXcIw2UNPO6kpKz4Tv8NP2LfNzjGuJfsPvveMPImpDLxkyzPy/LAdwvQ4/APeVoQoP2HNPenVczWJElDGwY4NY4AbALD2EJGhjG07Vpc7n85KQmF/Vutgn4moeyVtbLAM+/nakF3BYNoUVMF+XA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=CGkazuHRKkhoAEjocos1cSjUCMyofdR2t4rPeq9/mRQ=; b=fiEhvHwb1NpXjow9wFDS4aFPhl8/M13IoasKeojFmHHELrdR38ECOnYl1+MwN3dUbBxl3esZmGxGS6l0UUTDwTFcKSRW06yh89hYO826btH2N6fms9JY3Q876uhv9l38q64s3OtGq95B9tsT0qg5EDb1OMcV4+V62Vf1AFFhl6cc6kTC8/GDb9G9k90j/pdicix1W0J+hHy+/B/FjP+CJsz6phkX8Q3eHCiPOs0TcyOPboHhI5rAgRIBse5dAKORXlE60a6NuhL9F+ic+xh//uCSJTabRoi0Qfmzpd06O+QDxueINAyA+TdApA9k8nrw4leJX5JCDTyRNe2wMsAD6w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; Received: from DS4PPF07B018B9F.namprd11.prod.outlook.com (2603:10b6:f:fc02::7) by PH0PR11MB4968.namprd11.prod.outlook.com (2603:10b6:510:39::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Thu, 4 Jun 2026 16:38:09 +0000 Received: from DS4PPF07B018B9F.namprd11.prod.outlook.com ([fe80::f55b:3f29:ceee:24ca]) by DS4PPF07B018B9F.namprd11.prod.outlook.com ([fe80::f55b:3f29:ceee:24ca%8]) with mapi id 15.21.0092.006; Thu, 4 Jun 2026 16:38:08 +0000 Content-Type: multipart/alternative; boundary="------------IZrfua4Knf6QGsgYPlwA87pg" Message-ID: <08a9c871-8829-45ff-8db8-734ff2ec82a7@intel.com> Date: Thu, 4 Jun 2026 22:08:01 +0530 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] xe_exec_system_allocator: fix PREFETCH_SPLIT_VMA bo_size for PVC To: Jia Yao , References: <20260504223717.1080309-1-jia.yao@intel.com> Content-Language: en-US From: "Thomas, Sobin" In-Reply-To: <20260504223717.1080309-1-jia.yao@intel.com> X-ClientProxiedBy: MA5PR01CA0190.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a01:1b2::10) To DS4PPF07B018B9F.namprd11.prod.outlook.com (2603:10b6:f:fc02::7) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS4PPF07B018B9F:EE_|PH0PR11MB4968:EE_ X-MS-Office365-Filtering-Correlation-Id: 3c9ccd56-8c9f-40b1-1c96-08dec257a8d0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|366016|1800799024|376014|8096899003|56012099006|11063799006|22082099003|18002099003|6133799003; X-Microsoft-Antispam-Message-Info: s8r1DK0DeuxSpR/wpJkUy5ehXJNGaUzHATPlff9+KHLEeNMXyLfJ/OgDlg7PqpXTXZLiCIOpvLhmJPXzxBg5OQuuMdU3OEvgLygTRJQJbOc5yUbNU8DUZ4wEBVytZonpU0ZUkjchWxZzuOHB9MktzoBJYg2InZD8DWgmMcdg4aQGBBX8Vo4FrKhGKhyX9TeyfeN3MuykrvLU+htPxLPSO6j5rRnQ0RzlmsDP8HkYQZ0aknTFn1VFnFQSeHOl0RgZ8HPPUqGkbBmlJhjJc9wT9GlcE6Xsw/UMU19ST2EEdONu6gRswQYN6V80AGHJdCo9ftIRtHD5/HV4zAAozdXmSUIgCTbT+e4wrwoHz7i5j/cAHA56WoT6SAMYL4hEtUPjD8/PaWGEiMNeJf4xP+DUFrV9CRXVFhSurYixYHxs2709HBjxEfmmM5pLFDflDZwxb1o/wDX2hNyGrel0k1MmCXGLHhESVzUVkKggk4o7r24eZUNLtm9CRYXQUe6PwU5/9xXys4JrIHDD8j14MZj5cAFfmO8ygNXEzEqt9xnxL6Q2+wDyYKbzLuCbgNP0HhF8Bd5UBhn/pEN+14Lg0gDNdRl12sLIdZvF1iiOXskhFlhyfkTIJIPyphPQEFtQmdwwdS4MVVlf6HZF7uJ6YfPGfH5vRWdtJTtjGT9gYTWFl1uGPtge7+ypZspwxuNU0RtI X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DS4PPF07B018B9F.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(1800799024)(376014)(8096899003)(56012099006)(11063799006)(22082099003)(18002099003)(6133799003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?aTBBdWlnVlJQenNwemxpMnoveXYzYzdlYmNLLy9BN0lhdUp3OXJZQkRzRFQx?= =?utf-8?B?M1BhMC9zQmRQMnR3RWJERmJaeGMvL0t3S05oRUVPVkNBMHlnY3laOVNnR0FR?= =?utf-8?B?T01WZkJZRllocThZWVV4QzdaTHFtMWwvbW5Qa1FqUGtLTE55YWwyQmttMWg0?= =?utf-8?B?c3ZiVjlvV05sNmNLcVorQUJienNOaFhZbHRWend3YUVsSUNESTF4dkR6WWE0?= =?utf-8?B?bitLdkZoSjEyOXc2Vzd6MHF5NkJ4eVRZQk1JY2p3Z3VnRDVXRitzdGtzaW9F?= =?utf-8?B?cGJleXJBMEVmZTlNRCtTZUN0OFRObkdxeE0xNUs2SXVQc1UzTE9Td2UzZlBC?= =?utf-8?B?MVJjalo0QmQwVW03Zkh3K1h3TkovUmxxQzBLelpZUGJBR20zaDBMaldoSDZY?= =?utf-8?B?R1hWYnNEbUhieWE4UXVPdmhBY01YWmxnZElTakVYcVdad2R0Rm5sVWw4YXZD?= =?utf-8?B?OHFvK01zSU44YzFRbGVheE9sdDdTbFBvS3FsUkJGY2EvUGZkSFk0Q3JsRGxr?= =?utf-8?B?RkxzaVNGRHZPSWZzdUprdXlrVFZnL2thZzdzZUtJVkRzeDNHMFhaRXlybjZl?= =?utf-8?B?YW9PWG1Fb3FvbzNGVlU5aHkvY3FMZ0pMYXlsUnhNa1N0V29meDFwS3crdFR0?= =?utf-8?B?MHlWQ3NFakxjYlNsdFB2QURzTU1UUFpia1N0RmhOUUpRU2MrbHR2SHNjZUs0?= =?utf-8?B?bUsrZzBKTmtEL1dUMUtxbm5HNndjU0lZY2FMajBDOW4xRFhDZUw1dnZmWmZu?= =?utf-8?B?cGxNSDNqRkpYeHFaSEt3dkZWVXRLL0JiRHdCREdsVGxjQ0ljSkhvK1Z5Ukxi?= =?utf-8?B?djNCcU5sOEt5TWZpbzVGUEhSRkpuQW5iTktPYnhIVEw2Y3AwY0p1NlJ0Ly9p?= =?utf-8?B?aGZEamtjdkZZOFh1WHBrb0VBSHhMWC9zbDNNTWRCeVVtWGdldjlsUmNJMnRZ?= =?utf-8?B?M0FzVnZBeitGL3RpWVhBUmRPYThuL0RpdUZ2Sk5odmRBY2g2OEExQXU4YS9u?= =?utf-8?B?OVJWUDRwOHIzbTRKOWhtWGltYTZZZ2c5WHI2c2ZIamx0NEhsVFlVUVVwcTI2?= =?utf-8?B?K1cyeXVCbWxGbDFTWU43dzZHeDc1dmNYYlRIKzd3VU5HVWtkTHI2MDNMdmEr?= =?utf-8?B?RjRCeU1RUlEwS3BwMXJ6dlFQeThwbHl1dnZWNFRsUlFlNTFzNjc2R1MvQ2Yx?= =?utf-8?B?ZkYvUGc1TFdrUVJRclVKbWx1dC9helY0aGl6czVqM2FVbkRwRXRGcFBIdW5V?= =?utf-8?B?bHRQbWRINFNvbUVrRmlQK01ObW5zbnMyWXc1Z2c1Y3diclB6VXR3dHpVT1c5?= =?utf-8?B?bWxta21WSEFkZFMzdzRDSkJQemJJU1ljQUUwWStpM1dkNnlpdTZURk5zSlBZ?= =?utf-8?B?TlplOE5jcTA4UEpDMDVVUURyY2RDSlh2SVZmcUwxY1orQ3JVM2hDUTFqdTB6?= =?utf-8?B?UGJLcURrNHFyakVUa3R3SlRzNjdsaFlZSEJFa09zSzNrUFRUUjBHQjAvRkla?= =?utf-8?B?QXpLZEdFMWRKVDUxdHl6YWpwUmlUdm1scVo4NStaSzdCTHZ0NUdDdXhDVno2?= =?utf-8?B?N0QzWHpIWlAvQnRJRmtkYU9DYUlnd2xNTlRKUmVtSGw4OE1sVzlHYUphWUk4?= =?utf-8?B?WUZMczgvZ2tFMzZsMjZVbWV1MGpDUHhFbEsxanZnY2sxZ0ZaanNrV1lmYzM0?= =?utf-8?B?UlNrMS8zZy9XY0JuV3IvVzdCd3R4Y0Y4ZzNHMUM2aU1qSEtTUGZEUEpaNXY3?= =?utf-8?B?MWFWTmV6WXBjMWlHdUFybHJHWWQ3SURnSjgza0VkRHJ6M2NqVXFrOUs3S2NG?= =?utf-8?B?SkVXOUo3Z1Z2Rk1HaDNyd1hXd2k1VHJ6UmFhWGJqNkFTUC9LdmJFbmxuT21Z?= =?utf-8?B?UkhXb3RQQW9ncWE4bk92c1lENE5TVTJRdU1kMHF3TThOcCt1SXBiSmt3b3Bp?= =?utf-8?B?cGpkWlFHMVdldk5uT0QvV0c1MWpxalhhYnBjenhpSkJCa0xhOEdkZTNzM1N0?= =?utf-8?B?VUpERkFRSDFsZEpYWkQ3cndjdmc1NWczQUEzQVZSSXdrV0xYNXhiZkJJaUMz?= =?utf-8?B?blVtak84TWlLOFdKZDlYUERFOVJ0cFRhOUh3ZHlXQ3Z1SFJhRDRCc2hPNDd3?= =?utf-8?B?UThFSzBYcUY1MGEvdmRSS0hXN3lwaFdJSjNCYnBzUlAwUmFlcjd6UmtCN3BQ?= =?utf-8?B?Ny9yOUpCYUtGMW1OSFU3a1lXNWswMjV3M3JqTW1qRzNXL1A4Vm54UDRQYzlt?= =?utf-8?B?M0d2YnZ6MlQ0SFVVaDFDQTBkU2pqdXk2MVppOHYzdGh0NU9CZ3ZQSzBaWkxN?= =?utf-8?B?eVNvVzQxcU85WFVKYzNjaFExY1AwR1ZBVzhBc29EeUQ0Tk5hcTlJQT09?= X-Exchange-RoutingPolicyChecked: R4By9WeM+v8IrAs6H/Xm19YeEsyXE7HiUmAuqYkspFfwKptHaQD9oac2i4pEiybflkUJ/IwVByHSyZX4tPCfZeYdFpKHG5iEUj1rYV7RXRB8eVdULf648o7pRAnwlUkmltVsC07nrSded1tIKbWVbZwIsquIucFwoT2sAmqD1wHahsGQHjEAIhxLm1wIBOwaSnrdhW77443JA/wxFp/z0muUTYM+lvaSzL62H8TPt8MNH+uX6C1d/8CI8OBcpcQ3ApCz6Sgrc0uhGUQwvtNdkbLVQhT0d2yO3A51IDz730UOkHaODMI9WvvYYWybHsnPWujoi1y744pL/3jmmYmDKA== X-MS-Exchange-CrossTenant-Network-Message-Id: 3c9ccd56-8c9f-40b1-1c96-08dec257a8d0 X-MS-Exchange-CrossTenant-AuthSource: DS4PPF07B018B9F.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2026 16:38:08.7075 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ybpHtqqheVoSW2htMSJB7HfTggUafaqYZhNx/7MSMCVkpAuNVWvzPiQUj+W8msYKLhrh326SC27+ueo9TZOa2g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB4968 X-OriginatorOrg: intel.com X-BeenThere: igt-dev@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development mailing list for IGT GPU Tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" --------------IZrfua4Knf6QGsgYPlwA87pg Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit LGTM. Reviewed-by: Sobin Thomas On 5/5/2026 4:07 AM, Jia Yao wrote: > The PREFETCH_SPLIT_VMA subtest splits a buffer in half and relies on a > GPU atomic fault to trigger SVM migration of the first half to VRAM. > On PVC (XE_VRAM_FLAGS_NEED64K), xe_svm_range_needs_migrate_to_vram() > rejects ranges smaller than 64K, so when bo_size=SZ_64K the 32K split > half never migrates, causing an atomic timeout. > > Fix by passing SZ_128K as bo_size for PREFETCH_SPLIT_VMA subtests so > each half is exactly 64K, and align bo_size to 64K inside > madvise_prefetch_op() to match the granularity PVC requires. > > Cc: Sobin Thomas > Signed-off-by: Jia Yao > --- > tests/intel/xe_exec_system_allocator.c | 19 ++++++++++++++++--- > 1 file changed, 16 insertions(+), 3 deletions(-) > > diff --git a/tests/intel/xe_exec_system_allocator.c b/tests/intel/xe_exec_system_allocator.c > index 5580099f7..deef7626c 100644 > --- a/tests/intel/xe_exec_system_allocator.c > +++ b/tests/intel/xe_exec_system_allocator.c > @@ -1380,7 +1380,10 @@ madvise_prefetch_op(int fd, uint32_t vm, uint64_t addr, size_t bo_size, > uint32_t num_ranges; > > if (flags & PREFETCH_SPLIT_VMA) { > - bo_size = ALIGN(bo_size, SZ_4K); > + uint16_t dev_id = intel_get_drm_devid(fd); > + size_t alignment = IS_PONTEVECCHIO(dev_id) ? SZ_64K : SZ_4K; > + > + bo_size = ALIGN(bo_size, alignment); > > xe_vm_prefetch_async(fd, vm, 0, 0, addr, bo_size, NULL, 0, 0); > > @@ -2751,9 +2754,19 @@ int igt_main() > > for (const struct section *s = msections; s->name; s++) { > igt_subtest_f("madvise-%s", s->name) { > - xe_for_each_engine(fd, hwe) > - test_exec(fd, hwe, 1, 1, SZ_64K, 0, 0, NULL, > + xe_for_each_engine(fd, hwe) { > + /* > + * PREFETCH_SPLIT_VMA splits the buffer in half > + * and migrates the first half. On platforms with > + * 64K VRAM granularity (e.g. PVC), each half > + * must be >= 64K, so use SZ_128K as bo_size. > + */ > + size_t bo_size = (s->flags & PREFETCH_SPLIT_VMA) ? > + SZ_128K : SZ_64K; > + > + test_exec(fd, hwe, 1, 1, bo_size, 0, 0, NULL, > NULL, s->flags, NULL); > + } > } > } > --------------IZrfua4Knf6QGsgYPlwA87pg Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: 7bit

LGTM.

Reviewed-by: Sobin Thomas <sobin.thomas@intel.com>


On 5/5/2026 4:07 AM, Jia Yao wrote:
The PREFETCH_SPLIT_VMA subtest splits a buffer in half and relies on a
GPU atomic fault to trigger SVM migration of the first half to VRAM.
On PVC (XE_VRAM_FLAGS_NEED64K), xe_svm_range_needs_migrate_to_vram()
rejects ranges smaller than 64K, so when bo_size=SZ_64K the 32K split
half never migrates, causing an atomic timeout.

Fix by passing SZ_128K as bo_size for PREFETCH_SPLIT_VMA subtests so
each half is exactly 64K, and align bo_size to 64K inside
madvise_prefetch_op() to match the granularity PVC requires.

Cc: Sobin Thomas <sobin.thomas@intel.com>
Signed-off-by: Jia Yao <jia.yao@intel.com>
---
 tests/intel/xe_exec_system_allocator.c | 19 ++++++++++++++++---
 1 file changed, 16 insertions(+), 3 deletions(-)

diff --git a/tests/intel/xe_exec_system_allocator.c b/tests/intel/xe_exec_system_allocator.c
index 5580099f7..deef7626c 100644
--- a/tests/intel/xe_exec_system_allocator.c
+++ b/tests/intel/xe_exec_system_allocator.c
@@ -1380,7 +1380,10 @@ madvise_prefetch_op(int fd, uint32_t vm, uint64_t addr, size_t bo_size,
 	uint32_t num_ranges;
 
 	if (flags & PREFETCH_SPLIT_VMA) {
-		bo_size = ALIGN(bo_size, SZ_4K);
+		uint16_t dev_id = intel_get_drm_devid(fd);
+		size_t alignment = IS_PONTEVECCHIO(dev_id) ? SZ_64K : SZ_4K;
+
+		bo_size = ALIGN(bo_size, alignment);
 
 		xe_vm_prefetch_async(fd, vm, 0, 0, addr, bo_size, NULL, 0, 0);
 
@@ -2751,9 +2754,19 @@ int igt_main()
 
 	for (const struct section *s = msections; s->name; s++) {
 		igt_subtest_f("madvise-%s", s->name) {
-			xe_for_each_engine(fd, hwe)
-				test_exec(fd, hwe, 1, 1, SZ_64K, 0, 0, NULL,
+			xe_for_each_engine(fd, hwe) {
+				/*
+				 * PREFETCH_SPLIT_VMA splits the buffer in half
+				 * and migrates the first half. On platforms with
+				 * 64K VRAM granularity (e.g. PVC), each half
+				 * must be >= 64K, so use SZ_128K as bo_size.
+				 */
+				size_t bo_size = (s->flags & PREFETCH_SPLIT_VMA) ?
+						 SZ_128K : SZ_64K;
+
+				test_exec(fd, hwe, 1, 1, bo_size, 0, 0, NULL,
 					  NULL, s->flags, NULL);
+			}
 		}
 	}
 
--------------IZrfua4Knf6QGsgYPlwA87pg--