Version: 1
-Previous: f6ed25702228538e05d6faeed5a801a12727bffc
-Head: b99bd0638e7d22b1b0976a34a58efd352db420b3
+Previous: b9bf95a928a4af0f9adcdbfdde9737cba2b7718f
+Head: fd753fb9e36b4ec5f5da3e0d2ee588297a172736
Applied:
rs-shutdown: 110fcad2ecce39d6888448c19b08791ea193e7f9
rs-maxseg: b99bd0638e7d22b1b0976a34a58efd352db420b3
+ rs-spin: fd753fb9e36b4ec5f5da3e0d2ee588297a172736
Unapplied:
ip6-opt: 7e43a759255e9890d1e41f1edf71792836f53941
- rs-spin: a0d1e796acd395c573a1b6d11dcdae09bd5d1b09
rs-defaults: 789cb60192f30396cc0ad7940fdd402bdce127f0
buf-addr: eb70620389ced3c0c705d44b69e691a47cd3e4fd
rs-1sge: 85e4c4a0da0b501b60a1035d7a003ee20a749511
-Bottom: 729b947f8c52c96a11c4a33ff4ef447cd22cc5d1
-Top: b81754028658b7a877798e12b2fd67dd9d2ae0be
+Bottom: e8942df497cda9d853e5bbaa69226ad2ede0b3b9
+Top: 9a355c4fd6adc489cc0c3c07b3d436d25ff2cb0c
Author: Sean Hefty <sean.hefty@intel.com>
Date: 2012-06-04 14:51:41 -0700
+
#endif /* CMA_H */
diff --git a/src/rsocket.c b/src/rsocket.c
-index e899e8a..f53f1c8 100644
+index 2fd106a..d7344c7 100644
--- a/src/rsocket.c
+++ b/src/rsocket.c
@@ -37,10 +37,12 @@
/*
* Immediate data format is determined by the upper bits
* bit 31: message type, 0 - data, 1 - control
-@@ -197,6 +201,27 @@ struct rsocket {
+@@ -196,6 +200,27 @@ struct rsocket {
uint8_t *sbuf;
};
/*
* We currently generate a completion per send. sqe_count = 1
*/
-@@ -471,6 +496,7 @@ int rsocket(int domain, int type, int protocol)
+@@ -470,6 +495,7 @@ int rsocket(int domain, int type, int protocol)
(type != SOCK_STREAM) || (protocol && protocol != IPPROTO_TCP))
return ERR(ENOTSUP);
rs = rs_alloc(NULL);
if (!rs)
return ERR(ENOMEM);
-@@ -924,6 +950,29 @@ static int rs_process_cq(struct rsocket *rs, int nonblock, int (*test)(struct rs
+@@ -923,6 +949,29 @@ static int rs_process_cq(struct rsocket *rs, int nonblock, int (*test)(struct rs
return ret;
}
static int rs_nonblocking(struct rsocket *rs, int flags)
{
return (rs->fd_flags & O_NONBLOCK) || (flags & MSG_DONTWAIT);
-@@ -1035,7 +1084,7 @@ ssize_t rrecv(int socket, void *buf, size_t len, int flags)
+@@ -1034,7 +1083,7 @@ ssize_t rrecv(int socket, void *buf, size_t len, int flags)
}
fastlock_acquire(&rs->rlock);
if (!rs_have_rdata(rs)) {
if (ret && errno != ECONNRESET)
goto out;
}
-@@ -1139,8 +1188,8 @@ ssize_t rsend(int socket, const void *buf, size_t len, int flags)
+@@ -1138,8 +1187,8 @@ ssize_t rsend(int socket, const void *buf, size_t len, int flags)
fastlock_acquire(&rs->slock);
for (left = len; left; left -= xfer_size, buf += xfer_size) {
if (!rs_can_send(rs)) {
if (ret)
break;
if (rs->state != rs_connected) {
-@@ -1253,8 +1302,8 @@ static ssize_t rsendv(int socket, const struct iovec *iov, int iovcnt, int flags
+@@ -1252,8 +1301,8 @@ static ssize_t rsendv(int socket, const struct iovec *iov, int iovcnt, int flags
fastlock_acquire(&rs->slock);
for (left = len; left; left -= xfer_size) {
if (!rs_can_send(rs)) {
if (ret)
break;
if (rs->state != rs_connected) {
-@@ -1469,12 +1518,23 @@ static int rs_poll_events(struct pollfd *rfds, struct pollfd *fds, nfds_t nfds)
+@@ -1468,12 +1517,23 @@ static int rs_poll_events(struct pollfd *rfds, struct pollfd *fds, nfds_t nfds)
*/
int rpoll(struct pollfd *fds, nfds_t nfds, int timeout)
{