18cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd/** 28cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * @file opd_sample_files.h 38cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * Management of sample files 48cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * 58cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * @remark Copyright 2002 OProfile authors 68cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * @remark Read the file COPYING 78cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * 88cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * @author John Levon 98cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * @author Philippe Elie 108cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd */ 118cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd 128cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd#ifndef OPD_SAMPLE_FILES_H 138cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd#define OPD_SAMPLE_FILES_H 148cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd 158cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd#include "op_list.h" 168cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd#include "odb.h" 178cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd 188cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Doddstruct opd_image; 198cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd 208cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd/** one samples file when profiling on a 2.2/2.4 kernel */ 218cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Doddstruct opd_24_sfile { 228cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd /** lru list of sample file */ 238cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd struct list_head lru_next; 248cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd /** the sample file itself */ 258cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd odb_t sample_file; 268cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd}; 278cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd 288cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd/** 298cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * sync all samples files 308cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd */ 318cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Doddvoid opd_sync_samples_files(void); 328cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd 338cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd/** 348cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * @param image the image pointer to work on 358cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * 368cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * close all samples files belonging to this image 378cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd */ 388cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Doddvoid opd_close_image_samples_files(struct opd_image * image); 398cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd 408cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd/** 418cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * opd_open_24_sample_file - open an image sample file 428cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * @param image image to open file for 438cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * @param counter counter number 448cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * @param cpu_nr cpu number 458cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * 468cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * Open image sample file for the image, counter 478cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * counter and set up memory mappings for it. 488cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * image->kernel and image->name must have meaningful 498cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * values. 508cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * 518cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * Returns 0 on success. 528cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd */ 538cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Doddint opd_open_24_sample_file(struct opd_image * image, int counter, int cpu_nr); 548cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd 558cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd/** 568cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * @param sfile sample file to act on 578cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * 588cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * put sfile at the head of samples files lru list 598cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd */ 608cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Doddvoid opd_24_sfile_lru(struct opd_24_sfile * sfile); 618cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd 628cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd 638cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd#endif /* OPD_SAMPLE_FILES_H */ 64