lkml.org 
[lkml]   [2012]   [Jun]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [patch] BFS 421: remove global runqueue lock in running tick
From
Still, you haven't produced any usable patch. LOL

On Fri, Jun 8, 2012 at 9:37 PM, Hillf Danton <dhillf@gmail.com> wrote:
> We simply deschedule current, with no bother grabbing global lock, since IPI,
> if triggered by preempt, could not change our result, like no schedule when
> preempt enabled.
>
>        preempt_enable_no_resched();
>        if (unlikely(need_resched()))
>                goto need_resched;
>
>
> --- a/kernel/sched/bfs.c        Wed Jun  6 21:02:50 2012
> +++ b/kernel/sched/bfs.c        Fri Jun  8 21:17:24 2012
> @@ -2784,11 +2784,13 @@ static void task_running_tick(struct rq
>        } else if (rq->rq_time_slice >= RESCHED_US)
>                        return;
>
> -       /* p->time_slice < RESCHED_US. We only modify task_struct under grq lock */
> +       /*
> +        * With irq disabled, current is descheduled without global lock
> +        * held and IPI cared.
> +        */
>        p = rq->curr;
> -       grq_lock();
> -       set_tsk_need_resched(p);
> -       grq_unlock();
> +       if (!test_tsk_need_resched(p))
> +               set_tsk_need_resched(p);
>  }
>
>
> --
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2012-06-08 16:21    [W:1.660 / U:1.036 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site