17 Feb, 2007

1 commit

  • - hrtimers did not use the hrtimer_restart enum and relied on the implict
    int representation. Fix the prototypes and the functions using the enums.
    - Use seperate name spaces for the enumerations
    - Convert hrtimer_restart macro to inline function
    - Add comments

    No functional changes.

    [akpm@osdl.org: fix input driver]
    Signed-off-by: Thomas Gleixner
    Signed-off-by: Ingo Molnar
    Cc: john stultz
    Cc: Roman Zippel
    Cc: Dmitry Torokhov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Thomas Gleixner
     

13 Feb, 2007

1 commit

  • Of kernel subsystems that work with pids the tty layer is probably the largest
    consumer. But it has the nice virtue that the assiation with a session only
    lasts until the session leader exits. Which means that no reference counting
    is required. So using struct pid winds up being a simple optimization to
    avoid hash table lookups.

    In the long term the use of pid_nr also ensures that when we have multiple pid
    spaces mixed everything will work correctly.

    Signed-off-by: Eric W. Biederman
    Cc: Alan Cox
    Cc: Oleg Nesterov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric W. Biederman
     

12 Feb, 2007

1 commit

  • They are fat: 4x8 bytes in task_struct.
    They are uncoditionally updated in every fork, read, write and sendfile.
    They are used only if you have some "extended acct fields feature".

    And please, please, please, read(2) knows about bytes, not characters,
    why it is called "rchar"?

    Signed-off-by: Alexey Dobriyan
    Cc: Jay Lan
    Cc: Balbir Singh
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     

02 Feb, 2007

1 commit


31 Jan, 2007

2 commits

  • This reverts commit 7a238fcba0629b6f2edbcd37458bae56fcf36be5 in
    preparation for a better and simpler fix proposed by Eric Biederman
    (and fixed up by Serge Hallyn)

    Acked-by: Serge E. Hallyn
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • Fix exit race by splitting the nsproxy putting into two pieces. First
    piece reduces the nsproxy refcount. If we dropped the last reference, then
    it puts the mnt_ns, and returns the nsproxy as a hint to the caller. Else
    it returns NULL. The second piece of exiting task namespaces sets
    tsk->nsproxy to NULL, and drops the references to other namespaces and
    frees the nsproxy only if an nsproxy was passed in.

    A little awkward and should probably be reworked, but hopefully it fixes
    the NFS oops.

    Signed-off-by: Serge E. Hallyn
    Cc: Herbert Poetzl
    Cc: Oleg Nesterov
    Cc: "Eric W. Biederman"
    Cc: Cedric Le Goater
    Cc: Daniel Hokka Zakrisson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Serge E. Hallyn
     

14 Dec, 2006

1 commit

  • Virtually index, physically tagged cache architectures can get away
    without cache flushing when forking. This patch adds a new cache
    flushing function flush_cache_dup_mm(struct mm_struct *) which for the
    moment I've implemented to do the same thing on all architectures
    except on MIPS where it's a no-op.

    Signed-off-by: Ralf Baechle
    Signed-off-by: Linus Torvalds

    Ralf Baechle
     

11 Dec, 2006

