mirror of
https://github.com/justinian/jsix.git
synced 2025-12-10 00:14:32 -08:00
[kernel] Replace buffer_cache with vm_area_buffers
In order to reduce the amount of tracked state, now use the vm_area_buffers instead of a VMA with buffer_cache on top.
This commit is contained in:
@@ -1,16 +1,16 @@
|
||||
#include "kutil/assert.h"
|
||||
|
||||
#include "buffer_cache.h"
|
||||
#include "kernel_memory.h"
|
||||
#include "objects/channel.h"
|
||||
#include "objects/vm_area.h"
|
||||
|
||||
using memory::frame_size;
|
||||
using memory::kernel_buffer_pages;
|
||||
static constexpr size_t buffer_bytes = kernel_buffer_pages * frame_size;
|
||||
extern vm_area_buffers g_kernel_buffers;
|
||||
|
||||
constexpr size_t buffer_bytes = memory::kernel_buffer_pages * memory::frame_size;
|
||||
|
||||
channel::channel() :
|
||||
m_len(0),
|
||||
m_data(g_kbuffer_cache.get_buffer()),
|
||||
m_data(g_kernel_buffers.get_buffer()),
|
||||
m_buffer(reinterpret_cast<uint8_t*>(m_data), buffer_bytes),
|
||||
kobject(kobject::type::channel, j6_signal_channel_can_send)
|
||||
{
|
||||
@@ -78,7 +78,7 @@ channel::dequeue(size_t *len, void *data)
|
||||
void
|
||||
channel::close()
|
||||
{
|
||||
g_kbuffer_cache.return_buffer(m_data);
|
||||
g_kernel_buffers.return_buffer(m_data);
|
||||
assert_signal(j6_signal_channel_closed);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user