[PATCH] powerpc/mm: Invalidate partition table cache on host proc tbl base update
Benjamin Herrenschmidt
benh at kernel.crashing.org
Thu Aug 3 17:35:20 AEST 2017
On Thu, 2017-08-03 at 16:30 +1000, Michael Ellerman wrote:
> Suraj Jitindar Singh <sjitindarsingh at gmail.com> writes:
>
> > 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.
More information about the Linuxppc-dev
mailing list