The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

perfmonctl (2)
  • >> perfmonctl (2) ( Linux man: Системные вызовы )
  •  

    NAME

    perfmonctl - interface to PMU 
     
    

    SYNOPSIS

    #include <syscall.h>
    #include <perfmon.h>
    
    long perfmonctl(int fd, int cmd, void *arg, int narg);
    
     

    DESCRIPTION

    perfmonctl system call provides an interface to PMU (performance monitoring unit). PMU consists of PMD (performance monitoring data) registers and PMC (performance monitoring control) registers, where are gathered the hardware statistic.

    perfmonctl will apply a function cmd to input arguments arg. The number of arguments is defined by input variable narg. fd specifies the perfmon context to operate on.

    The implemented commands cmd are:

    PFM_CREATE_CONTEXT     
    set up a context
    perfmonctl(int fd, PFM_CREATE_CONTEXT , pfarg_context_t *ctxt, 1);
    

    The fd parameter is ignored. A new context is created as specified in ctxt and its file descriptor is returned in ctxt->ctx_fd.

    The file descriptor, apart from passing it to perfmonctl, can be used to read event notifications (type pfm_msg_t) using the read(2) system call. Both select(2) and poll(2) can be used to wait for event notifications.

    The context can be destroyed using the close(2) system call.

    PFM_WRITE_PMCS
    set PMC registers
    perfmonctl(int fd, PFM_WRITE_PMCS , pfarg_pmc_t *pmcs, n);
    
    PFM_WRITE_PMDS        
    set PMD registers
    perfmonctl(int fd, PFM_WRITE_PMDS , pfarg_pmd_t *pmds, n);
    
    PFM_READ_PMDS  
    read PMD registers
    perfmonctl(int fd, PFM_READ_PMDS , pfarg_pmd_t *pmds, n);
    
    PFM_START      
    start monitoring
    perfmonctl(int fd, PFM_START , arg , 1);
    perfmonctl(int fd, PFM_START , NULL , 0);
    
    PFM_STOP       
    stop monitoring
    perfmonctl(int fd, PFM_START , NULL , 0);
    
    PFM_LOAD_CONTEXT       
    attach the context to a thread
    perfmonctl(int fd, PFM_LOAD_CONTEXT ,pfarg_load_t *largs,1);
    
    PFM_UNLOAD_CONTEXT     
    detach the context from a thread
    perfmonctl(int fd, PFM_UNLOAD_CONTEXT , NULL , 0);
    
    PFM_RESTART    
    restart monitoring after recieving an overflow notification
    perfmonctl(int fd, PFM_RESTART , NULL , 0);
    
    PFM_CREATE_EVTSETS     
    create or modify event sets
    perfmonctl(int fd, PFM_CREATE_EVTSETS, pfarg_setdesc_t *desc , n);
    
    PFM_DELETE_EVTSETS     
    delete event sets
    perfmonctl(int fd, PFM_DELETE_EVTSET, pfarg_setdesc_t *desc , n);
    
    PFM_GETINFO_EVTSETS    
    get information about event sets
    perfmonctl(int fd, PFM_GETINFO_EVTSETS, pfarg_setinfo_t *info, n);
    

     

    RETURN VALUE

    performctl returns zero when the operation is successful. On error -1 is returned and an error code is set in errno.

     

    AVAILABILITY

    This syscall is implemented only on the IA-64 architecture since kernel 2.6.

     

    SEE ALSO

    gprof(1), The perfmon2 interface specification


     

    Index

    NAME
    SYNOPSIS
    DESCRIPTION
    RETURN VALUE
    AVAILABILITY
    SEE ALSO


    Поиск по тексту MAN-ов: 




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру