Lines Matching refs:md

444 static int __perf_mmap__read_init(struct mmap *md)  in __perf_mmap__read_init()  argument
446 u64 head = perf_mmap__read_head(md); in __perf_mmap__read_init()
447 u64 old = md->core.prev; in __perf_mmap__read_init()
448 unsigned char *data = md->core.base + page_size; in __perf_mmap__read_init()
451 md->core.start = md->core.overwrite ? head : old; in __perf_mmap__read_init()
452 md->core.end = md->core.overwrite ? old : head; in __perf_mmap__read_init()
454 if ((md->core.end - md->core.start) < md->core.flush) in __perf_mmap__read_init()
457 size = md->core.end - md->core.start; in __perf_mmap__read_init()
458 if (size > (unsigned long)(md->core.mask) + 1) { in __perf_mmap__read_init()
459 if (!md->core.overwrite) { in __perf_mmap__read_init()
462 md->core.prev = head; in __perf_mmap__read_init()
463 perf_mmap__consume(md); in __perf_mmap__read_init()
471 if (overwrite_rb_find_range(data, md->core.mask, &md->core.start, &md->core.end)) in __perf_mmap__read_init()
489 int perf_mmap__push(struct mmap *md, void *to, in perf_mmap__push() argument
492 u64 head = perf_mmap__read_head(md); in perf_mmap__push()
493 unsigned char *data = md->core.base + page_size; in perf_mmap__push()
498 rc = perf_mmap__read_init(md); in perf_mmap__push()
502 size = md->core.end - md->core.start; in perf_mmap__push()
504 if ((md->core.start & md->core.mask) + size != (md->core.end & md->core.mask)) { in perf_mmap__push()
505 buf = &data[md->core.start & md->core.mask]; in perf_mmap__push()
506 size = md->core.mask + 1 - (md->core.start & md->core.mask); in perf_mmap__push()
507 md->core.start += size; in perf_mmap__push()
509 if (push(md, to, buf, size) < 0) { in perf_mmap__push()
515 buf = &data[md->core.start & md->core.mask]; in perf_mmap__push()
516 size = md->core.end - md->core.start; in perf_mmap__push()
517 md->core.start += size; in perf_mmap__push()
519 if (push(md, to, buf, size) < 0) { in perf_mmap__push()
524 md->core.prev = head; in perf_mmap__push()
525 perf_mmap__consume(md); in perf_mmap__push()