mirror of
https://github.com/torvalds/linux.git
synced 2024-11-23 04:31:50 +00:00
[ALSA] Removed unneeded page-reserve
Modules: Memalloc module Removed unneeded page-reservation. Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
ea50888d83
commit
2ba8c15c73
@ -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);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user