1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-28 19:35:09 +00:00
serenity/Kernel/FileSystem
Andreas Kling f4f958f99f Kernel: Make DoubleBuffer use a KBuffer instead of kmalloc()ing
Background: DoubleBuffer is a handy buffer class in the kernel that
allows you to keep writing to it from the "outside" while the "inside"
reads from it. It's used for things like LocalSocket and TTY's.
Internally, it has a read buffer and a write buffer, but the two will
swap places when the read buffer is exhausted (by reading from it.)

Before this patch, it was internally implemented as two Vector<u8>
that we would swap between when the reader side had exhausted the data
in the read buffer. Now instead we preallocate a large KBuffer (64KB*2)
on DoubleBuffer construction and use that throughout its lifetime.

This removes all the kmalloc heap traffic caused by DoubleBuffers :^)
2020-01-20 16:08:49 +01:00
..
Custody.cpp Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
Custody.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
DevPtsFS.cpp Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
DevPtsFS.h Kernel: Fix identifier casing 2020-01-18 23:51:22 +01:00
DiskBackedFileSystem.cpp Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
DiskBackedFileSystem.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
ext2_fs.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
ext2_types.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
Ext2FileSystem.cpp Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
Ext2FileSystem.h Kernel: Fix identifier casing 2020-01-18 23:51:22 +01:00
FIFO.cpp Kernel: Make DoubleBuffer use a KBuffer instead of kmalloc()ing 2020-01-20 16:08:49 +01:00
FIFO.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
File.cpp Kernel: Move setting file flags and r/w mode to VFS::open() 2020-01-18 23:51:22 +01:00
File.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
FileDescription.cpp Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
FileDescription.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
FileSystem.cpp Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
FileSystem.h Kernel: Fix identifier casing 2020-01-18 23:51:22 +01:00
Inode.cpp Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
Inode.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
InodeFile.cpp Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
InodeFile.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
InodeIdentifier.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
InodeMetadata.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
InodeWatcher.cpp Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
InodeWatcher.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
ProcFS.cpp Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
ProcFS.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
TmpFS.cpp TmpFS: Grow the underlying inode buffer with 2x factor when written to 2020-01-19 14:01:32 +01:00
TmpFS.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
VirtualFileSystem.cpp Kernel: Move setting file flags and r/w mode to VFS::open() 2020-01-18 23:51:22 +01:00
VirtualFileSystem.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00