Add nettest/ tools
[splice.git] / splice-test4c.c
index 3d1a867ddfc035e974df5842859c477ec82badd8..1d10602a53a33bff3d88740a2f6d50cc7e198279 100644 (file)
@@ -201,13 +201,13 @@ splice_pipe_again:
        i = NR*BUFSIZE;
        off = 0;
        do {
-               int ret = splice(fd, &off, pipefd[1], NULL, min(i, BUFSIZE), SPLICE_F_NONBLOCK);
+               int ret = ssplice(fd, &off, pipefd[1], NULL, min(i, BUFSIZE), SPLICE_F_NONBLOCK);
                if (ret <= 0)
                        return error("splice-pipe-in");
                i -= ret;
                while (ret > 0) {
                        int flags = i ? SPLICE_F_MORE : 0;
-                       int written = splice(pipefd[0], NULL, sk, NULL, ret, flags);
+                       int written = ssplice(pipefd[0], NULL, sk, NULL, ret, flags);
                        if (written <= 0)
                                return error("splice-pipe-out");
                        ret -= written;
@@ -243,7 +243,7 @@ splice_again:
                int flags = BUFSIZE < i ? SPLICE_F_MORE : 0;
                int ret;
 
-               ret = splice(fd, &off, sk, NULL, min(i, BUFSIZE), flags);
+               ret = ssplice(fd, &off, sk, NULL, min(i, BUFSIZE), flags);
 
                if (ret <= 0)
                        return error("splice");
@@ -315,6 +315,13 @@ static void setup_shared_var(void)
 do {                                                   \
        __asm__ __volatile__("rdtsc" : "=A" (val));     \
 } while (0)
+#elif defined(__x86_64__)
+#define rdtscll(val)                                           \
+do {                                                           \
+       uint64_t lo, hi;                                        \
+       __asm__ __volatile__("rdtsc" : "=a" (lo), "=d" (hi));   \
+       (val) = (hi << 32) | lo;                                \
+} while (0)
 #if 0
 #elif defined(__ia64__)
 #define rdtscll(val)                                   \