|
@@ -290,8 +290,6 @@ int ttm_tt_swapin(struct ttm_tt *ttm)
|
|
|
struct file *swap_storage;
|
|
|
struct page *from_page;
|
|
|
struct page *to_page;
|
|
|
- void *from_virtual;
|
|
|
- void *to_virtual;
|
|
|
int i;
|
|
|
int ret = -ENOMEM;
|
|
|
|
|
@@ -311,11 +309,7 @@ int ttm_tt_swapin(struct ttm_tt *ttm)
|
|
|
goto out_err;
|
|
|
|
|
|
preempt_disable();
|
|
|
- from_virtual = kmap_atomic(from_page);
|
|
|
- to_virtual = kmap_atomic(to_page);
|
|
|
- memcpy(to_virtual, from_virtual, PAGE_SIZE);
|
|
|
- kunmap_atomic(to_virtual);
|
|
|
- kunmap_atomic(from_virtual);
|
|
|
+ copy_highpage(to_page, from_page);
|
|
|
preempt_enable();
|
|
|
page_cache_release(from_page);
|
|
|
}
|
|
@@ -336,8 +330,6 @@ int ttm_tt_swapout(struct ttm_tt *ttm, struct file *persistent_swap_storage)
|
|
|
struct file *swap_storage;
|
|
|
struct page *from_page;
|
|
|
struct page *to_page;
|
|
|
- void *from_virtual;
|
|
|
- void *to_virtual;
|
|
|
int i;
|
|
|
int ret = -ENOMEM;
|
|
|
|
|
@@ -367,11 +359,7 @@ int ttm_tt_swapout(struct ttm_tt *ttm, struct file *persistent_swap_storage)
|
|
|
goto out_err;
|
|
|
}
|
|
|
preempt_disable();
|
|
|
- from_virtual = kmap_atomic(from_page);
|
|
|
- to_virtual = kmap_atomic(to_page);
|
|
|
- memcpy(to_virtual, from_virtual, PAGE_SIZE);
|
|
|
- kunmap_atomic(to_virtual);
|
|
|
- kunmap_atomic(from_virtual);
|
|
|
+ copy_highpage(to_page, from_page);
|
|
|
preempt_enable();
|
|
|
set_page_dirty(to_page);
|
|
|
mark_page_accessed(to_page);
|