lkml.org 
[lkml]   [2011]   [May]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 6/9] job control: make task_clear_jobctl_pending() clear TRAPPING automatically
    On 05/16, Tejun Heo wrote:
    >
    > Hello,
    >
    > On Mon, May 16, 2011 at 02:25:35PM +0200, Oleg Nesterov wrote:
    > > On 05/13, Tejun Heo wrote:
    > > >
    > > > @@ -264,6 +267,9 @@ void task_clear_jobctl_pending(struct task_struct *task, unsigned int mask)
    > > > mask |= JOBCTL_STOP_CONSUME | JOBCTL_STOP_DEQUEUED;
    > > >
    > > > task->jobctl &= ~mask;
    > > > +
    > > > + if (!(task->jobctl & JOBCTL_PENDING_MASK))
    > > > + task_clear_jobctl_trapping(task);
    > > > }
    > >
    > > So, SIGCONT clears JOBCTL_TRAPPING and wakes up the tracer.
    >
    > If JOBCTL_TRAPPING is set && JOBCTL_STOP_PENDING was the only pending
    > condition.
    >
    > > I can't really understand this without seeing the next changes, but
    > > it seems this makes some things worse, although I am not sure.
    >
    > It's a safety mechanism. We shouldn't have TRAPPING set when no
    > stop/trap is pending and the above establishes that invariant

    Hmm. I thought that SIGCONT should add the new TRAPPING... My head spins.

    > > For example. PTRACE_SEIZE should guarantee the tracee will trap and
    > > report. However, if the tracee is stopped during attach, we can race
    > > with SIGCONT. The previous version had the similar problem afaics, but
    > > it was easy (I think) to fix. Now that SIGCONT clears JOBCTL_TRAPPING
    > > we need more complications.
    >
    > This problem doesn't exist anymore.

    OK. Of course I do not understand your explanation right now, I do not
    see the code, but I trust you ;)


    My only point, I still think that it is better to not apply these
    preparations right now, without the next SEIZE/etc changes.

    Oleg.



    \
     
     \ /
      Last update: 2011-05-16 18:05    [W:0.026 / U:4.276 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site