Remove EVENT_SPAM_FLAGS (XCC)
authorBarret Rhoden <brho@cs.berkeley.edu>
Tue, 4 Aug 2015 17:43:38 +0000 (13:43 -0400)
committerBarret Rhoden <brho@cs.berkeley.edu>
Mon, 28 Sep 2015 19:14:00 +0000 (15:14 -0400)
commitece4628c03cdd7d5646bdc4055e4982878d41d41
treee0e811ce558610a11a470f76a47dfd5b91b80314
parent7c2005438f525542c456e9e8bd8115f7bb3ca0d4
Remove EVENT_SPAM_FLAGS (XCC)

The spam flags were meant to capture the options relevant to actually
sending / spamming messages.  This was a little messed up.

First, there is no real reason to filter out all of the flags.  It's not
like EVENT_FOOBAR is going to be misinterpreted.  This had the effect of
dropping EVENT_NOMSG, so if you tried to SPAM_PUBLIC a NOMSG, you
actually would spam a UCQ of that bit value!  Luckily, no one did this.

But there is a case where we don't want to pass all of the flags:
INDIRs.  When we spam an INDIR, we do not want to pass NOMSG.  We're
sending a new message, telling userspace to look at another ev_q.  The
distinction is that SPAM_PUBLIC sends the original message, while
SPAM_INDIR sends an indir message.  I considered making a
"EVENT_MSG_FLAGS", but it's just NOMSG, and I'm hoping to get rid of
that.

Technically this changed a kernel header; feel free to ignore it.
kern/include/ros/event.h
kern/src/event.c