On Tue, 3 May 2016, Peter Zijlstra wrote:
On Mon, Apr 25, 2016 at 02:12:09PM -0700, Vikas Shivappa wrote:
start:
prev_count = read_hw_counter();
I am assuming this means we keep the prev_count when event is initialized.
This is done in the mbm_init which calls update_sample with
On Tue, 3 May 2016, Peter Zijlstra wrote:
On Mon, Apr 25, 2016 at 02:12:09PM -0700, Vikas Shivappa wrote:
start:
prev_count = read_hw_counter();
I am assuming this means we keep the prev_count when event is initialized.
This is done in the mbm_init which calls update_sample with
On Mon, Apr 25, 2016 at 02:12:09PM -0700, Vikas Shivappa wrote:
> >start:
> > prev_count = read_hw_counter();
>
> I am assuming this means we keep the prev_count when event is initialized.
> This is done in the mbm_init which calls update_sample with first parameter
> set to true..
No,
On Mon, Apr 25, 2016 at 02:12:09PM -0700, Vikas Shivappa wrote:
> >start:
> > prev_count = read_hw_counter();
>
> I am assuming this means we keep the prev_count when event is initialized.
> This is done in the mbm_init which calls update_sample with first parameter
> set to true..
No,
On Mon, 25 Apr 2016, Peter Zijlstra wrote:
On Mon, Apr 25, 2016 at 11:04:38AM -0700, Vikas Shivappa wrote:
This is a 'creative' solution; why don't you do the normal thing, which
is:
start:
prev_count = read_hw_counter();
read:
do {
prev = prev_count;
On Mon, 25 Apr 2016, Peter Zijlstra wrote:
On Mon, Apr 25, 2016 at 11:04:38AM -0700, Vikas Shivappa wrote:
This is a 'creative' solution; why don't you do the normal thing, which
is:
start:
prev_count = read_hw_counter();
read:
do {
prev = prev_count;
On Mon, Apr 25, 2016 at 11:04:38AM -0700, Vikas Shivappa wrote:
> >This is a 'creative' solution; why don't you do the normal thing, which
> >is:
> >
> >start:
> > prev_count = read_hw_counter();
> >
> >read:
> > do {
> > prev = prev_count;
> > cur_val =
On Mon, Apr 25, 2016 at 11:04:38AM -0700, Vikas Shivappa wrote:
> >This is a 'creative' solution; why don't you do the normal thing, which
> >is:
> >
> >start:
> > prev_count = read_hw_counter();
> >
> >read:
> > do {
> > prev = prev_count;
> > cur_val =
On Mon, 25 Apr 2016, Peter Zijlstra wrote:
On Fri, Apr 22, 2016 at 05:27:19PM -0700, Vikas Shivappa wrote:
+static inline void mbm_set_rccount(
+ struct perf_event *event, struct rmid_read *rr)
That's horrible style, the 'normal' style is something like:
static
On Mon, 25 Apr 2016, Peter Zijlstra wrote:
On Fri, Apr 22, 2016 at 05:27:19PM -0700, Vikas Shivappa wrote:
+static inline void mbm_set_rccount(
+ struct perf_event *event, struct rmid_read *rr)
That's horrible style, the 'normal' style is something like:
static
On Fri, Apr 22, 2016 at 05:27:19PM -0700, Vikas Shivappa wrote:
> +static inline void mbm_set_rccount(
> + struct perf_event *event, struct rmid_read *rr)
That's horrible style, the 'normal' style is something like:
static inline
void mbm_set_rccount(struct perf_event
On Fri, Apr 22, 2016 at 05:27:19PM -0700, Vikas Shivappa wrote:
> +static inline void mbm_set_rccount(
> + struct perf_event *event, struct rmid_read *rr)
That's horrible style, the 'normal' style is something like:
static inline
void mbm_set_rccount(struct perf_event
For MBM, since we report total bytes for the duration the perf counts,
we need to keep the total bytes counted every time we loose an RMID.
Introduce rc_count(recycle count) per event
keep this history count(all bytes counted before the current RMID).
If we do not keep this count separately then
For MBM, since we report total bytes for the duration the perf counts,
we need to keep the total bytes counted every time we loose an RMID.
Introduce rc_count(recycle count) per event
keep this history count(all bytes counted before the current RMID).
If we do not keep this count separately then
14 matches
Mail list logo