4 commits

  • An fdtable can either be embedded inside a files_struct or standalone (after
    being expanded). When an fdtable is being discarded after all RCU references
    to it have expired, we must either free it directly, in the standalone case,
    or free the files_struct it is contained within, in the embedded case.

    Currently the free_files field controls this behavior, but we can get rid of
    it entirely, as all the necessary information is already recorded. We can
    distinguish embedded and standalone fdtables using max_fds, and if it is
    embedded we can divine the relevant files_struct using container_of().

    Signed-off-by: Vadim Lobanov
    Cc: Christoph Hellwig
    Cc: Al Viro
    Cc: Dipankar Sarma
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Vadim Lobanov
     
  • Currently, each fdtable supports three dynamically-sized arrays of data: the
    fdarray and two fdsets. The code allows the number of fds supported by the
    fdarray (fdtable->max_fds) to differ from the number of fds supported by each
    of the fdsets (fdtable->max_fdset).

    In practice, it is wasteful for these two sizes to differ: whenever we hit a
    limit on the smaller-capacity structure, we will reallocate the entire fdtable
    and all the dynamic arrays within it, so any delta in the memory used by the
    larger-capacity structure will never be touched at all.

    Rather than hogging this excess, we shouldn't even allocate it in the first
    place, and keep the capacities of the fdarray and the fdsets equal. This
    patch removes fdtable->max_fdset. As an added bonus, most of the supporting
    code becomes simpler.

    Signed-off-by: Vadim Lobanov
    Cc: Christoph Hellwig
    Cc: Al Viro
    Cc: Dipankar Sarma
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Vadim Lobanov
     
  • The dup_fd() function creates a new files_struct and fdtable embedded inside
    that files_struct, and then possibly expands the fdtable using expand_files().

    The out_release error path is invoked when expand_files() returns an error
    code. However, when this attempt to expand fails, the fdtable is left in its
    original embedded form, so it is pointless to try to free the associated
    fdarray and fdsets.

    Signed-off-by: Vadim Lobanov
    Cc: Dipankar Sarma
    Cc: Christoph Hellwig
    Cc: Al Viro
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Vadim Lobanov
     
  • The present per-task IO accounting isn't very useful. It simply counts the
    number of bytes passed into read() and write(). So if a process reads 1MB
    from an already-cached file, it is accused of having performed 1MB of I/O,
    which is wrong.

    (David Wright had some comments on the applicability of the present logical IO accounting:

    For billing purposes it is useless but for workload analysis it is very
    useful

    read_bytes/read_calls average read request size
    write_bytes/write_calls average write request size

    read_bytes/read_blocks ie logical/physical can indicate hit rate or thrashing
    write_bytes/write_blocks ie logical/physical guess since pdflush writes can
    be missed

    I often look for logical larger than physical to see filesystem cache
    problems. And the bytes/cpusec can help find applications that are
    dominating the cache and causing slow interactive response from page cache
    contention.

    I want to find the IO intensive applications and make sure they are doing
    efficient IO. Thus the acctcms(sysV) or csacms command would give the high
    IO commands).

    This patchset adds new accounting which tries to be more accurate. We account
    for three things:

    reads:

    attempt to count the number of bytes which this process really did cause
    to be fetched from the storage layer. Done at the submit_bio() level, so it
    is accurate for block-backed filesystems. I also attempt to wire up NFS and
    CIFS.

    writes:

    attempt to count the number of bytes which this process caused to be sent
    to the storage layer. This is done at page-dirtying time.

    The big inaccuracy here is truncate. If a process writes 1MB to a file
    and then deletes the file, it will in fact perform no writeout. But it will
    have been accounted as having caused 1MB of write.

    So...

    cancelled_writes:

    account the number of bytes which this process caused to not happen, by
    truncating pagecache.

    We _could_ just subtract this from the process's `write' accounting. But
    that means that some processes would be reported to have done negative
    amounts of write IO, which is silly.

    So we just report the raw number and punt this decision up to userspace.

    Now, we _could_ account for writes at the physical I/O level. But

    - This would require that we track memory-dirtying tasks at the per-page
    level (would require a new pointer in struct page).

    - It would mean that IO statistics for a process are usually only available
    long after that process has exitted. Which means that we probably cannot
    communicate this info via taskstats.

    This patch:

    Wire up the kernel-private data structures and the accessor functions to
    manipulate them.

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

    Andrew Morton
     

09 Dec, 2006

