RE: [PATCH vfio 2/5] vfio/mlx5: Add support for tracker object events

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

 



> From: Yishai Hadas <yishaih@xxxxxxxxxx>
> Sent: Tuesday, February 6, 2024 4:02 PM
> 
> On 06/02/2024 9:33, Tian, Kevin wrote:
> >> From: Yishai Hadas <yishaih@xxxxxxxxxx>
> >> Sent: Monday, February 5, 2024 5:21 PM
> >>
> >> On 05/02/2024 10:10, Tian, Kevin wrote:
> >>>> From: Yishai Hadas <yishaih@xxxxxxxxxx>
> >>>> Sent: Wednesday, January 31, 2024 1:02 AM
> >>>>
> >>>> +static void set_tracker_event(struct mlx5vf_pci_core_device *mvdev)
> >>>> +{
> >>>> +	mvdev->tracker.event_occur = true;
> >>>> +	complete(&mvdev->tracker_comp);
> >>>
> >>> it's slightly clearer to call it 'object_changed'.
> >>
> >> Do you refer to the 'event_occur' field ? I can rename it, if you think
> >> that it's clearer.
> >
> > yes
> >
> >>
> >>>
> >>> and why not setting state->is_err too?
> >>
> >> No need for an extra code here.
> >>
> >> Upon mlx5vf_cmd_query_tracker() the tracker->status field will be
> >> updated to an error, the while loop will detect that, and do the job.
> >>
> >
> > except below where tracker->status is not updated:
> 
> This is the expected behavior in that case, see below.
> 
> >
> > +	err = mlx5_cmd_exec(mdev, in, sizeof(in), out, sizeof(out));
> > +	if (err)
> > +		return err;
> 
> We can't set unconditionally the tracker status to an error without
> getting that information from the firmware.
> 
> Upon an error here, we may just go out from the while loop in the caller
> and userspace will get the returned error.
> 
> Any further call to mlx5vf_tracker_read_and_clear() if will come, may
> have the chance to start the regular flow.
> 
> In case the tracker can't be moved to MLX5_PAGE_TRACK_STATE_REPORTING
> (e.g. as of some previous error) the call will simply fail as expected.
> 
> So, it looks OK.
> 

ok then fine to me.




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux