- * @param p
- * Address to monitor for changes.
- * @param expected_value
- * Before attempting the monitoring, the `p` address may be read and compared
- * against this value. If `value_mask` is zero, this step will be skipped.
- * @param value_mask
- * The 64-bit mask to use to extract current value from `p`.
- * @param tsc_timestamp
- * Maximum TSC timestamp to wait for. Note that the wait behavior is
- * architecture-dependent.
- * @param data_sz
- * Data size (in bytes) that will be used to compare expected value with the
- * memory address. Can be 1, 2, 4 or 8. Supplying any other value will lead
- * to undefined result.
- * @param lck
- * A spinlock that must be locked before entering the function, will be
- * unlocked while the CPU is sleeping, and will be locked again once the CPU
- * wakes up.