lkml.org 
[lkml]   [2014]   [Jul]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH RFC tip/core/rcu 1/9] rcu: Add call_rcu_tasks()
    On 07/29/2014 06:56 AM, Paul E. McKenney wrote:

    > + /*
    > + * Each pass through the following loop scans the list
    > + * of holdout tasks, removing any that are no longer
    > + * holdouts. When the list is empty, we are done.
    > + */
    > + while (!list_empty(&rcu_tasks_holdouts)) {
    > + schedule_timeout_interruptible(HZ / 10);
    > + flush_signals(current);
    > + rcu_read_lock();
    > + list_for_each_entry_rcu(t, &rcu_tasks_holdouts,
    > + rcu_tasks_holdout_list) {
    > + if (smp_load_acquire(&t->rcu_tasks_holdout))
    > + continue;
    > + list_del_init(&t->rcu_tasks_holdout_list);
    > + /* @@@ need to check for usermode on CPU. */
    > + }
    > + rcu_read_unlock();

    Maybe I missed something. The task @t may already exited and we access to
    the stale memory here if without patch 8/9.


    \
     
     \ /
      Last update: 2014-07-30 09:21    [W:4.263 / U:0.168 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site