Re: [RFC] atomic highmem kmap page pinning

From: Russell King - ARM Linux
Date: Thu Mar 05 2009 - 17:59:46 EST


On Fri, Mar 06, 2009 at 07:23:44AM +0900, Minchan Kim wrote:
> > +#ifdef ARCH_NEEDS_KMAP_HIGH_GET
> > +/**
> > + * kmap_high_get - pin a highmem page into memory
> > + * @page: &struct page to pin
> > + *
> > + * Returns the page's current virtual memory address, or NULL if no mapping
> > + * exists.  When and only when a non null address is returned then a
> > + * matching call to kunmap_high() is necessary.
> > + *
> > + * This can be called from any context.
> > + */
> > +void *kmap_high_get(struct page *page)
> > +{
> > +       unsigned long vaddr, flags;
> > +
> > +       spin_lock_kmap_any(flags);
> > +       vaddr = (unsigned long)page_address(page);
> > +       if (vaddr) {
> > +               BUG_ON(pkmap_count[PKMAP_NR(vaddr)] < 1);
> > +               pkmap_count[PKMAP_NR(vaddr)]++;
> > +       }
> > +       spin_unlock_kmap_any(flags);
> > +       return (void*) vaddr;
> > +}
> > +#endif
>
> Let's add empty function for architecture of no ARCH_NEEDS_KMAP_HIGH_GET,

The reasoning being?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/