1
0
Fork 0
alistair23-linux/arch/x86/mm
Hugh Dickins a06de63000 x86: fix /proc/meminfo DirectMap
Do we actually want these DirectMap lines in the x86 /proc/meminfo?
I can see they're interesting to CPA developers and TLB optimizers,
but they don't fit its usual "where has all my memory gone?" usage.
If they are to stay, here are some fixes.

1. On x86_32 without PAE, they're not 2M but 4M pages: no need to
   mess with the internal enum, but show the right name to users.

2. Many machines can never show anything but 0 for DirectMap1G,
   so suppress that line unless direct_gbpages are really enabled.

3. The unit in /proc/meminfo is kB not number of pages: HugePages
   messed that up, but they're an example to regret not to follow.

4. Once we use kB, it's easy to see that 1GB has gone missing (which
   explains why CONFIG_CPA_DEBUG=y soon wraps DirectMap2M negative):
   because head_64.S's level2_ident_pgt entries were not counted.
   My fix is not ideal, but works for more and for less than 1G,
   and avoids interfering with early bootup pagetable contortions.

Signed-off-by: Hugh Dickins <hugh@veritas.com>
Cc: Andi Kleen <andi@firstfloor.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2008-08-15 15:27:55 +02:00
..
Makefile mm: Make generic weak get_user_pages_fast and EXPORT_GPL it 2008-08-12 17:52:53 +10:00
discontig_32.c mm: move bootmem descriptors definition to a single place 2008-07-24 10:47:14 -07:00
dump_pagetables.c x86: add PTE_FLAGS_MASK 2008-07-22 10:43:45 +02:00
extable.c x86: unify extable_{32|64}.c 2008-01-30 13:31:41 +01:00
fault.c Merge branch 'auto-ftrace-next' into tracing/for-linus 2008-07-14 16:11:52 +02:00
gup.c Fix 'get_user_pages_fast()' with non-page-aligned start address 2008-07-28 17:54:21 -07:00
highmem_32.c x86: unexport kmap_atomic_to_page 2008-04-30 23:15:34 +02:00
hugetlbpage.c x86: add hugepagesz option on 64-bit 2008-07-24 10:47:19 -07:00
init_32.c Merge branches 'x86/urgent', 'x86/amd-iommu', 'x86/apic', 'x86/cleanups', 'x86/core', 'x86/cpu', 'x86/fixmap', 'x86/gart', 'x86/kprobes', 'x86/memtest', 'x86/modules', 'x86/nmi', 'x86/pat', 'x86/reboot', 'x86/setup', 'x86/step', 'x86/unify-pci', 'x86/uv', 'x86/xen' and 'xen-64bit' into x86/for-linus 2008-07-21 16:37:17 +02:00
init_64.c x86: fix /proc/meminfo DirectMap 2008-08-15 15:27:55 +02:00
ioremap.c access_process_vm device memory infrastructure 2008-07-24 10:47:15 -07:00
k8topology_64.c x86: remove end_pfn in 64bit 2008-07-08 13:10:38 +02:00
kmmio.c - fix mmioftrace + rcu merge interaction 2008-05-25 09:51:43 +02:00
memtest.c x86: seperate memtest from init_64.c 2008-07-18 14:10:27 +02:00
mmap.c x86: unify mmap_{32|64}.c 2008-01-30 13:31:10 +01:00
mmio-mod.c x86 mmiotrace: page level is unsigned 2008-05-24 11:27:47 +02:00
numa_64.c mm: move bootmem descriptors definition to a single place 2008-07-24 10:47:14 -07:00
pageattr-test.c x86: use WARN() in arch/x86/mm/pageattr.c 2008-08-13 19:05:39 +02:00
pageattr.c x86: fix /proc/meminfo DirectMap 2008-08-15 15:27:55 +02:00
pat.c Merge branches 'x86/urgent', 'x86/amd-iommu', 'x86/apic', 'x86/cleanups', 'x86/core', 'x86/cpu', 'x86/fixmap', 'x86/gart', 'x86/kprobes', 'x86/memtest', 'x86/modules', 'x86/nmi', 'x86/pat', 'x86/reboot', 'x86/setup', 'x86/step', 'x86/unify-pci', 'x86/uv', 'x86/xen' and 'xen-64bit' into x86/for-linus 2008-07-21 16:37:17 +02:00
pf_in.c x86 mmiotrace: move files into arch/x86/mm/. 2008-05-24 11:25:37 +02:00
pf_in.h x86 mmiotrace: move files into arch/x86/mm/. 2008-05-24 11:25:37 +02:00
pgtable.c x86: work around gcc 3.4.x bug 2008-08-11 18:44:02 +02:00
pgtable_32.c x86: use generic show_mem() 2008-07-26 12:00:10 -07:00
srat_32.c x86: don't call e820_regiter_active_regions if out of range on node 2008-08-14 11:35:52 +02:00
srat_64.c x86: reserve SLIT 2008-07-11 10:22:33 +02:00
testmmiotrace.c mmiotrace: code style cleanups 2008-05-24 11:27:28 +02:00