Re: [PATCH] powerpc/mm: Invalidate partition table cache on host proc tbl base update
From: Suraj Jitindar Singh <sjitindarsingh@gmail.com>
Date: 2017-08-04 01:02:22
On Thu, 2017-08-03 at 17:35 +1000, Benjamin Herrenschmidt wrote:
On Thu, 2017-08-03 at 16:30 +1000, Michael Ellerman wrote:quoted
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 fireI 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.
I guess there's the possibility of: [x] randomly crash This is required to run a powernv kernel as a guest because we need to know when it's updated its process table location.