livepatch: Fix documentation of timeout

The hypervisor expects the timeout from the hypercall to be in
nanoseconds, so document this correctly. Also correctly document
what happens when timeout is set to zero.

Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
This commit is contained in:
Ross Lagerwall authored and Konrad Rzeszutek Wilk committed 2016-12-14 15:27:19 -05:00
1 parent 9fae628574
commit 3bc5cf73d7
4 files changed
+13 -11

No files matched your search

+7 -6
View File
@@ -689,9 +689,9 @@ The caller provides:
payload. If the operation takes more time than the upper bound of time
the `rc` in `xen_livepatch_status' retrieved via **XEN_SYSCTL_LIVEPATCH_GET**
will be -XEN_EBUSY.
* `time` the upper bound of time (ms) the cmd should take. Zero means infinite.
If within the time the operation does not succeed the operation would go in
error state.
* `time` the upper bound of time (ns) the cmd should take. Zero means to use
the hypervisor default. If within the time the operation does not succeed
the operation would go in error state.
* `pad` - *MUST* be zero.
The return value will be zero unless the provided fields are incorrect.
@@ -706,9 +706,10 @@ The structure is as follow:
struct xen_sysctl_livepatch_action {
xen_livepatch_name_t name; /* IN, name of the patch. */
uint32_t cmd; /* IN: LIVEPATCH_ACTION_* */
uint32_t time; /* IN: Zero if no timeout. */
/* Or upper bound of time (ms) */
/* for operation to take. */
uint32_t time; /* IN: If zero then uses */
/* hypervisor default. */
/* Or upper bound of time (ns) */
/* for operation to take. */
};
</pre>
+1 -1
View File
@@ -2703,7 +2703,7 @@ int xc_livepatch_list(xc_interface *xch, unsigned int max, unsigned int start,
* The operations are asynchronous and the hypervisor may take a while
* to complete them. The `timeout` offers an option to expire the
* operation if it could not be completed within the specified time
* (in ms). Value of 0 means let hypervisor decide the best timeout.
* (in ns). Value of 0 means let hypervisor decide the best timeout.
*/
int xc_livepatch_apply(xc_interface *xch, char *name, uint32_t timeout);
int xc_livepatch_revert(xc_interface *xch, char *name, uint32_t timeout);
+2 -2
View File
@@ -1227,8 +1227,8 @@ static int schedule_work(struct payload *data, uint32_t cmd, uint32_t timeout)
livepatch_work.data = data;
livepatch_work.timeout = timeout ?: MILLISECS(30);
dprintk(XENLOG_DEBUG, LIVEPATCH "%s: timeout is %"PRI_stime"ms\n",
data->name, livepatch_work.timeout / MILLISECS(1));
dprintk(XENLOG_DEBUG, LIVEPATCH "%s: timeout is %"PRIu32"ns\n",
data->name, livepatch_work.timeout);
atomic_set(&livepatch_work.semaphore, -1);
+3 -2
View File
@@ -1067,8 +1067,9 @@ struct xen_sysctl_livepatch_action {
#define LIVEPATCH_ACTION_APPLY 3
#define LIVEPATCH_ACTION_REPLACE 4
uint32_t cmd; /* IN: LIVEPATCH_ACTION_*. */
uint32_t timeout; /* IN: Zero if no timeout. */
/* Or upper bound of time (ms) */
uint32_t timeout; /* IN: If zero then uses */
/* hypervisor default. */
/* Or upper bound of time (ns) */
/* for operation to take. */
};
typedef struct xen_sysctl_livepatch_action xen_sysctl_livepatch_action_t;
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.