Changes in / [d800676:18ea270]


Ignore:
Location:
libcfa/src/concurrency
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • libcfa/src/concurrency/io.cfa

    rd800676 r18ea270  
    295295                                // make sure the target hasn't stopped existing since last time
    296296                                HELP: if(target < ctxs_count) {
    297                                         // calculate it's age and how young it could be before we give up on helping
     297                                        // calculate it's age and how young it could be before we give ip on helping
    298298                                        const __readyQ_avg_t cutoff = calc_cutoff(ctsc, ctx->cq.id, ctxs_count, io.data, io.tscs, __shard_factor.io, false);
    299299                                        const __readyQ_avg_t age = moving_average(ctsc, io.tscs[target].t.tv, io.tscs[target].t.ma, false);
  • libcfa/src/concurrency/io/call.cfa.in

    rd800676 r18ea270  
    8989#if defined(CFA_HAVE_PREADV2)
    9090        struct iovec;
    91         extern ssize_t preadv2 (int fd, const struct iovec * iov, int iovcnt, off_t offset, int flags);
     91        extern ssize_t preadv2 (int fd, const struct iovec *iov, int iovcnt, off_t offset, int flags);
    9292#endif
    9393#if defined(CFA_HAVE_PWRITEV2)
    9494        struct iovec;
    95         extern ssize_t pwritev2(int fd, const struct iovec * iov, int iovcnt, off_t offset, int flags);
     95        extern ssize_t pwritev2(int fd, const struct iovec *iov, int iovcnt, off_t offset, int flags);
    9696#endif
    9797
     
    108108        struct msghdr;
    109109        struct sockaddr;
    110         extern ssize_t sendmsg(int sockfd, const struct msghdr * msg, int flags);
    111         extern ssize_t recvmsg(int sockfd, struct msghdr * msg, int flags);
    112         extern ssize_t send(int sockfd, const void * buf, size_t len, int flags);
    113         extern ssize_t recv(int sockfd, void * buf, size_t len, int flags);
     110        extern ssize_t sendmsg(int sockfd, const struct msghdr *msg, int flags);
     111        extern ssize_t recvmsg(int sockfd, struct msghdr *msg, int flags);
     112        extern ssize_t send(int sockfd, const void *buf, size_t len, int flags);
     113        extern ssize_t recv(int sockfd, void *buf, size_t len, int flags);
    114114
    115115        extern int fallocate(int fd, int mode, off_t offset, off_t len);
    116116        extern int posix_fadvise(int fd, off_t offset, off_t len, int advice);
    117         extern int madvise(void * addr, size_t length, int advice);
    118 
    119         extern int openat(int dirfd, const char * pathname, int flags, mode_t mode);
     117        extern int madvise(void *addr, size_t length, int advice);
     118
     119        extern int openat(int dirfd, const char *pathname, int flags, mode_t mode);
    120120        extern int close(int fd);
    121121
    122         extern ssize_t read (int fd, void * buf, size_t count);
     122        extern ssize_t read (int fd, void *buf, size_t count);
    123123
    124124        struct epoll_event;
    125         extern int epoll_ctl(int epfd, int op, int fd, struct epoll_event * event);
    126 
    127         extern ssize_t splice(int fd_in, __off64_t * off_in, int fd_out, __off64_t * off_out, size_t len, unsigned int flags);
     125        extern int epoll_ctl(int epfd, int op, int fd, struct epoll_event *event);
     126
     127        extern ssize_t splice(int fd_in, __off64_t *off_in, int fd_out, __off64_t *off_out, size_t len, unsigned int flags);
    128128        extern ssize_t tee(int fd_in, int fd_out, size_t len, unsigned int flags);
    129129}
     
    224224calls = [
    225225        # CFA_HAVE_IORING_OP_READV
    226         Call('READV', 'ssize_t preadv2(int fd, const struct iovec * iov, int iovcnt, off_t offset, int flags)', {
     226        Call('READV', 'ssize_t preadv2(int fd, const struct iovec *iov, int iovcnt, off_t offset, int flags)', {
    227227                'fd'  : 'fd',
    228                 'addr': '(typeof(sqe->addr))iov',
     228                'off' : 'offset',
     229                'addr': '(uintptr_t)iov',
    229230                'len' : 'iovcnt',
    230                 'off' : 'offset',
    231                 'rw_flags' : 'flags'
    232231        }, define = 'CFA_HAVE_PREADV2'),
    233232        # CFA_HAVE_IORING_OP_WRITEV
    234         Call('WRITEV', 'ssize_t pwritev2(int fd, const struct iovec * iov, int iovcnt, off_t offset, int flags)', {
     233        Call('WRITEV', 'ssize_t pwritev2(int fd, const struct iovec *iov, int iovcnt, off_t offset, int flags)', {
    235234                'fd'  : 'fd',
    236                 'addr': '(typeof(sqe->addr))iov',
    237                 'len' : 'iovcnt',
    238235                'off' : 'offset',
    239                 'rw_flags' : 'flags'
     236                'addr': '(uintptr_t)iov',
     237                'len' : 'iovcnt'
    240238        }, define = 'CFA_HAVE_PWRITEV2'),
    241239        # CFA_HAVE_IORING_OP_FSYNC
     
    244242        }),
    245243        # CFA_HAVE_IORING_OP_EPOLL_CTL
    246         Call('EPOLL_CTL', 'int epoll_ctl(int epfd, int op, int fd, struct epoll_event * event)', {
     244        Call('EPOLL_CTL', 'int epoll_ctl(int epfd, int op, int fd, struct epoll_event *event)', {
    247245                'fd': 'epfd',
     246                'addr': 'fd',
    248247                'len': 'op',
    249                 'addr': 'fd',
    250                 'off': '(typeof(sqe->off))event'
     248                'off': '(uintptr_t)event'
    251249        }),
    252250        # CFA_HAVE_IORING_OP_SYNC_FILE_RANGE
     
    258256        }),
    259257        # CFA_HAVE_IORING_OP_SENDMSG
    260         Call('SENDMSG', 'ssize_t sendmsg(int sockfd, const struct msghdr * msg, int flags)', {
    261                 'fd': 'sockfd',
    262                 'addr': '(typeof(sqe->addr))(struct msghdr *)msg',
     258        Call('SENDMSG', 'ssize_t sendmsg(int sockfd, const struct msghdr *msg, int flags)', {
     259                'fd': 'sockfd',
     260                'addr': '(uintptr_t)(struct msghdr *)msg',
    263261                'len': '1',
    264262                'msg_flags': 'flags'
    265263        }),
    266264        # CFA_HAVE_IORING_OP_RECVMSG
    267         Call('RECVMSG', 'ssize_t recvmsg(int sockfd, struct msghdr * msg, int flags)', {
    268                 'fd': 'sockfd',
    269                 'addr': '(typeof(sqe->addr))(struct msghdr *)msg',
     265        Call('RECVMSG', 'ssize_t recvmsg(int sockfd, struct msghdr *msg, int flags)', {
     266                'fd': 'sockfd',
     267                'addr': '(uintptr_t)(struct msghdr *)msg',
    270268                'len': '1',
    271269                'msg_flags': 'flags'
    272270        }),
    273271        # CFA_HAVE_IORING_OP_SEND
    274         Call('SEND', 'ssize_t send(int sockfd, const void * buf, size_t len, int flags)', {
    275                 'fd': 'sockfd',
    276                 'addr': '(typeof(sqe->addr))buf',
     272        Call('SEND', 'ssize_t send(int sockfd, const void *buf, size_t len, int flags)', {
     273                'fd': 'sockfd',
     274                'addr': '(uintptr_t)buf',
    277275                'len': 'len',
    278276                'msg_flags': 'flags'
    279277        }),
    280278        # CFA_HAVE_IORING_OP_RECV
    281         Call('RECV', 'ssize_t recv(int sockfd, void * buf, size_t len, int flags)', {
    282                 'fd': 'sockfd',
    283                 'addr': '(typeof(sqe->addr))buf',
     279        Call('RECV', 'ssize_t recv(int sockfd, void *buf, size_t len, int flags)', {
     280                'fd': 'sockfd',
     281                'addr': '(uintptr_t)buf',
    284282                'len': 'len',
    285283                'msg_flags': 'flags'
     
    288286        Call('ACCEPT', 'int accept4(int sockfd, __SOCKADDR_ARG addr, socklen_t * restrict addrlen, int flags)', {
    289287                'fd': 'sockfd',
    290                 'addr': '(typeof(sqe->addr))&addr',
    291                 'addr2': '(typeof(sqe->addr2))addrlen',
     288                'addr': '(uintptr_t)&addr',
     289                'addr2': '(uintptr_t)addrlen',
    292290                'accept_flags': 'flags'
    293291        }),
     
    295293        Call('CONNECT', 'int connect(int sockfd, __CONST_SOCKADDR_ARG addr, socklen_t addrlen)', {
    296294                'fd': 'sockfd',
    297                 'addr': '(typeof(sqe->addr))&addr',
     295                'addr': '(uintptr_t)&addr',
    298296                'off': 'addrlen'
    299297        }),
     
    301299        Call('FALLOCATE', 'int fallocate(int fd, int mode, off_t offset, off_t len)', {
    302300                'fd': 'fd',
     301                'addr': '(uintptr_t)len',
    303302                'len': 'mode',
    304                 'off': 'offset',
    305                 'addr': 'len'
     303                'off': 'offset'
    306304        }),
    307305        # CFA_HAVE_IORING_OP_FADVISE
     
    313311        }),
    314312        # CFA_HAVE_IORING_OP_MADVISE
    315         Call('MADVISE', 'int madvise(void * addr, size_t length, int advice)', {
    316                 'addr': '(typeof(sqe->addr))addr',
     313        Call('MADVISE', 'int madvise(void *addr, size_t length, int advice)', {
     314                'addr': '(uintptr_t)addr',
    317315                'len': 'length',
    318316                'fadvise_advice': 'advice'
    319317        }),
    320318        # CFA_HAVE_IORING_OP_OPENAT
    321         Call('OPENAT', 'int openat(int dirfd, const char * pathname, int flags, mode_t mode)', {
     319        Call('OPENAT', 'int openat(int dirfd, const char *pathname, int flags, mode_t mode)', {
    322320                'fd': 'dirfd',
    323                 'addr': '(typeof(sqe->addr))pathname',
    324                 'open_flags': 'flags;',
    325                 'len': 'mode'
     321                'addr': '(uintptr_t)pathname',
     322                'len': 'mode',
     323                'open_flags': 'flags;'
    326324        }),
    327325        # CFA_HAVE_IORING_OP_OPENAT2
    328         Call('OPENAT2', 'int openat2(int dirfd, const char * pathname, struct open_how * how, size_t size)', {
     326        Call('OPENAT2', 'int openat2(int dirfd, const char *pathname, struct open_how * how, size_t size)', {
    329327                'fd': 'dirfd',
    330                 'addr': '(typeof(sqe->addr))pathname',
    331                 'off': '(typeof(sqe->off))how',
    332                 'len': 'sizeof(*how)'
     328                'addr': 'pathname',
     329                'len': 'sizeof(*how)',
     330                'off': '(uintptr_t)how',
    333331        }, define = 'CFA_HAVE_OPENAT2'),
    334332        # CFA_HAVE_IORING_OP_CLOSE
     
    337335        }),
    338336        # CFA_HAVE_IORING_OP_STATX
    339         Call('STATX', 'int statx(int dirfd, const char * pathname, int flags, unsigned int mask, struct statx * statxbuf)', {
     337        Call('STATX', 'int statx(int dirfd, const char *pathname, int flags, unsigned int mask, struct statx *statxbuf)', {
    340338                'fd': 'dirfd',
    341                 'addr': '(typeof(sqe->addr))pathname',
    342                 'statx_flags': 'flags',
     339                'off': '(uintptr_t)statxbuf',
     340                'addr': 'pathname',
    343341                'len': 'mask',
    344                 'off': '(typeof(sqe->off))statxbuf'
     342                'statx_flags': 'flags'
    345343        }, define = 'CFA_HAVE_STATX'),
    346344        # CFA_HAVE_IORING_OP_READ
    347345        Call('READ', 'ssize_t read(int fd, void * buf, size_t count)', {
    348346                'fd': 'fd',
    349                 'addr': '(typeof(sqe->addr))buf',
     347                'addr': '(uintptr_t)buf',
    350348                'len': 'count'
    351349        }),
     
    353351        Call('WRITE', 'ssize_t write(int fd, void * buf, size_t count)', {
    354352                'fd': 'fd',
    355                 'addr': '(typeof(sqe->addr))buf',
     353                'addr': '(uintptr_t)buf',
    356354                'len': 'count'
    357355        }),
    358356        # CFA_HAVE_IORING_OP_SPLICE
    359         Call('SPLICE', 'ssize_t splice(int fd_in, __off64_t * off_in, int fd_out, __off64_t * off_out, size_t len, unsigned int flags)', {
     357        Call('SPLICE', 'ssize_t splice(int fd_in, __off64_t *off_in, int fd_out, __off64_t *off_out, size_t len, unsigned int flags)', {
    360358                'splice_fd_in': 'fd_in',
    361                 'splice_off_in': 'off_in ? (typeof(sqe->splice_off_in))*off_in : (typeof(sqe->splice_off_in))-1',
     359                'splice_off_in': 'off_in ? (__u64)*off_in : (__u64)-1',
    362360                'fd': 'fd_out',
    363                 'off': 'off_out ? (typeof(sqe->off))*off_out : (typeof(sqe->off))-1',
     361                'off': 'off_out ? (__u64)*off_out : (__u64)-1',
    364362                'len': 'len',
    365363                'splice_flags': 'flags'
Note: See TracChangeset for help on using the changeset viewer.