static void retire_tail()

in ncrx/libncrx.c [330:349]


static void retire_tail(struct ncrx *ncrx)
{
	int ntail = (ncrx->tail + 1) % ncrx->p.nr_slots;
	struct ncrx_slot *slot = &ncrx->slots[ncrx->tail];
	struct ncrx_slot *nslot = &ncrx->slots[ntail];

	if (slot->msg) {
		msg_list_append(slot->msg, &ncrx->retired_list);
		slot->msg = NULL;
	}

	list_del(&slot->hole_node);	/* free slot is never a hole */
	ncrx->tail = ntail;
	/*
	 * Activities of past msgs are considered activities for newer ones
	 * too.  This prevents oos interval verdicts from flipping as
	 * sequence progresses.
	 */
	nslot->timestamp = max(slot->timestamp, nslot->timestamp);
}