5 commits

  • Rename 'struct namespace' to 'struct mnt_namespace' to avoid confusion with
    other namespaces being developped for the containers : pid, uts, ipc, etc.
    'namespace' variables and attributes are also renamed to 'mnt_ns'

    Signed-off-by: Kirill Korotaev
    Signed-off-by: Cedric Le Goater
    Cc: Eric W. Biederman
    Cc: Herbert Poetzl
    Cc: Sukadev Bhattiprolu
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kirill Korotaev
     
  • Add an anonymous union and ((deprecated)) to catch direct usage of the
    session field.

    [akpm@osdl.org: fix various missed conversions]
    [jdike@addtoit.com: fix UML bug]
    Signed-off-by: Jeff Dike
    Cc: Cedric Le Goater
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Cedric Le Goater
     
  • Replace occurences of task->signal->session by a new process_session() helper
    routine.

    It will be useful for pid namespaces to abstract the session pid number.

    Signed-off-by: Cedric Le Goater
    Cc: Kirill Korotaev
    Cc: Eric W. Biederman
    Cc: Herbert Poetzl
    Cc: Sukadev Bhattiprolu
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Cedric Le Goater
     
  • Change all the uses of f_{dentry,vfsmnt} to f_path.{dentry,mnt} in
    linux/kernel/.

    Signed-off-by: Josef "Jeff" Sipek
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Josef "Jeff" Sipek
     
  • sys_unshare(CLONE_SIGHAND) is broken, the code under 'if (new_sigh)' is
    never executed but very wrong. Just remove it to avoid a confusion,
    task_lock() has nothing to do with ->sighand changing.

    Also, change the comment in unshare_sighand(). Yes, CLONE_THREAD implies
    CLONE_SIGHAND, but still it looks confusing. Also, we don't need to check
    current->sighand != NULL.

    Signed-off-by: Oleg Nesterov
    Acked-by: Peter Zijlstra
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Oleg Nesterov
     

08 Dec, 2006

6 commits

  • * 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6: (156 commits)
    [PATCH] x86-64: Export smp_call_function_single
    [PATCH] i386: Clean up smp_tune_scheduling()
    [PATCH] unwinder: move .eh_frame to RODATA
    [PATCH] unwinder: fully support linker generated .eh_frame_hdr section
    [PATCH] x86-64: don't use set_irq_regs()
    [PATCH] x86-64: check vector in setup_ioapic_dest to verify if need setup_IO_APIC_irq
    [PATCH] x86-64: Make ix86 default to HIGHMEM4G instead of NOHIGHMEM
    [PATCH] i386: replace kmalloc+memset with kzalloc
    [PATCH] x86-64: remove remaining pc98 code
    [PATCH] x86-64: remove unused variable
    [PATCH] x86-64: Fix constraints in atomic_add_return()
    [PATCH] x86-64: fix asm constraints in i386 atomic_add_return
    [PATCH] x86-64: Correct documentation for bzImage protocol v2.05
    [PATCH] x86-64: replace kmalloc+memset with kzalloc in MTRR code
    [PATCH] x86-64: Fix numaq build error
    [PATCH] x86-64: include/asm-x86_64/cpufeature.h isn't a userspace header
    [PATCH] unwinder: Add debugging output to the Dwarf2 unwinder
    [PATCH] x86-64: Clarify error message in GART code
    [PATCH] x86-64: Fix interrupt race in idle callback (3rd try)
    [PATCH] x86-64: Remove unwind stack pointer alignment forcing again
    ...

    Fixed conflict in include/linux/uaccess.h manually

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • Allocate ->signal->stats on demand in taskstats_exit(), this allows us to
    remove taskstats_tgid_alloc() (the last non-trivial inline) from taskstat's
    public interface.

    Signed-off-by: Oleg Nesterov
    Cc: Balbir Singh
    Cc: Shailabh Nagar
    Cc: Jay Lan
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Oleg Nesterov
     
  • The CLONE_CHILD_CLEARTID flag is used by NPTL to have its threads
    communicate via memory/futex when they exit, so pthread_join can
    synchronize using a simple futex wait. The word of user memory where NPTL
    stores a thread's own TID is what it passes; this gets reset to zero at
    thread exit.

    It is not desireable to touch this user memory when threads are dying due
    to a fatal signal. A core dump is more usefully representative of the
    dying program state if the threads live at the time of the crash have their
    NPTL data structures unperturbed. The userland expectation of
    CLONE_CHILD_CLEARTID has only ever been that it works for a thread making
    an _exit system call.

    This problem was identified by Ernie Petrides .

    Signed-off-by: Roland McGrath
    Cc: Ernie Petrides
    Cc: Jakub Jelinek
    Acked-by: Ingo Molnar
    Cc: Ulrich Drepper
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roland McGrath
     
  • Replace all uses of kmem_cache_t with struct kmem_cache.

    The patch was generated using the following script:

    #!/bin/sh
    #
    # Replace one string by another in all the kernel sources.
    #

    set -e

    for file in `find * -name "*.c" -o -name "*.h"|xargs grep -l $1`; do
    quilt add $file
    sed -e "1,\$s/$1/$2/g" $file >/tmp/$$
    mv /tmp/$$ $file
    quilt refresh
    done

    The script was run like this

    sh replace kmem_cache_t "struct kmem_cache"

    Signed-off-by: Christoph Lameter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Lameter
     
  • SLAB_KERNEL is an alias of GFP_KERNEL.

    Signed-off-by: Christoph Lameter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Lameter
     
  • The new swap token patches replace the current token traversal algo. The old
    algo had a crude timeout parameter that was used to handover the token from
    one task to another. This algo, transfers the token to the tasks that are in
    need of the token. The urgency for the token is based on the number of times
    a task is required to swap-in pages. Accordingly, the priority of a task is
    incremented if it has been badly affected due to swap-outs. To ensure that
    the token doesnt bounce around rapidly, the token holders are given a priority
    boost. The priority of tasks is also decremented, if their rate of swap-in's
    keeps reducing. This way, the condition to check whether to pre-empt the swap
    token, is a matter of comparing two task's priority fields.

    [akpm@osdl.org: cleanups]
    Signed-off-by: Ashwin Chaugule
    Cc: Rik van Riel
    Cc: Peter Zijlstra
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ashwin Chaugule
     

