On Thu, 19 Aug 2010 22:13:19 +0200
Peter Zijlstra <a.p.zijlstra@chello.nl> wrote:
quoted text > Keep the current interface but ignore the KM_type and use a stack
> based approach.
>
> Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
> ---
quoted text > +DECLARE_PER_CPU(int, __kmap_atomic_idx);
> +
> +static inline int kmap_atomic_idx_push(void)
> +{
> + int idx = __get_cpu_var(__kmap_atomic_idx)++;
> +#ifdef CONFIG_DEBUG_HIGHMEM
> + BUG_ON(idx > KM_TYPE_NR);
> +#endif
> + return idx;
> +}
> +
> +static inline int kmap_atomic_idx_pop(void)
> +{
> + int idx = --__get_cpu_var(__kmap_atomic_idx);
> +#ifdef CONFIG_DEBUG_HIGHMEM
> + BUG_ON(idx < 0);
> +#endif
> + return idx;
> +}
> +
> #else /* CONFIG_HIGHMEM */
>
I may don't understand anything... Is irq already disabled ?
And Is it documented that kmap_atomic shouln't be used under NMI or something
special interrupts ?
Thanks,
-Kame
--
unsubscribe notice 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/
Messages in current thread:
Re: [RFC][PATCH 2/6] mm: stack based kmap_atomic , KAMEZAWA Hiroyuki , (Tue Aug 24, 12:24 am)