diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-05-25 18:59:38 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-05-25 18:59:38 -0400 |
commit | fa2af6e4fe0c4d2f8875d42625b25675e8584010 (patch) | |
tree | ef9a92949858ab763aa1bfda7cb11a5f7b84d123 /arch/tile/Kconfig | |
parent | 109b9b0408e5f1dd327a44f446841a9fbe0bcd83 (diff) | |
parent | 1fcb78e9da714d96f65edd37b29dae3b1f7df508 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile
Pull tile updates from Chris Metcalf:
"These changes cover a range of new arch/tile features and
optimizations. They've been through LKML review and on linux-next for
a month or so. There's also one bug-fix that just missed 3.4, which
I've marked for stable."
Fixed up trivial conflict in arch/tile/Kconfig (new added tile Kconfig
entries clashing with the generic timer/clockevents changes).
* git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:
tile: default to tilegx_defconfig for ARCH=tile
tile: fix bug where fls(0) was not returning 0
arch/tile: mark TILEGX as not EXPERIMENTAL
tile/mm/fault.c: Port OOM changes to handle_page_fault
arch/tile: add descriptive text if the kernel reports a bad trap
arch/tile: allow querying cpu module information from the hypervisor
arch/tile: fix hardwall for tilegx and generalize for idn and ipi
arch/tile: support multiple huge page sizes dynamically
mm: add new arch_make_huge_pte() method for tile support
arch/tile: support kexec() for tilegx
arch/tile: support <asm/cachectl.h> header for cacheflush() syscall
arch/tile: Allow tilegx to build with either 16K or 64K page size
arch/tile: optimize get_user/put_user and friends
arch/tile: support building big-endian kernel
arch/tile: allow building Linux with transparent huge pages enabled
arch/tile: use interrupt critical sections less
Diffstat (limited to 'arch/tile/Kconfig')
-rw-r--r-- | arch/tile/Kconfig | 43 |
1 files changed, 37 insertions, 6 deletions
diff --git a/arch/tile/Kconfig b/arch/tile/Kconfig index 6ad6219fc47e..fe128816c448 100644 --- a/arch/tile/Kconfig +++ b/arch/tile/Kconfig | |||
@@ -48,6 +48,14 @@ config NEED_PER_CPU_PAGE_FIRST_CHUNK | |||
48 | config SYS_SUPPORTS_HUGETLBFS | 48 | config SYS_SUPPORTS_HUGETLBFS |
49 | def_bool y | 49 | def_bool y |
50 | 50 | ||
51 | # Support for additional huge page sizes besides HPAGE_SIZE. | ||
52 | # The software support is currently only present in the TILE-Gx | ||
53 | # hypervisor. TILEPro in any case does not support page sizes | ||
54 | # larger than the default HPAGE_SIZE. | ||
55 | config HUGETLB_SUPER_PAGES | ||
56 | depends on HUGETLB_PAGE && TILEGX | ||
57 | def_bool y | ||
58 | |||
51 | # FIXME: tilegx can implement a more efficient rwsem. | 59 | # FIXME: tilegx can implement a more efficient rwsem. |
52 | config RWSEM_GENERIC_SPINLOCK | 60 | config RWSEM_GENERIC_SPINLOCK |
53 | def_bool y | 61 | def_bool y |
@@ -107,16 +115,14 @@ config HVC_TILE | |||
107 | select HVC_DRIVER | 115 | select HVC_DRIVER |
108 | def_bool y | 116 | def_bool y |
109 | 117 | ||
110 | # Please note: TILE-Gx support is not yet finalized; this is | ||
111 | # the preliminary support. TILE-Gx drivers are only provided | ||
112 | # with the alpha or beta test versions for Tilera customers. | ||
113 | config TILEGX | 118 | config TILEGX |
114 | depends on EXPERIMENTAL | ||
115 | bool "Building with TILE-Gx (64-bit) compiler and toolchain" | 119 | bool "Building with TILE-Gx (64-bit) compiler and toolchain" |
116 | 120 | ||
121 | config TILEPRO | ||
122 | def_bool !TILEGX | ||
123 | |||
117 | config 64BIT | 124 | config 64BIT |
118 | depends on TILEGX | 125 | def_bool TILEGX |
119 | def_bool y | ||
120 | 126 | ||
121 | config ARCH_DEFCONFIG | 127 | config ARCH_DEFCONFIG |
122 | string | 128 | string |
@@ -137,6 +143,31 @@ config NR_CPUS | |||
137 | smaller kernel memory footprint results from using a smaller | 143 | smaller kernel memory footprint results from using a smaller |
138 | value on chips with fewer tiles. | 144 | value on chips with fewer tiles. |
139 | 145 | ||
146 | if TILEGX | ||
147 | |||
148 | choice | ||
149 | prompt "Kernel page size" | ||
150 | default PAGE_SIZE_64KB | ||
151 | help | ||
152 | This lets you select the page size of the kernel. For best | ||
153 | performance on memory-intensive applications, a page size of 64KB | ||
154 | is recommended. For workloads involving many small files, many | ||
155 | connections, etc., it may be better to select 16KB, which uses | ||
156 | memory more efficiently at some cost in TLB performance. | ||
157 | |||
158 | Note that this option is TILE-Gx specific; currently | ||
159 | TILEPro page size is set by rebuilding the hypervisor. | ||
160 | |||
161 | config PAGE_SIZE_16KB | ||
162 | bool "16KB" | ||
163 | |||
164 | config PAGE_SIZE_64KB | ||
165 | bool "64KB" | ||
166 | |||
167 | endchoice | ||
168 | |||
169 | endif | ||
170 | |||
140 | source "kernel/Kconfig.hz" | 171 | source "kernel/Kconfig.hz" |
141 | 172 | ||
142 | config KEXEC | 173 | config KEXEC |