07 Dec, 2006

1 commit

  • This patch is the meat of the PDA change. This patch makes several related
    changes:

    1: Most significantly, %gs is now used in the kernel. This means that on
    entry, the old value of %gs is saved away, and it is reloaded with
    __KERNEL_PDA.

    2: entry.S constructs the stack in the shape of struct pt_regs, and this
    is passed around the kernel so that the process's saved register
    state can be accessed.

    Unfortunately struct pt_regs doesn't currently have space for %gs
    (or %fs). This patch extends pt_regs to add space for gs (no space
    is allocated for %fs, since it won't be used, and it would just
    complicate the code in entry.S to work around the space).

    3: Because %gs is now saved on the stack like %ds, %es and the integer
    registers, there are a number of places where it no longer needs to
    be handled specially; namely context switch, and saving/restoring the
    register state in a signal context.

    4: And since kernel threads run in kernel space and call normal kernel
    code, they need to be created with their %gs == __KERNEL_PDA.

    Signed-off-by: Jeremy Fitzhardinge
    Signed-off-by: Andi Kleen
    Cc: Chuck Ebbert
    Cc: Zachary Amsden
    Cc: Jan Beulich
    Cc: Andi Kleen
    Signed-off-by: Andrew Morton

    Jeremy Fitzhardinge
     

26 Nov, 2006

1 commit


15 Nov, 2006

1 commit

  • This reverts commit 0130b0b32ee53dc7add773fcea984f6a26ef1da3.

    Sergey Vlasov points out (and Vadim Lobanov concurs) that the bug it was
    supposed to fix must be some unrelated memory corruption, and the "fix"
    actually causes more problems:

    "However, the new code does not look safe in all cases. If some other
    task has opened more files while dup_fd() released oldf->file_lock, the
    new code will update open_files to the new larger value. But newf was
    allocated with the old smaller value of open_files, therefore subsequent
    accesses to newf may try to write into unallocated memory."

    so revert it.

    Cc: Sharyathi Nagesh
    Cc: Sergey Vlasov
    Cc: Vadim Lobanov
    Cc: Andrew Morton
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

13 Nov, 2006

