From: Adrian Bunk <bunk@stusta.de>
To: Andrew Morton <akpm@osdl.org>, airlied@linux.ie
Cc: linux-kernel@vger.kernel.org, dri-devel@lists.sourceforge.net
Subject: [RFC: -mm patch] remove drm_{alloc,free}_pages
Date: Fri, 24 Mar 2006 00:55:26 +0100 [thread overview]
Message-ID: <20060323235526.GH22727@stusta.de> (raw)
In-Reply-To: <20060323014046.2ca1d9df.akpm@osdl.org>
On Thu, Mar 23, 2006 at 01:40:46AM -0800, Andrew Morton wrote:
>...
> Changes since 2.6.16-rc6-mm2:
>...
> git-drm.patch
>...
> git trees.
>...
drm_alloc_pages and drm_free_pages can now be removed.
Signed-off-by: Adrian Bunk <bunk@stusta.de>
---
drivers/char/drm/drmP.h | 2
drivers/char/drm/drm_memory.c | 59 -----------------------
drivers/char/drm/drm_memory_debug.h | 70 ----------------------------
3 files changed, 131 deletions(-)
--- linux-2.6.16-mm1-full/drivers/char/drm/drmP.h.old 2006-03-23 23:05:06.000000000 +0100
+++ linux-2.6.16-mm1-full/drivers/char/drm/drmP.h 2006-03-23 23:05:37.000000000 +0100
@@ -813,8 +813,6 @@
extern int drm_mem_info(char *buf, char **start, off_t offset,
int request, int *eof, void *data);
extern void *drm_realloc(void *oldpt, size_t oldsize, size_t size, int area);
-extern unsigned long drm_alloc_pages(int order, int area);
-extern void drm_free_pages(unsigned long address, int order, int area);
extern void *drm_ioremap(unsigned long offset, unsigned long size,
drm_device_t * dev);
extern void *drm_ioremap_nocache(unsigned long offset, unsigned long size,
--- linux-2.6.16-mm1-full/drivers/char/drm/drm_memory_debug.h.old 2006-03-23 23:05:19.000000000 +0100
+++ linux-2.6.16-mm1-full/drivers/char/drm/drm_memory_debug.h 2006-03-23 23:05:30.000000000 +0100
@@ -206,76 +206,6 @@
}
}
-unsigned long drm_alloc_pages (int order, int area) {
- unsigned long address;
- unsigned long bytes = PAGE_SIZE << order;
- unsigned long addr;
- unsigned int sz;
-
- spin_lock(&drm_mem_lock);
- if ((drm_ram_used >> PAGE_SHIFT)
- > (DRM_RAM_PERCENT * drm_ram_available) / 100) {
- spin_unlock(&drm_mem_lock);
- return 0;
- }
- spin_unlock(&drm_mem_lock);
-
- address = __get_free_pages(GFP_KERNEL|__GFP_COMP, order);
- if (!address) {
- spin_lock(&drm_mem_lock);
- ++drm_mem_stats[area].fail_count;
- spin_unlock(&drm_mem_lock);
- return 0;
- }
- spin_lock(&drm_mem_lock);
- ++drm_mem_stats[area].succeed_count;
- drm_mem_stats[area].bytes_allocated += bytes;
- drm_ram_used += bytes;
- spin_unlock(&drm_mem_lock);
-
- /* Zero outside the lock */
- memset((void *)address, 0, bytes);
-
- /* Reserve */
- for (addr = address, sz = bytes;
- sz > 0; addr += PAGE_SIZE, sz -= PAGE_SIZE) {
- SetPageReserved(virt_to_page(addr));
- }
-
- return address;
-}
-
-void drm_free_pages (unsigned long address, int order, int area) {
- unsigned long bytes = PAGE_SIZE << order;
- int alloc_count;
- int free_count;
- unsigned long addr;
- unsigned int sz;
-
- if (!address) {
- DRM_MEM_ERROR(area, "Attempt to free address 0\n");
- } else {
- /* Unreserve */
- for (addr = address, sz = bytes;
- sz > 0; addr += PAGE_SIZE, sz -= PAGE_SIZE) {
- ClearPageReserved(virt_to_page(addr));
- }
- free_pages(address, order);
- }
-
- spin_lock(&drm_mem_lock);
- free_count = ++drm_mem_stats[area].free_count;
- alloc_count = drm_mem_stats[area].succeed_count;
- drm_mem_stats[area].bytes_freed += bytes;
- drm_ram_used -= bytes;
- spin_unlock(&drm_mem_lock);
- if (free_count > alloc_count) {
- DRM_MEM_ERROR(area,
- "Excess frees: %d frees, %d allocs\n",
- free_count, alloc_count);
- }
-}
-
void *drm_ioremap (unsigned long offset, unsigned long size,
drm_device_t * dev) {
void *pt;
--- linux-2.6.16-mm1-full/drivers/char/drm/drm_memory.c.old 2006-03-23 23:05:54.000000000 +0100
+++ linux-2.6.16-mm1-full/drivers/char/drm/drm_memory.c 2006-03-23 23:06:11.000000000 +0100
@@ -79,65 +79,6 @@
return pt;
}
-/**
- * Allocate pages.
- *
- * \param order size order.
- * \param area memory area. (Not used.)
- * \return page address on success, or zero on failure.
- *
- * Allocate and reserve free pages.
- */
-unsigned long drm_alloc_pages(int order, int area)
-{
- unsigned long address;
- unsigned long bytes = PAGE_SIZE << order;
- unsigned long addr;
- unsigned int sz;
-
- address = __get_free_pages(GFP_KERNEL|__GFP_COMP, order);
- if (!address)
- return 0;
-
- /* Zero */
- memset((void *)address, 0, bytes);
-
- /* Reserve */
- for (addr = address, sz = bytes;
- sz > 0; addr += PAGE_SIZE, sz -= PAGE_SIZE) {
- SetPageReserved(virt_to_page(addr));
- }
-
- return address;
-}
-
-/**
- * Free pages.
- *
- * \param address address of the pages to free.
- * \param order size order.
- * \param area memory area. (Not used.)
- *
- * Unreserve and free pages allocated by alloc_pages().
- */
-void drm_free_pages(unsigned long address, int order, int area)
-{
- unsigned long bytes = PAGE_SIZE << order;
- unsigned long addr;
- unsigned int sz;
-
- if (!address)
- return;
-
- /* Unreserve */
- for (addr = address, sz = bytes;
- sz > 0; addr += PAGE_SIZE, sz -= PAGE_SIZE) {
- ClearPageReserved(virt_to_page(addr));
- }
-
- free_pages(address, order);
-}
-
#if __OS_HAS_AGP
/** Wrapper around agp_allocate_memory() */
DRM_AGP_MEM *drm_alloc_agp(drm_device_t * dev, int pages, u32 type)
next prev parent reply other threads:[~2006-03-23 23:55 UTC|newest]
Thread overview: 68+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-03-23 9:40 2.6.16-mm1 Andrew Morton
[not found] ` <6bffcb0e0603230631r5e6cc3d3p@mail.gmail.com>
2006-03-23 14:49 ` 2.6.16-mm1 Russell King
2006-03-23 16:11 ` 2.6.16-mm1 Michal Piotrowski
2006-03-24 11:28 ` 2.6.16-mm1 Roman Zippel
2006-03-24 19:59 ` 2.6.16-mm1 Russell King
2006-03-28 9:18 ` 2.6.16-mm1 Roman Zippel
2006-03-23 17:58 ` 2.6.16-mm1 Dave Jones
2006-03-23 21:37 ` 2.6.16-mm1 Andrew Morton
2006-03-24 12:09 ` [PATCH] use select for GART_IOMMU to enable AGP Roman Zippel
2006-03-24 12:13 ` Andi Kleen
2006-03-24 12:45 ` Roman Zippel
2006-03-24 12:51 ` Andi Kleen
2006-03-24 13:49 ` Roman Zippel
2006-03-23 21:07 ` 2.6.16-mm1 J.A. Magallon
2006-03-23 21:11 ` [PATCH] Make __get_cpu_var use raw_smp_processor_id() J.A. Magallon
2006-03-23 22:35 ` David S. Miller
2006-03-23 21:12 ` [PATCH] Use const* parameters in mm.h J.A. Magallon
2006-03-24 21:35 ` Andrew Morton
2006-03-23 21:13 ` [PATCH] Lower e100 latency J.A. Magallon
2006-03-23 22:33 ` Jeff Garzik
2006-03-27 20:30 ` J.A. Magallon
2006-03-27 20:57 ` Jesse Brandeburg
2006-03-23 21:15 ` [PATCH] Dont build altivec raid on x86 J.A. Magallon
2006-03-23 21:22 ` Brian Gerst
2006-03-27 20:28 ` J.A. Magallon
2006-03-23 22:51 ` 2.6.16-mm1 Rafael J. Wysocki
2006-03-23 23:42 ` 2.6.16-mm1: CONFIG_HOTPLUG_CPU compile error Adrian Bunk
2006-03-23 23:53 ` Ashok Raj
2006-03-23 23:55 ` Adrian Bunk [this message]
2006-03-23 23:57 ` [-mm patch] drivers/video/intelfb/intelfbhw.c: make struct plls static Adrian Bunk
2006-03-24 0:00 ` [-mm patch] make drivers/char/ipmi/ipmi_msghandler.c:ipmi_find_bmc_guid() static Adrian Bunk
2006-03-24 0:02 ` [-mm patch] drivers/char/ipmi/ipmi_si_intf.c: make a struct static Adrian Bunk
[not found] ` <200603232317.50245.Rafal.Wysocki@fuw.edu.pl>
2006-03-24 0:04 ` 2.6.16-mm1 Andrew Morton
2006-03-24 0:17 ` 2.6.16-mm1 john stultz
2006-03-24 0:38 ` 2.6.16-mm1 Rafael J. Wysocki
2006-03-24 0:49 ` 2.6.16-mm1 john stultz
2006-03-24 1:04 ` 2.6.16-mm1 Rafael J. Wysocki
2006-03-24 1:12 ` 2.6.16-mm1 john stultz
2006-03-24 1:23 ` 2.6.16-mm1 Rafael J. Wysocki
2006-03-24 1:28 ` 2.6.16-mm1 Andrew Morton
2006-03-24 3:47 ` 2.6.16-mm1 Andi Kleen
2006-03-24 2:17 ` 2.6.16-mm1 Brandon Low
2006-03-24 2:24 ` 2.6.16-mm1 Andrew Morton
2006-03-24 2:45 ` 2.6.16-mm1 Brandon Low
2006-03-24 2:58 ` 2.6.16-mm1 Andrew Morton
2006-03-24 3:21 ` 2.6.16-mm1 Brandon Low
2006-03-24 11:39 ` 2.6.16-mm1 Andrew Morton
2006-03-24 12:58 ` 2.6.16-mm1 Brandon Low
2006-03-24 18:33 ` 2.6.16-mm1 Andrew Morton
2006-03-24 18:37 ` 2.6.16-mm1 Jens Axboe
2006-03-24 19:15 ` 2.6.16-mm1 Brandon Low
2006-03-27 10:58 ` 2.6.16-mm1 Jens Axboe
2006-03-27 16:24 ` 2.6.16-mm1 OGAWA Hirofumi
2006-03-27 17:15 ` 2.6.16-mm1 Jens Axboe
2006-03-24 11:56 ` 2.6.16-mm1 grub oddness Mike Galbraith
2006-03-24 18:25 ` Andrew Morton
2006-03-25 4:55 ` Mike Galbraith
2006-03-25 4:53 ` Andrew Morton
2006-03-25 5:14 ` Mike Galbraith
2006-03-25 12:44 ` Mike Galbraith
2006-03-26 9:10 ` Mike Galbraith
2006-03-26 16:01 ` Mike Galbraith
2006-03-26 16:47 ` Mike Galbraith
2006-03-26 12:25 ` [-mm patch] fix nfs PROC_FS=n compile error Adrian Bunk
2006-03-26 12:25 ` [-mm patch] BLK_DEV_IO_TRACE Kconfig fixes Adrian Bunk
2006-03-26 12:27 ` Jens Axboe
2006-03-26 12:33 ` Adrian Bunk
2006-03-26 12:37 ` Jens Axboe
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20060323235526.GH22727@stusta.de \
--to=bunk@stusta.de \
--cc=airlied@linux.ie \
--cc=akpm@osdl.org \
--cc=dri-devel@lists.sourceforge.net \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome