SQ_WRITER
{ SF(SQ_WRITER), "qwriter(OUTER) pending or running" },
ASSERT(sq->sq_outer == NULL || sq->sq_outer->sq_flags & SQ_WRITER);
ASSERT(sq->sq_outer == NULL || sq->sq_outer->sq_flags & SQ_WRITER);
ASSERT(resetflag != SQ_WRITER);
ASSERT(flags & SQ_WRITER);
ASSERT(!(outer->sq_flags & SQ_WRITER));
outer->sq_flags |= SQ_WRITER;
sq->sq_flags |= SQ_WRITER;
if (outer->sq_flags & (flags & ~SQ_WRITER)) {
ASSERT(outer->sq_flags & SQ_WRITER);
drain_needed += dropsq(sq, SQ_WRITER);
flags &= ~SQ_WRITER;
ASSERT(!(outer->sq_flags & SQ_WRITER));
ASSERT(!(outer->sq_flags & SQ_WRITER));
osq->sq_flags |= SQ_WRITER;
if (!(flags & SQ_WRITER)) {
osq->sq_flags |= SQ_WRITER;
ASSERT(osq->sq_flags & SQ_WRITER);
flags |= SQ_WRITER;
sq->sq_flags |= SQ_WRITER;
ASSERT(outer->sq_flags & SQ_WRITER);
flags &= ~SQ_WRITER;
outer_enter(outer, SQ_BLOCKED|SQ_WRITER);
#define SQ_GOAWAY (SQ_EXCL|SQ_BLOCKED|SQ_FROZEN|SQ_WRITER|\
#define SQ_STAYAWAY (SQ_BLOCKED|SQ_FROZEN|SQ_WRITER)
printf("#define\tSQ_WRITER 0x%x\n", SQ_WRITER);