mm: replace various uses of num_physpages by totalram_pages
Sizing of memory allocations shouldn't depend on the number of physical pages found in a system, as that generally includes (perhaps a huge amount of) non-RAM pages. The amount of what actually is usable as storage should instead be used as a basis here. Some of the calculations (i.e. those not intending to use high memory) should likely even use (totalram_pages - totalhigh_pages). Signed-off-by: Jan Beulich <jbeulich@novell.com> Acked-by: Rusty Russell <rusty@rustcorp.com.au> Acked-by: Ingo Molnar <mingo@elte.hu> Cc: Dave Airlie <airlied@linux.ie> Cc: Kyle McMartin <kyle@mcmartin.ca> Cc: Jeremy Fitzhardinge <jeremy@goop.org> Cc: Pekka Enberg <penberg@cs.helsinki.fi> Cc: Hugh Dickins <hugh.dickins@tiscali.co.uk> Cc: "David S. Miller" <davem@davemloft.net> Cc: Patrick McHardy <kaber@trash.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
このコミットが含まれているのは:
@@ -1266,7 +1266,7 @@ ccio_ioc_init(struct ioc *ioc)
|
||||
** Hot-Plug/Removal of PCI cards. (aka PCI OLARD).
|
||||
*/
|
||||
|
||||
iova_space_size = (u32) (num_physpages / count_parisc_driver(&ccio_driver));
|
||||
iova_space_size = (u32) (totalram_pages / count_parisc_driver(&ccio_driver));
|
||||
|
||||
/* limit IOVA space size to 1MB-1GB */
|
||||
|
||||
@@ -1305,7 +1305,7 @@ ccio_ioc_init(struct ioc *ioc)
|
||||
|
||||
DBG_INIT("%s() hpa 0x%p mem %luMB IOV %dMB (%d bits)\n",
|
||||
__func__, ioc->ioc_regs,
|
||||
(unsigned long) num_physpages >> (20 - PAGE_SHIFT),
|
||||
(unsigned long) totalram_pages >> (20 - PAGE_SHIFT),
|
||||
iova_space_size>>20,
|
||||
iov_order + PAGE_SHIFT);
|
||||
|
||||
|
@@ -1390,7 +1390,7 @@ sba_ioc_init(struct parisc_device *sba, struct ioc *ioc, int ioc_num)
|
||||
** for DMA hints - ergo only 30 bits max.
|
||||
*/
|
||||
|
||||
iova_space_size = (u32) (num_physpages/global_ioc_cnt);
|
||||
iova_space_size = (u32) (totalram_pages/global_ioc_cnt);
|
||||
|
||||
/* limit IOVA space size to 1MB-1GB */
|
||||
if (iova_space_size < (1 << (20 - PAGE_SHIFT))) {
|
||||
@@ -1415,7 +1415,7 @@ sba_ioc_init(struct parisc_device *sba, struct ioc *ioc, int ioc_num)
|
||||
DBG_INIT("%s() hpa 0x%lx mem %ldMB IOV %dMB (%d bits)\n",
|
||||
__func__,
|
||||
ioc->ioc_hpa,
|
||||
(unsigned long) num_physpages >> (20 - PAGE_SHIFT),
|
||||
(unsigned long) totalram_pages >> (20 - PAGE_SHIFT),
|
||||
iova_space_size>>20,
|
||||
iov_order + PAGE_SHIFT);
|
||||
|
||||
|
新しいイシューから参照
ユーザーをブロックする