[ALSA] Removed unneeded page-reserve
authorTakashi Iwai <tiwai@suse.de>
Tue, 31 Jan 2006 13:44:28 +0000 (14:44 +0100)
committerJaroslav Kysela <perex@suse.cz>
Wed, 22 Mar 2006 09:28:12 +0000 (10:28 +0100)
Modules: Memalloc module

Removed unneeded page-reservation.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/core/memalloc.c

index 8360418..3fc6f97 100644 (file)
@@ -141,10 +141,6 @@ static void *snd_dma_hack_alloc_coherent(struct device *dev, size_t size,
 
 #endif /* arch */
 
-#if ! defined(__arm__)
-#define NEED_RESERVE_PAGES
-#endif
-
 /*
  *
  *  Generic memory allocators
@@ -163,20 +159,6 @@ static inline void dec_snd_pages(int order)
        snd_allocated_pages -= 1 << order;
 }
 
-static void mark_pages(struct page *page, int order)
-{
-       struct page *last_page = page + (1 << order);
-       while (page < last_page)
-               SetPageReserved(page++);
-}
-
-static void unmark_pages(struct page *page, int order)
-{
-       struct page *last_page = page + (1 << order);
-       while (page < last_page)
-               ClearPageReserved(page++);
-}
-
 /**
  * snd_malloc_pages - allocate pages with the given size
  * @size: the size to allocate in bytes
@@ -195,10 +177,8 @@ void *snd_malloc_pages(size_t size, gfp_t gfp_flags)
        snd_assert(gfp_flags != 0, return NULL);
        gfp_flags |= __GFP_COMP;        /* compound page lets parts be mapped */
        pg = get_order(size);
-       if ((res = (void *) __get_free_pages(gfp_flags, pg)) != NULL) {
-               mark_pages(virt_to_page(res), pg);
+       if ((res = (void *) __get_free_pages(gfp_flags, pg)) != NULL)
                inc_snd_pages(pg);
-       }
        return res;
 }
 
@@ -217,7 +197,6 @@ void snd_free_pages(void *ptr, size_t size)
                return;
        pg = get_order(size);
        dec_snd_pages(pg);
-       unmark_pages(virt_to_page(ptr), pg);
        free_pages((unsigned long) ptr, pg);
 }
 
@@ -242,12 +221,8 @@ static void *snd_malloc_dev_pages(struct device *dev, size_t size, dma_addr_t *d
                | __GFP_NORETRY /* don't trigger OOM-killer */
                | __GFP_NOWARN; /* no stack trace print - this call is non-critical */
        res = dma_alloc_coherent(dev, PAGE_SIZE << pg, dma, gfp_flags);
-       if (res != NULL) {
-#ifdef NEED_RESERVE_PAGES
-               mark_pages(virt_to_page(res), pg); /* should be dma_to_page() */
-#endif
+       if (res != NULL)
                inc_snd_pages(pg);
-       }
 
        return res;
 }
@@ -262,9 +237,6 @@ static void snd_free_dev_pages(struct device *dev, size_t size, void *ptr,
                return;
        pg = get_order(size);
        dec_snd_pages(pg);
-#ifdef NEED_RESERVE_PAGES
-       unmark_pages(virt_to_page(ptr), pg); /* should be dma_to_page() */
-#endif
        dma_free_coherent(dev, PAGE_SIZE << pg, ptr, dma);
 }