Messages in this thread | | | Date | Wed, 14 Dec 2022 12:44:46 +0100 | Subject | [PATCH v5 0/1] Subject: x86/resctrl: Fix task CLOSID update race | From | Peter Newman <> |
| |
Hi Reinette, Fenghua,
Now that we know there is a full barrier in context switch and that smp_mb() on every task in a group update isn't nearly as expensive as task_call_func(), I can present you a much smaller fix.
The diffs are small enough to go down to a single patch. The changelogs are not much simpler, but hopefully this isn't as big of a concern.
This patch is different enough that I thought it necessary to remove James's Reviewed-By.
Updates in v5: - Just put an smp_mb() between CLOSID/RMID stores and task_curr() calls - Add a diagram detailing the race to the changelog Updates in v4: - Reorder the patches so that justification for sending more IPIs can reference the patch fixing __rdtgroup_move_task(). - Correct tense of wording used in changelog and comments Updates in v3: - Split the handling of multi-task and single-task operations into separate patches, now that they're handled differently. - Clarify justification in the commit message, including moving some of it out of inline code comment. Updates in v2: - Following Reinette's suggestion: use task_call_func() for single task, IPI broadcast for group movements. - Rebased to v6.1-rc4
v1: https://lore.kernel.org/lkml/20221103141641.3055981-1-peternewman@google.com/ v2: https://lore.kernel.org/lkml/20221110135346.2209839-1-peternewman@google.com/ v3: https://lore.kernel.org/lkml/20221115141953.816851-1-peternewman@google.com/ v4: https://lore.kernel.org/lkml/20221129111055.953833-1-peternewman@google.com/
Thank you for your careful reviews and feedback so far.
-Peter
Peter Newman (1): x86/resctrl: Fix task CLOSID/RMID update race
arch/x86/kernel/cpu/resctrl/rdtgroup.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-)
base-commit: 830b3c68c1fb1e9176028d02ef86f3cf76aa2476 -- 2.39.0.rc1.256.g54fd8350bd-goog
| |