Messages in this thread | | | Date | Thu, 1 Apr 2004 17:49:15 +0100 (BST) | From | Hugh Dickins <> | Subject | Re: To kunmap_atomic or not to kunmap_atomic ? |
| |
On Thu, 1 Apr 2004, Zoltan Menyhart wrote: > I can see a couple of functions, like > > static inline struct mm_struct * ptep_to_mm(pte_t * ptep) > { > struct page * page = kmap_atomic_to_page(ptep); > return (struct mm_struct *) page->mapping; > } > > in "rmap.?" without invoking "kunmap_atomic()". > Is it intentional? > What if for an architecture "kunmap_atomic()" is not a no-op ?
Amusing misunderstanding. Take a look at kmap_atomic_to_page in arch/i386/mm/highmem.c: it doesn't _do_ a kmap_atomic, it translates the virtual address already supplied by kmap_atomic to the address of the struct page of the physical page backing that virtual address. So, in the case of try_to_unmap_one, it operates on the virtual address supplied by rmap_ptep_map (which does do a kmap_atomic), and at the end there's an rmap_ptep_unmap (which does the rmap_ptep_unmap).
Hugh
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |