search for: producer_tail

Displaying 12 results from an estimated 12 matches for "producer_tail".

2015 Nov 12
0
[PATCH] VMCI: Use 32bit atomics for queue headers on X86_32
...u64 size) { - u64 new_val = atomic64_read(var); + u64 new_val = vmci_q_read_pointer(var); if (new_val >= size - add) new_val -= size; new_val += add; - atomic64_set(var, new_val); + vmci_q_set_pointer(var, new_val); } /* @@ -758,7 +793,7 @@ static inline u64 vmci_q_header_producer_tail(const struct vmci_queue_header *q_header) { struct vmci_queue_header *qh = (struct vmci_queue_header *)q_header; - return atomic64_read(&qh->producer_tail); + return vmci_q_read_pointer(&qh->producer_tail); } /* @@ -768,7 +803,7 @@ static inline u64 vmci_q_header_consumer_head...
2015 Nov 12
0
[PATCH] VMCI: Use 32bit atomics for queue headers on X86_32
...u64 size) { - u64 new_val = atomic64_read(var); + u64 new_val = vmci_q_read_pointer(var); if (new_val >= size - add) new_val -= size; new_val += add; - atomic64_set(var, new_val); + vmci_q_set_pointer(var, new_val); } /* @@ -758,7 +793,7 @@ static inline u64 vmci_q_header_producer_tail(const struct vmci_queue_header *q_header) { struct vmci_queue_header *qh = (struct vmci_queue_header *)q_header; - return atomic64_read(&qh->producer_tail); + return vmci_q_read_pointer(&qh->producer_tail); } /* @@ -768,7 +803,7 @@ static inline u64 vmci_q_header_consumer_head...
2013 Jan 08
13
[PATCH 00/12] VMCI for Linux upstreaming
* * * This series of VMCI linux upstreaming patches include latest udpate from VMware to address Greg's and all other's code review comments. Summary of changes: - Rebase our linux kernel tree from v3.5 to v3.7. - Fix all checkpatch warnings and errors. Fix some checkpatch with -strict errors. This addresses Greg's comment: On 15 Nov 2012
2013 Jan 08
13
[PATCH 00/12] VMCI for Linux upstreaming
* * * This series of VMCI linux upstreaming patches include latest udpate from VMware to address Greg's and all other's code review comments. Summary of changes: - Rebase our linux kernel tree from v3.5 to v3.7. - Fix all checkpatch warnings and errors. Fix some checkpatch with -strict errors. This addresses Greg's comment: On 15 Nov 2012
2012 Oct 16
11
[PATCH 00/10] VMCI for Linux upstreaming
* * * In an effort to improve the out-of-the-box experience with Linux kernels for VMware users, VMware is working on readying the Virtual Machine Communication Interface (vmw_vmci) and VMCI Sockets (vmw_vsock) kernel modules for inclusion in the Linux kernel. The purpose of this post is to acquire feedback on the vmw_vmci kernel module. The vmw_vsock kernel module will be presented in a later
2012 Oct 16
11
[PATCH 00/10] VMCI for Linux upstreaming
* * * In an effort to improve the out-of-the-box experience with Linux kernels for VMware users, VMware is working on readying the Virtual Machine Communication Interface (vmw_vmci) and VMCI Sockets (vmw_vsock) kernel modules for inclusion in the Linux kernel. The purpose of this post is to acquire feedback on the vmw_vmci kernel module. The vmw_vsock kernel module will be presented in a later
2012 Oct 30
29
[PATCH 00/12] VMCI for Linux upstreaming
* * * This series of VMCI linux upstreaming patches include latest udpate from VMware. -split guest, host and core driver code into different files -use EXPORT_SYMBOLS_GPL -remove vmci_device_get and vmci_device_release APIs -simplify the event deliver mechanism -driver ioctl code cleanup -sparse clean * * * In an effort to improve the out-of-the-box experience with
2012 Oct 30
29
[PATCH 00/12] VMCI for Linux upstreaming
* * * This series of VMCI linux upstreaming patches include latest udpate from VMware. -split guest, host and core driver code into different files -use EXPORT_SYMBOLS_GPL -remove vmci_device_get and vmci_device_release APIs -simplify the event deliver mechanism -driver ioctl code cleanup -sparse clean * * * In an effort to improve the out-of-the-box experience with
2012 Aug 30
0
[PATCH 08/11] vmci_queue_pair.patch: VMCI queue pair implementation.
...t;qHeader, produceQSize); + if (freeSpace == 0) + return VMCI_ERROR_QUEUEPAIR_NOSPACE; + + if (freeSpace < VMCI_SUCCESS) + return (ssize_t) freeSpace; + + written = (size_t) (freeSpace > bufSize ? bufSize : freeSpace); + tail = vmci_q_header_producer_tail(produceQ->qHeader); + if (likely(tail + written < produceQSize)) { + result = memcpyToQueue(produceQ, tail, buf, 0, written); + } else { + /* Tail pointer wraps around. */ + + const size_t tmp = (size_t) (produceQSize - tail); + +...
2012 Aug 30
0
[PATCH 08/11] vmci_queue_pair.patch: VMCI queue pair implementation.
...t;qHeader, produceQSize); + if (freeSpace == 0) + return VMCI_ERROR_QUEUEPAIR_NOSPACE; + + if (freeSpace < VMCI_SUCCESS) + return (ssize_t) freeSpace; + + written = (size_t) (freeSpace > bufSize ? bufSize : freeSpace); + tail = vmci_q_header_producer_tail(produceQ->qHeader); + if (likely(tail + written < produceQSize)) { + result = memcpyToQueue(produceQ, tail, buf, 0, written); + } else { + /* Tail pointer wraps around. */ + + const size_t tmp = (size_t) (produceQSize - tail); + +...
2012 Aug 30
0
[PATCH 11/11] vmci_headers.patch: VMCI kernel driver public API.
...uint64_t produce_qsize, + uint64_t consume_qsize, + u32 peer, u32 flags, u32 privFlags); +int vmci_qpair_detach(struct vmci_qp **qpair); +int vmci_qpair_get_produce_indexes(const struct vmci_qp *qpair, + uint64_t *producer_tail, + uint64_t *consumer_head); +int vmci_qpair_get_consume_indexes(const struct vmci_qp *qpair, + uint64_t *consumerTail, + uint64_t *producerHead); +int64_t vmci_qpair_produce_free_space(const struct v...
2012 Aug 30
0
[PATCH 11/11] vmci_headers.patch: VMCI kernel driver public API.
...uint64_t produce_qsize, + uint64_t consume_qsize, + u32 peer, u32 flags, u32 privFlags); +int vmci_qpair_detach(struct vmci_qp **qpair); +int vmci_qpair_get_produce_indexes(const struct vmci_qp *qpair, + uint64_t *producer_tail, + uint64_t *consumer_head); +int vmci_qpair_get_consume_indexes(const struct vmci_qp *qpair, + uint64_t *consumerTail, + uint64_t *producerHead); +int64_t vmci_qpair_produce_free_space(const struct v...