13 Mar, 2010

2 commits


26 Jul, 2008

1 commit

  • Allocate the structure on the first call to sys_acct(). After this each
    namespace, that ordered the accounting, will live with this structure till
    its own death.

    Two notes
    - routines, that close the accounting on fs umount time use
    the init_pid_ns's acct by now;
    - accounting routine accounts to dying task's namespace
    (also by now).

    Signed-off-by: Pavel Emelyanov
    Cc: Balbir Singh
    Cc: "Eric W. Biederman"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Pavel Emelyanov
     

07 Feb, 2008

1 commit

  • The kernel has a divide by zero crash when trying to run the system timer
    less than 100Hz. The problem is x/(HZ/USER_HZ) and related. Now
    x*(USER_HZ/HZ) will be used if HZ
    Cc: "H. Peter Anvin"
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Fries
     

04 Dec, 2006

1 commit


01 Oct, 2006

1 commit

  • There were a few accounting data/macros that are used in CSA but are #ifdef'ed
    inside CONFIG_BSD_PROCESS_ACCT. This patch is to change those ifdef's from
    CONFIG_BSD_PROCESS_ACCT to CONFIG_TASK_XACCT. A few defines are moved from
    kernel/acct.c and include/linux/acct.h to kernel/tsacct.c and
    include/linux/tsacct_kern.h.

    Signed-off-by: Jay Lan
    Cc: Shailabh Nagar
    Cc: Balbir Singh
    Cc: Jes Sorensen
    Cc: Chris Sturtivant
    Cc: Tony Ernst
    Cc: Guillaume Thouvenin
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jay Lan
     

26 Jun, 2006

2 commits

  • When pacct facility generate an 'ac_flag' field in accounting record, it
    refers a task_struct of the thread which died last in the process. But any
    other task_structs are ignored.

    Therefore, pacct facility drops ASU flag even if root-privilege operations are
    used by any other threads except the last one. In addition, AFORK flag is
    always set when the thread of group-leader didn't die last, although this
    process has called execve() after fork().

    We have a same matter in ac_exitcode. The recorded ac_exitcode is an exit
    code of the last thread in the process. There is a possibility this exitcode
    is not the group leader's one.

    KaiGai Kohei
     
  • The pacct facility need an i/o operation when an accounting record is
    generated. There is a possibility to wake OOM killer up. If OOM killer is
    activated, it kills some processes to make them release process memory
    regions.

    But acct_process() is called in the killed processes context before calling
    exit_mm(), so those processes cannot release own memory. In the results, any
    processes stop in this point and it finally cause a system stall.

    KaiGai Kohei
     

26 Apr, 2006

1 commit


25 Apr, 2006

1 commit


14 Nov, 2005

1 commit


08 Nov, 2005

1 commit

  • The way we currently deal with quota and process accounting that might
    keep vfsmount busy at umount time is inherently broken; we try to turn
    them off just in case (not quite correctly, at that) and

    a) pray umount doesn't fail (otherwise they'll stay turned off)
    b) pray nobody doesn anything funny just as we turn quota off

    Moreover, LSM provides hooks for doing the same sort of broken logics.

    The proper way to deal with that is to introduce the second kind of
    reference to vfsmount. Semantics:

    - when the last normal reference is dropped, all special ones are
    converted to normal ones and if there had been any, cleanup is done.
    - normal reference can be cloned into a special one
    - special reference can be converted to normal one; that's a no-op if
    we'd already passed the point of no return (i.e. mntput() had
    converted special references to normal and started cleanup).

    The way it works: e.g. starting process accounting converts the vfsmount
    reference pinned by the opened file into special one and turns it back
    to normal when it gets shut down; acct_auto_close() is done when no
    normal references are left. That way it does *not* obstruct umount(2)
    and it silently gets turned off when the last normal reference to
    vfsmount is gone. Which is exactly what we want...

    The same should be done by LSM module that holds some internal
    references to vfsmount and wants to shut them down on umount - it should
    make them special and security_sb_umount_close() will be called exactly
    when the last normal reference to vfsmount is gone.

    quota handling is even simpler - we don't use normal file IO anymore, so
    there's no need to hold vfsmounts at all. DQUOT_OFF() is done from
    deactivate_super(), where it really belongs.

    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     

15 Oct, 2005

1 commit

  • Fix copy and paste error in jiffies_to_AHZ conversion which leads to wrong
    BSD accounting information on alpha and ia64 when
    CONFIG_BSD_PROCESS_ACCT_V3 is turned on.

    Also update comment to match reorganised header files.

    Signed-off-by: Tim Schmielau
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Tim Schmielau
     

17 Apr, 2005

1 commit

  • Initial git repository build. I'm not bothering with the full history,
    even though we have it. We can create a separate "historical" git
    archive of that later if we want to, and in the meantime it's about
    3.2GB when imported into git - space that would just make the early
    git days unnecessarily complicated, when we don't have a lot of good
    infrastructure for it.

    Let it rip!

    Linus Torvalds