01 Aug, 2006

1 commit

  • Events sent by Process Events Connector from a 64-bit kernel are not binary
    compatible with a 32-bit userspace program because the "timestamp" field
    (struct timespec) is not arch independent. This affects the fields that
    follow "timestamp" as they will be be off by 8 bytes.

    This is a problem for 32-bit userspace programs running with 64-bit kernels
    on ppc64, s390, x86-64.. any "biarch" system.

    Matt had submitted a different solution to lkml as an RFC earlier. We have
    since switched to a solution recommended by Evgeniy Polyakov.

    This patch fixes the problem by changing the timestamp to be a __u64, which
    stores the number of nanoseconds.

    Tested on a x86_64 system with both 32 bit application and 64 bit
    application and on a i386 system.

    Signed-off-by: Chandra Seetharaman
    Signed-off-by: Matt Helsley
    Cc: Evgeniy Polyakov
    Cc: Guillaume Thouvenin
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Chandra Seetharaman
     

23 Jun, 2006

2 commits

  • Change the license on the process event structure passed between kernel and
    userspace.

    Signed-off-by: Matt Helsley
    Acked-by: Guillaume Thouvenin
    Acked-by: Nguyen Anh Quynh
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Matt Helsley
     
  • Move connector header include to precisely where it's needed.

    Remove unused time.h header file as well. This was leftover from previous
    iterations of the process events patches.

    Signed-off-by: Matt Helsley
    Cc: Guillaume Thouvenin
    Cc: Nguyen Anh Quynh
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Matt Helsley
     

13 Dec, 2005

1 commit

  • This adds a timestamp field to the events sent via the process event
    connector. The timestamp allows listeners to accurately account the
    duration(s) between a process' events and offers strong means with which
    to determine the order of events with respect to a given task while also
    avoiding the addition of per-task data.

    This alters the size and layout of the event structure and hence would
    break compatibility if process events connector as it stands in 2.6.15-rc2
    were released as a mainline kernel.

    Signed-off-by: Matt Helsley
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Matt Helsley
     

30 Nov, 2005

1 commit

  • The uid_t and gid_t fields appear to present a 32/64-bit userspace/kernel
    problem for some archs.

    This patch addresses the problem by fixing the size to the largest size for
    uid_t/gid_t used in the kernel. This preserves the total size of the event
    structure while ensuring that the layouts of the ID change event match in
    32 and 64-bit kernels and applications.

    Signed-off-by: Matt Helsley
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Matt Helsley
     

07 Nov, 2005

1 commit

  • This patch adds a connector that reports fork, exec, id change, and exit
    events for all processes to userspace. It replaces the fork_advisor patch
    that ELSA is currently using. Applications that may find these events
    useful include accounting/auditing (e.g. ELSA), system activity monitoring
    (e.g. top), security, and resource management (e.g. CKRM).

    Signed-off-by: Matt Helsley
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Matt Helsley