linux/arch/sh/mm
Matt Fleming a2767cfb1d sh: Don't allocate smaller sized mappings on every iteration
Currently, we've got the less than ideal situation where if we need to
allocate a 256MB mapping we'll allocate four entries like so,

	 entry 1: 128MB
	 entry 2:  64MB
	 entry 3:  16MB
	 entry 4:  16MB

This is because as we execute the loop in pmb_remap() we will
progressively try mapping the remaining address space with smaller and
smaller sizes. This isn't good because the size we use on one iteration
may be the perfect size to use on the next iteration, for instance when
the initial size is divisible by one of the PMB mapping sizes.

With this patch, we now only need two entries in the PMB to map 256MB of
address space,

	  entry 1: 128MB
	  entry 2: 128MB

Signed-off-by: Matt Fleming <matt@console-pimps.org>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-10-09 11:26:35 +09:00
..
Kconfig sh: Add initial support for SH7757 CPU subtype 2009-08-21 17:25:47 +09:00
Makefile sh: Build fix for disabled caches. 2009-08-19 17:57:01 +09:00
asids-debugfs.c sh: Update debugfs ASID dumping for 16-bit ASID support. 2009-03-17 17:59:31 +09:00
cache-debugfs.c Fix debugfs_create_file's error checking method for arch/sh/mm/ 2008-10-20 10:40:21 +09:00
cache-sh2.c sh: Convert SH-2 to new cacheflush interface. 2009-08-15 12:35:15 +09:00
cache-sh2a.c Revert "sh: Kill off now redundant local irq disabling." 2009-09-01 21:12:55 +09:00
cache-sh3.c sh: Convert SH-3 to new cacheflush interface. 2009-08-15 12:42:55 +09:00
cache-sh4.c sh: Sprinkle __uses_jump_to_uncached 2009-10-09 11:23:57 +09:00
cache-sh5.c Revert "sh: Kill off now redundant local irq disabling." 2009-09-01 21:12:55 +09:00
cache-sh7705.c sh: Sprinkle __uses_jump_to_uncached 2009-10-09 11:23:57 +09:00
cache.c sh: Use more aggressive dcache purging in kmap teardown. 2009-09-08 16:21:00 +09:00
consistent.c sh: Pre-allocate a reasonable number of DMA debug entries. 2009-04-14 15:22:15 +09:00
extable_32.c sh: Split out extable.c _32 and _64 variants. 2008-01-28 13:18:44 +09:00
extable_64.c sh: comment tidying for sh64->sh migration. 2008-01-28 13:18:58 +09:00
fault_32.c perf: Do the big rename: Performance Counters -> Performance Events 2009-09-21 14:28:04 +02:00
fault_64.c sh: Tidy up NEFF-based sign extension for SH-5. 2009-08-04 17:14:39 +09:00
flush-sh4.c sh: Fix up the SH-5 build with caches enabled. 2009-08-16 01:50:17 +09:00
hugetlbpage.c hugetlb: introduce pud_huge 2008-07-24 10:47:18 -07:00
init.c kcore: use registerd physmem information 2009-09-23 07:39:41 -07:00
ioremap_32.c sh: Try PMB mapping based on physical address, not mapping size 2009-10-09 11:25:10 +09:00
ioremap_64.c sh: use printk_once 2009-08-13 11:48:08 +09:00
kmap.c sh: Use more aggressive dcache purging in kmap teardown. 2009-09-08 16:21:00 +09:00
mmap.c sh: rework nommu for generic cache.c use. 2009-08-15 09:49:32 +09:00
nommu.c sh: Fix up and optimize the kmap_coherent() interface. 2009-09-03 17:21:10 +09:00
numa.c sh: Use bootmem ontop of lmb for NUMA 2009-07-05 00:32:11 +09:00
pmb-fixed.c sh: Support fixed 32-bit PMB mappings from bootloader. 2009-03-10 15:49:54 +09:00
pmb.c sh: Don't allocate smaller sized mappings on every iteration 2009-10-09 11:26:35 +09:00
tlb-pteaex.c sh: Handle a NULL vma in __update_tlb() for the fast-path. 2009-07-29 22:06:58 +09:00
tlb-sh3.c sh: Handle a NULL vma in __update_tlb() for the fast-path. 2009-07-29 22:06:58 +09:00
tlb-sh4.c Merge branch 'master' into sh/smp 2009-09-01 13:54:14 +09:00
tlb-sh5.c sh: Tidy up NEFF-based sign extension for SH-5. 2009-08-04 17:14:39 +09:00
tlbflush_32.c sh: Rename the _32 and _64 TLB flush variants. 2008-01-28 13:18:54 +09:00
tlbflush_64.c perf: Do the big rename: Performance Counters -> Performance Events 2009-09-21 14:28:04 +02:00