Coverage report: /home/ellis/comp/core/ffi/uring/cq.lisp
Kind | Covered | All | % |
expression | 1 | 22 | 4.5 |
branch | 0 | 0 | nil |
Key
Not instrumented
Conditionalized out
Executed
Not executed
Both branches taken
One branch taken
Neither branch taken
1
;;; uring/cq.lisp --- Completion Queue
8
(defstruct completion-queue-offsets
11
(ring-mask 0 :type fixnum)
12
(ring-entries 0 :type fixnum)
13
(overflow 0 :type fixnum)
15
(flags 0 :type fixnum)
17
(user-addr 0 :type fixnum))
19
;; (defmethod build ((self completion-queue-offsets) &key &allow-other-keys)
20
;; (with-slots (head tail ring-mask ring-entries overflow cqes flags user-addr) self
21
;; (with-io-cqring-offsets res
22
;; ((head head) (tail tail) (ring-mask ring-mask) (ring-entries ring-entries)
23
;; (overflow overflow) (cqes cqes) (flags flags) (user-addr user-addr))
26
(defstruct completion-queue
29
(queue (make-alien io-uring-cq) :type (alien io-uring-cq*))) ;; io-uring-cq*
31
;; (define-alien-type io-uring-cqe* (* (struct io-uring-cqe)))
34
(defstruct completion-queue-entry
35
(user-data 0 :type fixnum)
37
(flags 0 :type fixnum))
39
;; (defmethod build ((self completion-queue-entry) &key &allow-other-keys)
40
;; (with-slots (user-data res flags) self
41
;; (with-io-uring-cqe ret
42
;; ((user-data user-data) (res res) (flags flags))
45
;; (defmethod build ((self completion-queue-entry) &key &allow-other-keys)
46
;; (build (make-completion-queue-entry-32 :entry self))
47
;; (with-slots (user-data res flags) self
48
;; (with-io-uring-cqe ret
49
;; ((user-data user-data) (res res) (flags flags))
53
(defstruct completion-queue-entry-32
54
(entry (make-completion-queue-entry) :type completion-queue-entry))
55
;; big-cqe = 16 bytes of padding u64*2
57
;; (defmethod build ((self completion-queue-entry-32) &key &allow-other-keys)
58
;; (with-slots (entry) self
59
;; (with-slots (user-data res flags) entry
60
;; (with-alien ((big-cqe (array unsigned-long 2)))
61
;; ;; TODO this may need to change to align with new version of WITH-IO-URING-SQE
62
;; (with-io-uring-cqe ret
63
;; ((user-data user-data) (res res) (flags flags) (big-cqe big-cqe))