lkml.org 
[lkml]   [2004]   [Apr]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: 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/

    \
     
     \ /
      Last update: 2005-03-22 14:02    [W:0.019 / U:126.960 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site