1 commit

  • On running the Stress Test on machine for more than 72 hours following
    error message was observed.

    0:mon> e
    cpu 0x0: Vector: 300 (Data Access) at [c00000007ce2f7f0]
    pc: c000000000060d90: .dup_fd+0x240/0x39c
    lr: c000000000060d6c: .dup_fd+0x21c/0x39c
    sp: c00000007ce2fa70
    msr: 800000000000b032
    dar: ffffffff00000028
    dsisr: 40000000
    current = 0xc000000074950980
    paca = 0xc000000000454500
    pid = 27330, comm = bash

    0:mon> t
    [c00000007ce2fa70] c000000000060d28 .dup_fd+0x1d8/0x39c (unreliable)
    [c00000007ce2fb30] c000000000060f48 .copy_files+0x5c/0x88
    [c00000007ce2fbd0] c000000000061f5c .copy_process+0x574/0x1520
    [c00000007ce2fcd0] c000000000062f88 .do_fork+0x80/0x1c4
    [c00000007ce2fdc0] c000000000011790 .sys_clone+0x5c/0x74
    [c00000007ce2fe30] c000000000008950 .ppc_clone+0x8/0xc

    The problem is because of race window. When if(expand) block is executed in
    dup_fd unlocking of oldf->file_lock give a window for fdtable in oldf to be
    modified. So actual open_files in oldf may not match with open_files
    variable.

    Cc: Vadim Lobanov
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sharyathi Nagesh
     

29 Oct, 2006

2 commits

  • signal_struct is (mostly) protected by ->sighand->siglock, I think we don't
    need ->taskstats_lock to protect ->stats. This also allows us to simplify the
    locking in fill_tgid().

    Signed-off-by: Oleg Nesterov
    Cc: Shailabh Nagar
    Cc: Balbir Singh
    Cc: Jay Lan
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Oleg Nesterov
     
  • taskstats_tgid_free() is called on copy_process's error path. This is wrong.

    IF (clone_flags & CLONE_THREAD)
    We should not clear ->signal->taskstats, current uses it,
    it probably has a valid accumulated info.
    ELSE
    taskstats_tgid_init() set ->signal->taskstats = NULL,
    there is nothing to free.

    Move the callsite to __exit_signal(). We don't need any locking, entire
    thread group is exiting, nobody should have a reference to soon to be
    released ->signal.

    Signed-off-by: Oleg Nesterov
    Cc: Shailabh Nagar
    Cc: Balbir Singh
    Cc: Jay Lan
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Oleg Nesterov
     

17 Oct, 2006

1 commit

  • BUG: warning at kernel/rtmutex-debug.c:125/rt_mutex_debug_task_free() (Not tainted)
    [] show_trace_log_lvl+0x58/0x16a
    [] show_trace+0xd/0x10
    [] dump_stack+0x19/0x1b
    [] rt_mutex_debug_task_free+0x35/0x6a
    [] free_task+0x15/0x24
    [] copy_process+0x12bd/0x1324
    [] do_fork+0x42/0x113
    [] sys_fork+0x19/0x1b
    [] syscall_call+0x7/0xb

    In copy_process(), dup_task_struct() also duplicates the ->pi_lock,
    ->pi_waiters and ->pi_blocked_on members. rt_mutex_debug_task_free()
    called from free_task() validates these members. However free_task() can
    be invoked before these members are reset for the new task.

    Move the initialization code before the first bail that can hit free_task().

    Signed-off-by: Peter Zijlstra
    Acked-by: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Peter Zijlstra
     

02 Oct, 2006

