Re: [PATCH v3 08/13] xen/pvcalls: implement accept command

From: Boris Ostrovsky
Date: Mon Aug 14 2017 - 22:05:21 EST



+
+ ret = bedata->rsp[req_id].ret;

You can just return bedata->rsp[req_id].ret;

Or maybe not. The slot may get reused by the time you get to the end.

-boris


-boris

+ /* read ret, then set this rsp slot to be reused */
+ smp_mb();
+ WRITE_ONCE(bedata->rsp[req_id].req_id, PVCALLS_INVALID_ID);
+ WRITE_ONCE(map->passive.inflight_req_id, PVCALLS_INVALID_ID);
+ return ret;
+}