lkml.org 
[lkml]   [2008]   [Oct]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: perfmon3 interface overview
David,

On Sat, Oct 4, 2008 at 8:05 AM, David Gibson
<david@gibson.dropbear.id.au> wrote:
>>
>> If we wanted to go even further, we could combine start/stop, attach/detach
>> into a single syscall:
>
> Well, you could. But the attach/detach take a parameter which
> start/stop don't, making it a less obvious merge to make.
>
Unless you make the 3rd argument optional and hide this in a
user library. This is how this is handled for pfm_create_session()
for instance. The library would define this as follows:

int pfm_control_session(int fd, int flags, ...);

Based upon flags, it would use va_arg() to get to the 3rd argument and
pass it to the syscall which implements the version below. A dummy value
would be passed with the flags is not equal to PFM_CTFL_ATTACH.

>> int pfm_control_session(int fd, int flags, int target);
>> With flags:
>> PFM_CTFL_START : start monitoring
>> PFM_CTFL_STOP : stop monitoring
>> PFM_CTFL_RESTART: resume after overflow notification
>>
>> PFM_CTFL_ATTACH: attach to thread or cpu designated by 'target'
>> PFM_CTFL_DETACH: detach session
>>


\
 
 \ /
  Last update: 2008-10-04 09:23    [W:0.068 / U:0.440 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site