6 commits

  • This patch adds basic IPC namespace functionality to
    IPC utils:
    - init_ipc_ns
    - copy/clone/unshare/free IPC ns
    - /proc preparations

    Signed-off-by: Pavel Emelianov
    Signed-off-by: Kirill Korotaev
    Cc: "Eric W. Biederman"
    Cc: Cedric Le Goater
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kirill Korotaev
     
  • This patch set allows to unshare IPCs and have a private set of IPC objects
    (sem, shm, msg) inside namespace. Basically, it is another building block of
    containers functionality.

    This patch implements core IPC namespace changes:
    - ipc_namespace structure
    - new config option CONFIG_IPC_NS
    - adds CLONE_NEWIPC flag
    - unshare support

    [clg@fr.ibm.com: small fix for unshare of ipc namespace]
    [akpm@osdl.org: build fix]
    Signed-off-by: Pavel Emelianov
    Signed-off-by: Kirill Korotaev
    Signed-off-by: Cedric Le Goater
    Cc: "Eric W. Biederman"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kirill Korotaev
     
  • The nsproxy was being copied in unshare() when anything was being unshared,
    even if it was something not referenced from nsproxy. This should end up
    in some cases with far more memory usage than necessary.

    Signed-off-by: Serge Hallyn
    Cc: Kirill Korotaev
    Cc: "Eric W. Biederman"
    Cc: Herbert Poetzl
    Cc: Andrey Savochkin
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Serge Hallyn
     
  • Implement a CLONE_NEWUTS flag, and use it at clone and sys_unshare.

    [clg@fr.ibm.com: IPC unshare fix]
    [bunk@stusta.de: cleanup]
    Signed-off-by: Serge Hallyn
    Cc: Kirill Korotaev
    Cc: "Eric W. Biederman"
    Cc: Herbert Poetzl
    Cc: Andrey Savochkin
    Signed-off-by: Adrian Bunk
    Signed-off-by: Cedric Le Goater
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Serge E. Hallyn
     
  • This moves the mount namespace into the nsproxy. The mount namespace count
    now refers to the number of nsproxies point to it, rather than the number of
    tasks. As a result, the unshare_namespace() function in kernel/fork.c no
    longer checks whether it is being shared.

    Signed-off-by: Serge Hallyn
    Cc: Kirill Korotaev
    Cc: "Eric W. Biederman"
    Cc: Herbert Poetzl
    Cc: Andrey Savochkin
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Serge E. Hallyn
     
  • This patch adds a nsproxy structure to the task struct. Later patches will
    move the fs namespace pointer into this structure, and introduce a new utsname
    namespace into the nsproxy.

    The vserver and openvz functionality, then, would be implemented in large part
    by virtualizing/isolating more and more resources into namespaces, each
    contained in the nsproxy.

    [akpm@osdl.org: build fix]
    Signed-off-by: Serge Hallyn
    Cc: Kirill Korotaev
    Cc: "Eric W. Biederman"
    Cc: Herbert Poetzl
    Cc: Andrey Savochkin
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Serge E. Hallyn
     

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
     

30 Sep, 2006

2 commits

  • copy_process:
    // holds tasklist_lock + ->siglock
    /*
    * inherit ioprio
    */
    p->ioprio = current->ioprio;

    Why? ->ioprio was already copied in dup_task_struct(). I guess this is
    needed to ensure that the child can't escape
    sys_ioprio_set(IOPRIO_WHO_{PGRP,USER}), yes?

    In that case we don't need ->siglock held, and the comment should be
    updated.

    Signed-off-by: Oleg Nesterov
    Cc: Jens Axboe
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Oleg Nesterov
     
  • Signed-off-by: Alexey Dobriyan
    Acked-by: Jens Axboe
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     

29 Sep, 2006

1 commit

  • * 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (130 commits)
    [ARM] 3856/1: Add clocksource for Intel IXP4xx platforms
    [ARM] 3855/1: Add generic time support
    [ARM] 3873/1: S3C24XX: Add irq_chip names
    [ARM] 3872/1: S3C24XX: Apply consistant tabbing to irq_chips
    [ARM] 3871/1: S3C24XX: Fix ordering of EINT4..23
    [ARM] nommu: confirms the CR_V bit in nommu mode
    [ARM] nommu: abort handler fixup for !CPU_CP15_MMU cores.
    [ARM] 3870/1: AT91: Start removing static memory mappings
    [ARM] 3869/1: AT91: NAND support for DK and KB9202 boards
    [ARM] 3868/1: AT91 hardware header update
    [ARM] 3867/1: AT91 GPIO update
    [ARM] 3866/1: AT91 clock update
    [ARM] 3865/1: AT91RM9200 header updates
    [ARM] 3862/2: S3C2410 - add basic power management support for AML M5900 series
    [ARM] kthread: switch arch/arm/kernel/apm.c
    [ARM] Off-by-one in arch/arm/common/icst*
    [ARM] 3864/1: Refactore sharpsl_pm
    [ARM] 3863/1: Add Locomo SPI Device
    [ARM] 3847/2: Convert LOMOMO to use struct device for GPIOs
    [ARM] Use CPU_CACHE_* where possible in asm/cacheflush.h
    ...

    Linus Torvalds
     

26 Sep, 2006

1 commit