Lines Matching refs:sdbt
45 static inline int require_table_link(const void *sdbt) in require_table_link() argument
47 return ((unsigned long) sdbt & ~PAGE_MASK) == CPUM_SF_SDBT_TL_OFFSET; in require_table_link()
73 unsigned long *sdbt; /* Sample-data-block-table origin */ member
110 return !!cpuhw->sfb.sdbt; in sf_buffer_available()
118 unsigned long *sdbt, *curr; in free_sampling_buffer() local
120 if (!sfb->sdbt) in free_sampling_buffer()
123 sdbt = sfb->sdbt; in free_sampling_buffer()
124 curr = sdbt; in free_sampling_buffer()
128 if (!*curr || !sdbt) in free_sampling_buffer()
134 if (sdbt) in free_sampling_buffer()
135 free_page((unsigned long) sdbt); in free_sampling_buffer()
138 if (curr == sfb->sdbt) in free_sampling_buffer()
141 sdbt = curr; in free_sampling_buffer()
152 "free_sampling_buffer: freed sdbt=%p\n", sfb->sdbt); in free_sampling_buffer()
156 static int alloc_sample_data_block(unsigned long *sdbt, gfp_t gfp_flags) in alloc_sample_data_block() argument
168 *sdbt = sdb; in alloc_sample_data_block()
190 if (!sfb->sdbt || !sfb->tail) in realloc_sampling_buffer()
206 if (sfb->sdbt != get_next_sdbt(tail)) { in realloc_sampling_buffer()
210 (void *) sfb->sdbt, (void *) tail); in realloc_sampling_buffer()
243 *tail = (unsigned long) sfb->sdbt + 1; in realloc_sampling_buffer()
267 if (sfb->sdbt) in alloc_sampling_buffer()
271 sfb->sdbt = (unsigned long *) get_zeroed_page(GFP_KERNEL); in alloc_sampling_buffer()
272 if (!sfb->sdbt) in alloc_sampling_buffer()
280 sfb->tail = sfb->sdbt; in alloc_sampling_buffer()
281 *sfb->tail = (unsigned long)(void *) sfb->sdbt + 1; in alloc_sampling_buffer()
292 sfb->sdbt, (void *) *sfb->sdbt); in alloc_sampling_buffer()
317 if (!sfb->sdbt) in sfb_pending_allocs()
362 if (cpuhw->sfb.sdbt) in deallocate_buffers()
1139 static void hw_collect_samples(struct perf_event *event, unsigned long *sdbt, in hw_collect_samples() argument
1153 te = (struct hws_trailer_entry *) trailer_entry_ptr(*sdbt); in hw_collect_samples()
1154 sample = (struct hws_combined_entry *) *sdbt; in hw_collect_samples()
1218 unsigned long *sdbt; in hw_perf_event_update() local
1225 sdbt = (unsigned long *) TEAR_REG(hwc); in hw_perf_event_update()
1229 te = (struct hws_trailer_entry *) trailer_entry_ptr(*sdbt); in hw_perf_event_update()
1249 sdbt, te->overflow, in hw_perf_event_update()
1256 hw_collect_samples(event, sdbt, &event_overflow); in hw_perf_event_update()
1268 sdbt++; in hw_perf_event_update()
1269 if (is_link_entry(sdbt)) in hw_perf_event_update()
1270 sdbt = get_next_sdbt(sdbt); in hw_perf_event_update()
1273 TEAR_REG(hwc) = (unsigned long) sdbt; in hw_perf_event_update()
1354 if (!cpuhw->sfb.sdbt) in cpumsf_pmu_add()
1369 cpuhw->lsctl.tear = (unsigned long) cpuhw->sfb.sdbt; in cpumsf_pmu_add()
1370 cpuhw->lsctl.dear = *(unsigned long *) cpuhw->sfb.sdbt; in cpumsf_pmu_add()
1372 hw_reset_registers(&event->hw, cpuhw->sfb.sdbt); in cpumsf_pmu_add()