On Thu, Feb 27, 2025 at 7:07 PM Gowrishankar Muthukrishnan
<gmuthukri...@marvell.com> wrote:
> > > Ha, and also you should be able to remove:
> > > __rte_no_thread_safety_analysis /* FIXME: requires iotlb_lock? */ in
> > > vhost_crypto_process_one_req() once implemented.
> > >
> >
> Removing it would break compilation for thread safety flag.
> http://mails.dpdk.org/archives/test-report/2025-February/857515.html
>
> It is due to local vc_req that is passed to func that requires iotlb lock
> In vc_req->vq. Even though vc_req->vq is locked vq, GCC does not allow it, as 
> I understand.

*cough* clang.

>
>         vc_req = &data_req;
>         vc_req->desc_idx = desc_idx;
>         vc_req->dev = vcrypto->dev;
>         vc_req->vq = vq;

The annotations won't handle this wrapping in the vc_req object.
Just pass a vq object rather than the vc_req (which I don't see little
point in having in the first place..) and adjust annotations.


-- 
David Marchand

Reply via email to