[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3 2/4] vpci: allow queueing of mapping operations
- To: Stewart Hildebrand <stewart.hildebrand@xxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
- From: Mykyta Poturai <Mykyta_Poturai@xxxxxxxx>
- Date: Thu, 2 Apr 2026 15:52:20 +0000
- Accept-language: en-US
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com; dkim=pass header.d=epam.com; arc=none
- 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=JaeQ8h1iJNhyinlJBVQjg89/c/eTss9GxwDuxdgoFJA=; b=Pq0YMEZjvkdgUaHAG5os+uU/GQvv/WbdEFeSg0mrmP2UdG3D9l4lyaGkH+JKHFfM+xyxTPSmEBZCK218gxCAcOtDozLoc4bp3rIvwHY0TspgcYrPQ7LR2ptKe1Z52J0X3G7bk9iVBR8dRwy5Mul/JKBOFJ8vH98fZm9AcUhFOlTcHEXi7uBzDuwCyM8vu/TtDug0Jw8ecxqlF7HVuG4/zkll870RTvwd56xyYY+RP38Bx8cTx+RJStAcpplCQ9g3xNlt8g0IgcXxpp+gtI9WCDv3m82DaZsd9yWl6p79iasb1eYFjXPfwZ3CnwUr8DTctQ0tNaS+uoHLeHCcmKwoHw==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Xc0cNF1uBD55s83KHL26RXwXJJ8T0KuQ1D0MFM2dnB/JXgILtMI/cwN6xfbo1X93P/I4zq7GIo6qSlUAy1EKTB1IoW/MrRHxlC4pfV3VAt8ODPS9PcZ9NVJ/mMD6Fz7I+27zlBE0Ioee67VRCdnYm2cL2bqr06kyMcPGHTnx6L17PiTQpJZDIpYR1c37FS2LRbJ28CVw7yQawBK4OOgEGJa4DJSvXSm3kWNCY3bN+HDJHckQ6J3ROjqniI+USonw58DHWROUbQ4Vdmd9FQXJfwIBmY9SqTvKGvAiu2c7+3JLXRjS4tsKoskgtmRp2hTu1tDzzYP7GFRL1Ecx3HM5Ew==
- Authentication-results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=epam.com header.i="@epam.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:x-ms-exchange-senderadcheck"
- Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=epam.com;
- Cc: Roger Pau Monné <roger.pau@xxxxxxxxxx>
- Delivery-date: Thu, 02 Apr 2026 15:52:35 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
- Thread-index: AQHcuzsjSQhCcIF69U+TfmTRWDgaEbXL+uoA
- Thread-topic: [PATCH v3 2/4] vpci: allow queueing of mapping operations
On 3/24/26 05:04, Stewart Hildebrand wrote:
> Introduce vPCI BAR mapping task queue. Store information necessary in an
> array in struct vpci_vcpu to perform multiple p2m operations associated
> with single device.
>
> This is preparatory work for further changes that need to perform
> multiple unmap/map operations before returning to guest.
>
> At the moment, only a single slot is needed in the array. However, when
> multiple operations are queued and pending, there is a check in
> modify_bars() to skip BARs already in the requested state that is not
> accurate. Remove this check.
>
> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@xxxxxxx>
> ---
> apply_map() and vpci_process_map_task() are very similar. Should we try
> to combine them into a single function?
>
> v2->v3:
> * base on ("vpci: Use pervcpu ranges for BAR mapping") from [1]
> * rework with fixed array of map/unmap slots
>
> [1]
> https://lore.kernel.org/xen-devel/cover.1772806036.git.mykyta_poturai@xxxxxxxx/T/#t
>
> v1->v2:
> * new patch
Hi everyone,
Would it be possible to move back to a dynamically allocated number of
tasks? This would help with mapping SR-IOV virtual functions a lot.
@Stewart @Roger, what are your thoughts?
Alternatively, I can continue with an approach described in SR-IOV
series, where VFs are handled separately. I figured out how to return to
do_softirq after mapping each VF, so it should not block the CPU for too
long.
--
Mykyta
|