Thread (11 messages) flat view 11 messages, 5 authors, 2017-08-14

Re: [PATCH] powerpc/mm: Invalidate partition table cache on host proc tbl base update

From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2017-08-03 07:36:41

On Thu, 2017-08-03 at 16:30 +1000, Michael Ellerman wrote:
Suraj Jitindar Singh [off-list ref] writes:
quoted
The host process table base is stored in the partition table by calling
the function native_register_process_table(). Currently this just sets
the entry in memory and is missing a proceeding cache invalidation
instruction. Any update to the partition table should be followed by a
cache invalidation instruction specifying invalidation of the caching of
any partition table entries (RIC = 2, PRS = 0).

We already have a function to update the partition table with the
required cache invalidation instructions - mmu_partition_table_set_entry().
Update the native_register_process_table() function to call
mmu_partition_table_set_entry(), this ensures all appropriate
invalidation will be performed.
Without this patch the kernel will:
 [ ] work normally
 [ ] randomly crash
 [ ] catch fire
I think we get lucky because OPAL added a "flush the whole world" to
opal_reinit_cpus() but this patch seems to improve general code
"correctness".

Cheers,
Ben.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help