Messages in this thread | | | Date | Wed, 10 Jun 2015 18:11:57 +0200 | From | Christoph Hellwig <> | Subject | Re: [PATCH v4 2/9] x86: support kmap_atomic_pfn_t() for persistent memory |
| |
On Wed, Jun 10, 2015 at 08:36:48AM -0700, Dan Williams wrote: > On surprise removal my expectation is that the driver keeps the the > ioremap mapping alive for at least a synchronize_rcu() period. With > that in place the rcu_read_lock() in kmap_atomic_pfn_t() should keep > the mapping alive for the short duration, or otherwise prevent new > mappings. However, I missed converting the driver to order its > iounmap() with respect to the pfn range registration via devres, will > fix.
Right. I guess the best idea is to replace devm_register_kmap_pfn_range with an interface that does the ioremap, in which case the cleanup function can take care of the proper ordering behind the drivers back.
| |