equal
deleted
inserted
replaced
954 return r; |
954 return r; |
955 |
955 |
956 RamAllocLock::Lock(); |
956 RamAllocLock::Lock(); |
957 |
957 |
958 Mmu& m = TheMmu; |
958 Mmu& m = TheMmu; |
959 r = m.AllocRam(&iNewPage, 1, aMemory->RamAllocFlags(), EPageFixed); |
959 // Allocate a page to shadow to allowing the allocation to steal pages from the paging cache. |
|
960 r = m.AllocRam( &iNewPage, |
|
961 1, |
|
962 (Mmu::TRamAllocFlags)(aMemory->RamAllocFlags() & ~Mmu::EAllocNoPagerReclaim), |
|
963 EPageFixed); |
960 if(r==KErrNone) |
964 if(r==KErrNone) |
961 { |
965 { |
962 TLinAddr dst = m.MapTemp(iNewPage,aIndex,0); |
966 TLinAddr dst = m.MapTemp(iNewPage,aIndex,0); |
963 TLinAddr src = m.MapTemp(iOriginalPage,aIndex,1); |
967 TLinAddr src = m.MapTemp(iOriginalPage,aIndex,1); |
964 pagecpy((TAny*)dst,(TAny*)src); |
968 pagecpy((TAny*)dst,(TAny*)src); |