From: Valentin Schneider <valentin.schneider@arm.com>
To: Reinette Chatre <reinette.chatre@intel.com>
Cc: tglx@linutronix.de, fenghua.yu@intel.com, bp@alien8.de,
tony.luck@intel.com, kuo-lang.tseng@intel.com,
shakeelb@google.com, mingo@redhat.com, babu.moger@amd.com,
james.morse@arm.com, hpa@zytor.com, x86@kernel.org,
linux-kernel@vger.kernel.org, stable@vger.kernel.org
Subject: Re: [PATCH 2/3] x86/resctrl: Update PQR_ASSOC MSR synchronously when moving task to resource group
Date: Thu, 17 Dec 2020 10:39:43 +0000 [thread overview]
Message-ID: <jhjwnxgsols.mognet@arm.com> (raw)
In-Reply-To: <b75d780d-d067-12bf-b0e6-706dda200511@intel.com>
On 16/12/20 18:26, Reinette Chatre wrote:
> Hi Valentin,
>> So that's part paranoia and part nonsense from my end - the contents of
>> smp_call() shouldn't matter here.
>>
>> If we distill the code to:
>>
>> tsk->closid = x;
>>
>> if (task_curr(tsk))
>> smp_call(...);
>>
>> It is somewhat far fetched, but AFAICT this can be compiled as:
>>
>> if (task_curr(tsk))
>> tsk->closid = x;
>> smp_call(...);
>> else
>> tsk->closid = x;
>>
>> IOW, there could be a sequence where the closid write is ordered *after*
>> the task_curr() read.
>
> Could you please elaborate why it would be an issue is the closid write
> is ordered after the task_curr() read? task_curr() does not depend on
> the closid.
>
IMO the 'task_curr()' check only makes sense if it happens *after* the
write, the logic being: 'closid/rmid has been written to, does the task now
need interrupting?'
In the above 'else' clause, task_curr() would need to be re-evaluated after
the write: the task wasn't current *before* the write, but nothing
guarantees this still holds *after* the write.
>> With
>>
>> tsk->closid = x;
>>
>> barrier();
>>
>> if (task_curr(tsk))
>> smp_call(...);
>>
>> that explicitely cannot happen.
>>
>
>
> Reinette
next prev parent reply other threads:[~2020-12-17 10:40 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-12-03 23:25 [PATCH 0/3] x86/resctrl: Fix a few issues in moving a task to a resource group Reinette Chatre
2020-12-03 23:25 ` [PATCH 1/3] x86/resctrl: Move setting task's active CPU in a mask into helpers Reinette Chatre
2020-12-07 18:29 ` Borislav Petkov
2020-12-07 21:24 ` Reinette Chatre
2020-12-08 9:49 ` Borislav Petkov
2020-12-08 16:35 ` Reinette Chatre
2020-12-09 16:47 ` James Morse
2020-12-10 0:21 ` Reinette Chatre
2020-12-03 23:25 ` [PATCH 2/3] x86/resctrl: Update PQR_ASSOC MSR synchronously when moving task to resource group Reinette Chatre
2020-12-09 16:51 ` James Morse
2020-12-10 0:22 ` Reinette Chatre
2020-12-11 20:46 ` Valentin Schneider
2020-12-14 18:41 ` Reinette Chatre
2020-12-16 17:41 ` Valentin Schneider
2020-12-16 18:26 ` Reinette Chatre
2020-12-17 10:39 ` Valentin Schneider [this message]
2020-12-03 23:25 ` [PATCH 3/3] x86/resctrl: Don't move a task to the same " Reinette Chatre
2020-12-11 20:46 ` [PATCH 0/3] x86/resctrl: Fix a few issues in moving a task to a " Valentin Schneider
2020-12-14 18:38 ` Reinette Chatre
2020-12-16 17:41 ` Valentin Schneider
2020-12-16 18:26 ` Reinette Chatre
2020-12-17 12:19 ` [PATCH 4/3] x86/intel_rdt: Apply READ_ONCE/WRITE_ONCE to task_struct .rmid & .closid Valentin Schneider
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=jhjwnxgsols.mognet@arm.com \
--to=valentin.schneider@arm.com \
--cc=babu.moger@amd.com \
--cc=bp@alien8.de \
--cc=fenghua.yu@intel.com \
--cc=hpa@zytor.com \
--cc=james.morse@arm.com \
--cc=kuo-lang.tseng@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=reinette.chatre@intel.com \
--cc=shakeelb@google.com \
--cc=stable@vger.kernel.org \
--cc=tglx@linutronix.de \
--cc=tony.luck@intel.com \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.