lkml.org 
[lkml]   [2009]   [Mar]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [tip:timers/urgent] posix timers: fix RLIMIT_CPU && fork()
    On 03/23, Oleg Nesterov wrote:
    >
    > Commit-ID: 37bebc70d7ad4144c571d74500db3bb26ec0c0eb
    > Gitweb: http://git.kernel.org/tip/37bebc70d7ad4144c571d74500db3bb26ec0c0eb
    > Author: Oleg Nesterov <oleg@redhat.com>
    > AuthorDate: Mon, 23 Mar 2009 20:34:11 +0100
    > Committer: Ingo Molnar <mingo@elte.hu>
    > CommitDate: Mon, 23 Mar 2009 20:43:35 +0100
    >
    > posix timers: fix RLIMIT_CPU && fork()
    >
    > See http://bugzilla.kernel.org/show_bug.cgi?id=12911
    >
    > copy_signal() copies signal->rlim, but RLIMIT_CPU is "lost". Because
    > posix_cpu_timers_init_group() sets cputime_expires.prof_exp = 0 and thus
    > fastpath_timer_check() returns false unless we have other cpu timers.
    >
    > This is the minimal fix for 2.6.29 (tested) and 2.6.28. The patch is not
    > optimal,

    Ingo, please drop this patch, it is very suboptimal.

    My intent was to make the obviously correct patch for 2.6.29, but since
    it was already released I'll send another one.

    And,

    > we need further cleanups here. With this patch update_rlimit_cpu()
    > is not really needed, but I don't think it should be removed.
    >
    > The proper fix (I think) is:
    >
    > - set_process_cpu_timer() should just start the cputimer->running
    > logic (it does), no need to change cputime_expires.xxx_exp

    I am stupid, of course we should set cputime_expires.xxx_exp to avoid
    the slow path in run_posix_cpu_timers().

    Oleg.



    \
     
     \ /
      Last update: 2009-03-24 19:33    [W:0.024 / U:33.056 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site