mirror of
https://github.com/Mathewnd/Astral.git
synced 2026-10-27 12:48:22 +00:00
mm: vmmcache -> mm_cache
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
#include <kernel/alloc.h>
|
||||
#include <kernel/timekeeper.h>
|
||||
#include <kernel/page.h>
|
||||
#include <kernel/vmmcache.h>
|
||||
#include <kernel/mm.h>
|
||||
#include <kernel/auth.h>
|
||||
#include <kernel/init.h>
|
||||
|
||||
@@ -424,8 +424,8 @@ static int devfs_putpage(vnode_t *node, uintmax_t offset, struct page_t *page) {
|
||||
return error;
|
||||
}
|
||||
|
||||
static int devfs_sync(vnode_t *vnode) {
|
||||
return vmmcache_sync(vnode);
|
||||
static int devfs_sync(vnode_t *) {
|
||||
return mm_cache_sync();
|
||||
}
|
||||
|
||||
// most locking is handled by the devices.
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
#include <mutex.h>
|
||||
#include <logging.h>
|
||||
#include <util.h>
|
||||
#include <kernel/vmmcache.h>
|
||||
#include <kernel/mm.h>
|
||||
#include <kernel/pipefs.h>
|
||||
#include <kernel/auth.h>
|
||||
#include <kernel/init.h>
|
||||
@@ -1471,7 +1471,7 @@ int ext2_resize(vnode_t *vnode, size_t newsize, cred_t *cred) {
|
||||
if (size != newsize) {
|
||||
e = resizeinode(fs, node, newsize);
|
||||
if (size > newsize)
|
||||
vmmcache_truncate(vnode, newsize);
|
||||
mm_cache_truncate(vnode, newsize);
|
||||
}
|
||||
return e;
|
||||
}
|
||||
@@ -1918,11 +1918,11 @@ static int ext2_rename(vnode_t *sourcedir, vnode_t *source, char *oldname, vnode
|
||||
}
|
||||
|
||||
static int ext2_sync(vnode_t *vnode) {
|
||||
int e = vmmcache_syncvnode(vnode, 0, UINT64_MAX);
|
||||
int e = mm_cache_sync_vnode(vnode, 0, UINT64_MAX);
|
||||
ext2fs_t *fs = (ext2fs_t *)vnode->vfs;
|
||||
// TODO don't sync the entire disk but rather only the inodes and blocks
|
||||
VOP_LOCK(fs->backing);
|
||||
int e2 = vmmcache_syncvnode(fs->backing, 0, UINT64_MAX);
|
||||
int e2 = mm_cache_sync_vnode(fs->backing, 0, UINT64_MAX);
|
||||
VOP_UNLOCK(fs->backing);
|
||||
// only the first errors are reported
|
||||
return e ? e : e2;
|
||||
@@ -1960,7 +1960,7 @@ static int ext2_inactive(vnode_t *vnode) {
|
||||
__assert(hashtable_remove(&fs->inodetable, &node->id, sizeof(node->id)) == 0);
|
||||
MUTEX_RELEASE(&fs->inodetablelock);
|
||||
|
||||
vmmcache_truncate(vnode, 0);
|
||||
mm_cache_truncate(vnode, 0);
|
||||
freeinode(fs, &node->inode, node->id);
|
||||
|
||||
slab_free(nodecache, node);
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#include <kernel/slab.h>
|
||||
#include <kernel/auth.h>
|
||||
#include <kernel/page.h>
|
||||
#include <kernel/vmmcache.h>
|
||||
#include <kernel/mm.h>
|
||||
|
||||
typedef struct {
|
||||
uint8_t drive_num;
|
||||
@@ -192,7 +192,7 @@ static int fatfs_unmount(vfs_t *vfs) {
|
||||
static int fatfs_sync(vfs_t *vfs) {
|
||||
fatfs_t *fatfs = (fatfs_t *)vfs;
|
||||
VOP_LOCK(fatfs->backing);
|
||||
int error = vmmcache_syncvnode(fatfs->backing, 0, UINT64_MAX);
|
||||
int error = mm_cache_sync_vnode(fatfs->backing, 0, UINT64_MAX);
|
||||
VOP_UNLOCK(fatfs->backing);
|
||||
return error;
|
||||
}
|
||||
@@ -255,16 +255,16 @@ static int fatfs_syncvnode(vnode_t *vnode) {
|
||||
fatnode_t *fatnode = (fatnode_t *)vnode;
|
||||
|
||||
// sync file data
|
||||
int e = vmmcache_syncvnode(vnode, 0, UINT64_MAX);
|
||||
int e = mm_cache_sync_vnode(vnode, 0, UINT64_MAX);
|
||||
|
||||
VOP_LOCK(fs->backing);
|
||||
// sync the dent
|
||||
int e2 = 0;
|
||||
if (fatnode->dent_disk_offset)
|
||||
e2 = vmmcache_syncvnode(fs->backing, fatnode->dent_disk_offset, sizeof(fatfs_dent_t));
|
||||
e2 = mm_cache_sync_vnode(fs->backing, fatnode->dent_disk_offset, sizeof(fatfs_dent_t));
|
||||
|
||||
// and sync the fats
|
||||
int e3 = vmmcache_syncvnode(fs->backing, fs->fat_offset, fs->fat_size * fs->fat_count);
|
||||
int e3 = mm_cache_sync_vnode(fs->backing, fs->fat_offset, fs->fat_size * fs->fat_count);
|
||||
|
||||
VOP_UNLOCK(fs->backing);
|
||||
|
||||
@@ -938,7 +938,7 @@ static int fatfs_resize(vnode_t *vnode, size_t new_size, cred_t *cred) {
|
||||
if (node->size != new_size) {
|
||||
error = fatfs_resize_file(fs, node, new_size);
|
||||
if (node->size > new_size)
|
||||
vmmcache_truncate(vnode, new_size);
|
||||
mm_cache_truncate(vnode, new_size);
|
||||
}
|
||||
|
||||
return error;
|
||||
@@ -957,7 +957,7 @@ static int fatfs_inactive(vnode_t *vnode) {
|
||||
__assert(!"fatfs VOP_INACTIVE() with hardlink count >0 is currently unimplemented");
|
||||
} else {
|
||||
// unlinked file having resources released when kernel refcount hits zero
|
||||
vmmcache_truncate(vnode, 0);
|
||||
mm_cache_truncate(vnode, 0);
|
||||
fatfs_resize_file(fatfs, fatnode, 0);
|
||||
}
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
#include <kernel/vmm.h>
|
||||
#include <arch/cpu.h>
|
||||
#include <string.h>
|
||||
#include <kernel/vmmcache.h>
|
||||
#include <kernel/mm.h>
|
||||
#include <kernel/pipefs.h>
|
||||
#include <kernel/auth.h>
|
||||
#include <kernel/init.h>
|
||||
@@ -499,7 +499,7 @@ static int tmpfs_inactive(vnode_t *node) {
|
||||
tmpfsnode_t *tmp_node = (tmpfsnode_t *)node;
|
||||
__assert(tmp_node->attr.nlinks == (node->type == V_TYPE_DIR ? 1 : 0));
|
||||
if (node->type == V_TYPE_REGULAR) {
|
||||
vmmcache_truncate(node, 0);
|
||||
mm_cache_truncate(node, 0);
|
||||
}
|
||||
freenode(tmp_node);
|
||||
return 0;
|
||||
@@ -509,7 +509,7 @@ static int tmpfs_resize(vnode_t *node, size_t size, cred_t *) {
|
||||
tmpfsnode_t *tmpfsnode = (tmpfsnode_t *)node;
|
||||
if (size != tmpfsnode->attr.size && tmpfsnode->vnode.type == V_TYPE_REGULAR) {
|
||||
if (tmpfsnode->attr.size > size)
|
||||
vmmcache_truncate(node, size);
|
||||
mm_cache_truncate(node, size);
|
||||
|
||||
tmpfsnode->attr.size = size;
|
||||
}
|
||||
@@ -526,7 +526,7 @@ static int tmpfs_getpage(vnode_t *node, uintmax_t offset, struct page_t *page) {
|
||||
if (error)
|
||||
return error;
|
||||
|
||||
// since tmpfs files now store their data on the vmmcache,
|
||||
// since tmpfs files now store their data on the mm cache,
|
||||
// all getpage will do will be set the page to 0 and pin it in memory
|
||||
void *phy = mm_get_page_address(page);
|
||||
void *phyhhdm = MAKE_HHDM(phy);
|
||||
|
||||
+11
-11
@@ -7,7 +7,7 @@
|
||||
#include <arch/cpu.h>
|
||||
#include <kernel/poll.h>
|
||||
#include <kernel/sock.h>
|
||||
#include <kernel/vmmcache.h>
|
||||
#include <kernel/mm.h>
|
||||
#include <kernel/block.h>
|
||||
#include <kernel/pipefs.h>
|
||||
#include <kernel/auth.h>
|
||||
@@ -387,11 +387,11 @@ static int writenocache(vnode_t *node, page_t *page, uintmax_t pageoffset) {
|
||||
if (node->type == V_TYPE_REGULAR)
|
||||
e = VOP_SYNC(node);
|
||||
else
|
||||
e = vmmcache_syncvnode(node, pageoffset, PAGE_SIZE);
|
||||
e = mm_cache_sync_vnode(node, pageoffset, PAGE_SIZE);
|
||||
VOP_UNLOCK(node);
|
||||
|
||||
// try to turn it into anonymous memory
|
||||
vmmcache_evict(page);
|
||||
mm_cache_evict(page);
|
||||
|
||||
return e;
|
||||
}
|
||||
@@ -449,7 +449,7 @@ int vfs_write_iovec(vnode_t *node, iovec_iterator_t *iovec_iterator, size_t size
|
||||
|
||||
if (startoffset) {
|
||||
// unaligned first page
|
||||
err = vmmcache_getpage(node, pageoffset * PAGE_SIZE, &page);
|
||||
err = mm_cache_get_page(node, pageoffset * PAGE_SIZE, &page);
|
||||
if (err)
|
||||
goto leave;
|
||||
|
||||
@@ -462,7 +462,7 @@ int vfs_write_iovec(vnode_t *node, iovec_iterator_t *iovec_iterator, size_t size
|
||||
goto leave;
|
||||
}
|
||||
|
||||
vmmcache_makedirty(page);
|
||||
mm_cache_make_dirty(page);
|
||||
*written += writesize;
|
||||
|
||||
if (flags & V_FFLAGS_NOCACHE)
|
||||
@@ -478,7 +478,7 @@ int vfs_write_iovec(vnode_t *node, iovec_iterator_t *iovec_iterator, size_t size
|
||||
|
||||
for (uintmax_t offset = 0; offset < pagecount * PAGE_SIZE; offset += PAGE_SIZE) {
|
||||
// the other pages
|
||||
err = vmmcache_getpage(node, pageoffset * PAGE_SIZE + offset, &page);
|
||||
err = mm_cache_get_page(node, pageoffset * PAGE_SIZE + offset, &page);
|
||||
if (err)
|
||||
goto leave;
|
||||
|
||||
@@ -491,7 +491,7 @@ int vfs_write_iovec(vnode_t *node, iovec_iterator_t *iovec_iterator, size_t size
|
||||
goto leave;
|
||||
}
|
||||
|
||||
vmmcache_makedirty(page);
|
||||
mm_cache_make_dirty(page);
|
||||
*written += writesize;
|
||||
|
||||
if (flags & V_FFLAGS_NOCACHE)
|
||||
@@ -562,7 +562,7 @@ int vfs_read_iovec(vnode_t *node, iovec_iterator_t *iovec_iterator, size_t size,
|
||||
|
||||
if (startoffset) {
|
||||
// unaligned first page
|
||||
err = vmmcache_getpage(node, pageoffset * PAGE_SIZE, &page);
|
||||
err = mm_cache_get_page(node, pageoffset * PAGE_SIZE, &page);
|
||||
if (err)
|
||||
goto leave;
|
||||
|
||||
@@ -579,7 +579,7 @@ int vfs_read_iovec(vnode_t *node, iovec_iterator_t *iovec_iterator, size_t size,
|
||||
|
||||
if (flags & V_FFLAGS_NOCACHE) {
|
||||
// try to turn it into anonymous memory
|
||||
vmmcache_evict(page);
|
||||
mm_cache_evict(page);
|
||||
}
|
||||
|
||||
pageoffset += 1;
|
||||
@@ -590,7 +590,7 @@ int vfs_read_iovec(vnode_t *node, iovec_iterator_t *iovec_iterator, size_t size,
|
||||
|
||||
for (uintmax_t offset = 0; offset < pagecount * PAGE_SIZE; offset += PAGE_SIZE) {
|
||||
// the other pages
|
||||
err = vmmcache_getpage(node, pageoffset * PAGE_SIZE + offset, &page);
|
||||
err = mm_cache_get_page(node, pageoffset * PAGE_SIZE + offset, &page);
|
||||
if (err)
|
||||
goto leave;
|
||||
|
||||
@@ -606,7 +606,7 @@ int vfs_read_iovec(vnode_t *node, iovec_iterator_t *iovec_iterator, size_t size,
|
||||
*bytesread += readsize;
|
||||
if (flags & V_FFLAGS_NOCACHE) {
|
||||
// try to turn it into anonymous memory
|
||||
vmmcache_evict(page);
|
||||
mm_cache_evict(page);
|
||||
}
|
||||
mm_release_page(FROM_HHDM(address));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user