Re: I.1 - System calls - ioctl

stephane eranian
2009-07-30T16:53:33Z

On Thu, Jul 30, 2009 at 6:40 PM, Arnd Bergmann<arnd@arndb.de> wrote:
> On Thursday 30 July 2009, stephane eranian wrote:
>> long sys_perf_counter_open(
>>        struct perf_counter_attr *attr,
>>        enum perf_target_type  target_type,
>>        int target_id,
>>        int group_fd,
>>        unsigned long flags);
>>
>> Which is what you had, except without the struct.
>>
>> Then, it boils down to whether expressing a target id in 32 bits is enough.
>> Obviously, 64-bit would be the safest but then I understand this causes issues
>> on 32-bit systems.
>
> Just make it an unsigned long then, that still covers all cases
> where you only need the 64-bit type on 64-bit systems.
>
But that won't always work in the case of a 32-bit monitoring tool
running on top of
a 64-bit OS. Imagine the target id is indeed 64-bit, e.g., inode
number (as suggested
by Peter). It's not because you are a 32-bit tool than you cannot name
a monitoring
resource in a 64-bit OS.

>        Arnd <><
>