|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH] libxl/PCI: defer backend wait upon attaching to PV guest
On 14.12.2021 14:34, Jason Andryuk wrote:
> On Tue, Dec 14, 2021 at 2:50 AM Jan Beulich <jbeulich@xxxxxxxx> wrote:
>>
>> Attempting to wait when the backend hasn't been created yet can't work:
>> the function will complain "Backend ... does not exist". Move the
>> waiting past the creation of the backend (and that of other related
>> nodes), hoping that there are no other dependencies that would now be
>> broken.
>>
>> Fixes: 0fdb48ffe7a1 ("libxl: Make sure devices added by pci-attach are
>> reflected in the config")
>> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
>> ---
>> Just to make it explicit: I have no idea why the waiting is needed in
>> the first place. It's been there from the very introduction of PCI
>> passthrough support (commit b0a1af61678b). I therefore can't exclude
>> that an even better fix would be to simply omit the 2nd hunk here.
>
> The first time a device is attached, the backend does not exist, and
> the wait is not needed. However, when a second device is attached,
> the backend does exist. Since pciback goes through Reconfiguring and
> Reconfigured, I believe the wait exists to let the frontend/backend
> settle back to Connected before modifying the xenstore entries to add
> the additional device. I could be wrong, but that is my best answer
> for why someone went to the trouble of adding a wait in the first
> place.
If things are as you describe them, then the change here is wrong: The
waiting gets moved from before the creation of the new device's nodes
to immediately after. Yet then I also can't see how else I should
address the issue at hand, so I'd have to defer to someone else; this
may involve undoing / redoing some of what the commit referenced by
the Fixes: tag did.
However, since all new nodes get added in a single transaction, I
can't see why waiting for the completion of a prior reconfigure would
be necessary: That'll either notice (and process) the new nodes, or
it won't. If it does, the next reconfigure would simply be a no-op.
Jan
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |