mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
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)


  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