diff for duplicates of <783871400527879@web2j.yandex.ru> diff --git a/a/1.txt b/N1/1.txt index 8da7db5..cfb0007 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -2,20 +2,20 @@ > On Sat, 17 May 2014 01:30:03 +0400 > Kirill Tkhai <tkhai@yandex.ru> wrote: > ->> The race is in unlocked task_rq() access. In pair with parallel ->> call of sched_setaffinity() it may be a reason of corruption ->> of internal rq's data. +>> О©╫The race is in unlocked task_rq() access. In pair with parallel +>> О©╫call of sched_setaffinity() it may be a reason of corruption +>> О©╫of internal rq's data. > > Sure, the thing can happen! [snipped] ->> @@ -513,9 +513,16 @@ static enum hrtimer_restart dl_task_timer(struct hrtimer *timer) ->> struct sched_dl_entity, ->> dl_timer); ->> struct task_struct *p = dl_task_of(dl_se); ->> - struct rq *rq = task_rq(p); ->> + struct rq *rq; +>> О©╫@@ -513,9 +513,16 @@ static enum hrtimer_restart dl_task_timer(struct hrtimer *timer) +>> О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫struct sched_dl_entity, +>> О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫dl_timer); +>> О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫struct task_struct *p = dl_task_of(dl_se); +>> О©╫- struct rq *rq = task_rq(p); +>> О©╫+ struct rq *rq; > > We could maybe add a comment here, in line with what we have below, to > document why we need this. diff --git a/a/content_digest b/N1/content_digest index 50f27e7..cccef52 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -14,20 +14,20 @@ "> On Sat, 17 May 2014 01:30:03 +0400\n" "> Kirill Tkhai <tkhai@yandex.ru> wrote:\n" ">\n" - ">> \302\240The race is in unlocked task_rq() access. In pair with parallel\n" - ">> \302\240call of sched_setaffinity() it may be a reason of corruption\n" - ">> \302\240of internal rq's data.\n" + ">> \320\236\302\251\342\225\253The race is in unlocked task_rq() access. In pair with parallel\n" + ">> \320\236\302\251\342\225\253call of sched_setaffinity() it may be a reason of corruption\n" + ">> \320\236\302\251\342\225\253of internal rq's data.\n" ">\n" "> Sure, the thing can happen!\n" "\n" "[snipped]\n" "\n" - ">> \302\240@@ -513,9 +513,16 @@ static enum hrtimer_restart dl_task_timer(struct hrtimer *timer)\n" - ">> \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240struct sched_dl_entity,\n" - ">> \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240dl_timer);\n" - ">> \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240struct task_struct *p = dl_task_of(dl_se);\n" - ">> \302\240- struct rq *rq = task_rq(p);\n" - ">> \302\240+ struct rq *rq;\n" + ">> \320\236\302\251\342\225\253@@ -513,9 +513,16 @@ static enum hrtimer_restart dl_task_timer(struct hrtimer *timer)\n" + ">> \320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253struct sched_dl_entity,\n" + ">> \320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253dl_timer);\n" + ">> \320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253\320\236\302\251\342\225\253struct task_struct *p = dl_task_of(dl_se);\n" + ">> \320\236\302\251\342\225\253- struct rq *rq = task_rq(p);\n" + ">> \320\236\302\251\342\225\253+ struct rq *rq;\n" ">\n" "> We could maybe add a comment here, in line with what we have below, to\n" "> document why we need this.\n" @@ -75,4 +75,4 @@ " \t * We need to take care of a possible races here. In fact, the\n" " \t * task might have changed its scheduling policy to something" -337762287d900a1a393a1032fe30cc8134486fefafdb9bf4d7010d2f000ff9bf +84d01c9e24c69b037b9df5a8ca00d69c9a01169336d60a5cbc03a067d53a1a44
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.