rem: if (page->queue_prev == NULL && q->head != page) panic("ep: q = %p, page = %p, page->queue_prev == NULL, but q->head != page\n", q, page); if (page->queue_next == NULL && q->tail != page) panic("ep: q = %p, page = %p, page->queue_next == NULL, but q->tail != page\n", q, page);  if ((q->head == NULL || q->tail == NULL) && q->head != q->tail) panic("enqueue_page: list at %p is corrupt (count = %d)\n", q, q->count);  check_page_queue("eq2", q);
context: static void enqueue_page(page_queue *q, vm_page *page){	check_page_queue("eq1", q);//	dprintf("enqueue_page: q = %p, q->head = %p, q->tail = %p\n", q, q->head, q->tail);	if ((q->head == NULL || q->tail == NULL) && q->head != q->tail)		panic("enqueue_page: list at %p is corrupt (count = %d)\n", q, q->count);	if (q->head != NULL)		q->head->queue_prev = page;	page->queue_next = q->head;	q->head = page;	page->queue_prev = NULL;	if (q->tail == NULL)		q->tail = page;	q->count++;	if (q == &page_modified_queue) {		if (q->count == 1)			release_sem_etc(modified_pages_available, 1, B_DO_NOT_RESCHEDULE);	}	if (page->queue_prev == NULL && q->head != page)		panic("ep: q = %p, page = %p, page->queue_prev == NULL, but q->head != page\n", q, page);	if (page->queue_next == NULL && q->tail != page)		panic("ep: q = %p, page = %p, page->queue_next == NULL, but q->tail != page\n", q, page);	if ((q->head == NULL || q->tail == NULL) && q->head != q->tail)		panic("enqueue_page: list at %p is corrupt (count = %d)\n", q, q->count);	check_page_queue("eq2", q);}