maintenance

This commit is contained in:
Zhengyi Chen 2024-02-22 14:08:32 +00:00
parent 28592dac9a
commit d53a605774

View file

@ -19,6 +19,7 @@
#include <linux/module.h> #include <linux/module.h>
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/version.h> #include <linux/version.h>
#include <linux/ktime.h>
#include <asm/cacheflush_extra.h> #include <asm/cacheflush_extra.h>
@ -58,6 +59,7 @@ static void my_shmem_vmops_close(struct vm_area_struct *vma)
size_t nr_pages_of_vma = (vma->vm_end - vma->vm_start) >> PAGE_SHIFT; size_t nr_pages_of_vma = (vma->vm_end - vma->vm_start) >> PAGE_SHIFT;
size_t nr_pages_offset = vma->vm_pgoff; size_t nr_pages_offset = vma->vm_pgoff;
struct my_shmem_page *entry; struct my_shmem_page *entry;
u64 clean_time_bgn, clean_time_end;
mutex_lock(&my_shmem_pages_mtx); mutex_lock(&my_shmem_pages_mtx);
list_for_each_entry(entry, &my_shmem_pages, list) { list_for_each_entry(entry, &my_shmem_pages, list) {
@ -76,14 +78,18 @@ static void my_shmem_vmops_close(struct vm_area_struct *vma)
ulong kvaddr_bgn = (ulong) page_address(pg); ulong kvaddr_bgn = (ulong) page_address(pg);
ulong kvaddr_end = kvaddr_bgn + PAGE_SIZE; ulong kvaddr_end = kvaddr_bgn + PAGE_SIZE;
pr_info("[%s] Before flush: 0x%px has 0x%lx [+%ld].\n", pr_info("[%s] Before flush: 0x%px has 0x%lx [+%ld].\n",
__func__, (void *) kvaddr_bgn, *(ulong *) kvaddr_bgn, __func__, (void *) kvaddr_bgn, *(ulong *) kvaddr_bgn,
sizeof(ulong)); sizeof(ulong));
clean_time_bgn = ktime_get_ns();
__dcache_clean_poc(kvaddr_bgn, kvaddr_end); __dcache_clean_poc(kvaddr_bgn, kvaddr_end);
put_page(pg); clean_time_end = ktime_get_ns();
pr_info("[%s] After flush: 0x%px has 0x%lx [+%ld].\n", pr_info("[%s] After flush: 0x%px has 0x%lx [+%ld]. Runtime: %lldns.\n",
__func__, (void *) kvaddr_bgn, *(ulong *) kvaddr_bgn, __func__, (void *) kvaddr_bgn, *(ulong *) kvaddr_bgn,
sizeof(ulong)); sizeof(ulong), clean_time_end - clean_time_bgn);
put_page(pg);
nr_pages_of_vma--; nr_pages_of_vma--;
} }