mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 18:51:56 -04:00
mm: convert totalram_pages and totalhigh_pages variables to atomic
totalram_pages and totalhigh_pages are made static inline function. Main motivation was that managed_page_count_lock handling was complicating things. It was discussed in length here, https://lore.kernel.org/patchwork/patch/995739/#1181785 So it seemes better to remove the lock and convert variables to atomic, with preventing poteintial store-to-read tearing as a bonus. [[email protected]: coding style fixes] Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Arun KS <[email protected]> Suggested-by: Michal Hocko <[email protected]> Suggested-by: Vlastimil Babka <[email protected]> Reviewed-by: Konstantin Khlebnikov <[email protected]> Reviewed-by: Pavel Tatashin <[email protected]> Acked-by: Michal Hocko <[email protected]> Acked-by: Vlastimil Babka <[email protected]> Cc: David Hildenbrand <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
parent
9705bea5f8
commit
ca79b0c211
53 changed files with 131 additions and 81 deletions
|
|
@ -1251,7 +1251,7 @@ ccio_ioc_init(struct ioc *ioc)
|
|||
** Hot-Plug/Removal of PCI cards. (aka PCI OLARD).
|
||||
*/
|
||||
|
||||
iova_space_size = (u32) (totalram_pages / count_parisc_driver(&ccio_driver));
|
||||
iova_space_size = (u32) (totalram_pages() / count_parisc_driver(&ccio_driver));
|
||||
|
||||
/* limit IOVA space size to 1MB-1GB */
|
||||
|
||||
|
|
@ -1290,7 +1290,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) totalram_pages >> (20 - PAGE_SHIFT),
|
||||
(unsigned long) totalram_pages() >> (20 - PAGE_SHIFT),
|
||||
iova_space_size>>20,
|
||||
iov_order + PAGE_SHIFT);
|
||||
|
||||
|
|
|
|||
|
|
@ -1414,7 +1414,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) (totalram_pages/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))) {
|
||||
|
|
@ -1439,7 +1439,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) totalram_pages >> (20 - PAGE_SHIFT),
|
||||
(unsigned long) totalram_pages() >> (20 - PAGE_SHIFT),
|
||||
iova_space_size>>20,
|
||||
iov_order + PAGE_SHIFT);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue