e_tail
el = ENG_QLEN(e) + (e->e_head - e->e_tail);
el = (e->e_head - e->e_tail);
e->e_tail = ENG_COUNT(e);
nfr = min(e->e_head - e->e_tail, e->e_nframes);
e->e_tail = 0;
st->st_tail.value.ui64 = e->e_tail;
ASSERT(e->e_head >= e->e_tail);
if ((e->e_head - e->e_tail) > e->e_nframes) {
while ((e->e_head - e->e_tail) > fragfr) {
e->e_tail += fragfr;
if (eng->e_tail >= sp->s_drain_idx) {
if (t < e->e_tail) {
e->e_tail = t;
if (e->e_tail > e->e_head) {
cnt = e->e_head - e->e_tail;
cnt = e->e_head - e->e_tail;
if (e->e_tail > e->e_head) {
e->e_tail = e->e_head;
cnt = e->e_head - e->e_tail;
cnt = e->e_head - e->e_tail;