Re: [PATCH 14/21] x86/intel_rdt/cqm: Add mon_data

From: Shivappa Vikas
Date: Tue Jul 11 2017 - 17:16:20 EST




On Thu, 6 Jul 2017, Thomas Gleixner wrote:

On Thu, 6 Jul 2017, Shivappa Vikas wrote:
On Sun, 2 Jul 2017, Thomas Gleixner wrote:
+static bool __mon_event_count(u32 rmid, struct rmid_read *rr)
+{
+ u64 tval;
+
+ tval = __rmid_read(rmid, rr->evtid);
+ if (tval & (RMID_VAL_ERROR | RMID_VAL_UNAVAIL)) {
+ rr->val = tval;
+ return false;
+ }
+ switch (rr->evtid) {
+ case QOS_L3_OCCUP_EVENT_ID:
+ rr->val += tval;
+ return true;
+ default:
+ return false;

I have no idea what that return code means.

false for the invalid event id and all errors for __rmid_read. (IOW all errors
for __mon_event-read)

Sure, but why bool? What's wrong with proper error return codes, so issues
can be distinguished and potentially propagated in the callchain?

Ok, The error is propagated wih the rr->val actually. is this better?

Hardware throws the RMID_VAL_ERROR (bit 63) when an invalid RMID or event is written to event select - this case seems similar.

default:
rr->val = RMID_VAL_ERROR;
return -EINVAL;
}

Thanks,
Vikas


Thanks,

tglx