ladybird/Kernel/FileSystem
Andreas Kling 1cca5142af 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 PTY'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 :^)
2019-10-18 14:55:04 +02:00
..
Custody.cpp Kernel: Don't create a String every time we look up a Custody by name 2019-08-25 06:45:14 +02:00
Custody.h AK: Rename <AK/AKString.h> to <AK/String.h> 2019-09-06 15:36:54 +02:00
DevPtsFS.cpp Kernel: Move device lookup to Device class itself 2019-08-18 15:59:59 +02:00
DevPtsFS.h DevPtsFS: Do not assume there is one of it 2019-08-17 12:07:55 +02:00
DiskBackedFileSystem.cpp Kernel: Made DiskCache entries a KBuffer 2019-10-08 11:10:30 +02:00
DiskBackedFileSystem.h Kernel: Convert the DiskBackedFS write API to take "const u8*" 2019-09-30 11:23:36 +02:00
ext2_fs.h Add clang-format file 2019-05-28 17:31:20 +02:00
ext2_types.h Add clang-format file 2019-05-28 17:31:20 +02:00
Ext2FileSystem.cpp Ext2FS: Make Ext2FSInode::is_directory() fast 2019-10-02 13:47:44 +02:00
Ext2FileSystem.h Ext2FS: Make Ext2FSInode::is_directory() fast 2019-10-02 13:47:44 +02:00
FIFO.cpp Kernel: Make DoubleBuffer use a KBuffer instead of kmalloc()ing 2019-10-18 14:55:04 +02:00
FIFO.h Kernel: Move File.{cpp,h} into FileSystem/ 2019-07-09 15:04:45 +02:00
File.cpp FileDescription: Disallow construction with a null File 2019-08-11 09:33:31 +02:00
File.h AK: Rename <AK/AKString.h> to <AK/String.h> 2019-09-06 15:36:54 +02:00
FileDescription.cpp ByteBuffer: Remove pointer() in favor of data() 2019-09-30 08:57:01 +02:00
FileDescription.h Kernel: Move socket role tracking to the Socket class itself 2019-08-11 16:30:43 +02:00
FileSystem.cpp Ext2FS: Trying to create a too-long directory entry should ENAMETOOLONG 2019-09-10 21:04:27 +02:00
FileSystem.h Ext2FS: Trying to create a too-long directory entry should ENAMETOOLONG 2019-09-10 21:04:27 +02:00
Inode.cpp Kernel: Rename "vmo" to "vmobject" everywhere 2019-09-04 11:27:14 +02:00
Inode.h AK: Rename <AK/AKString.h> to <AK/String.h> 2019-09-06 15:36:54 +02:00
InodeFile.cpp AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
InodeFile.h Kernel: Move File.{cpp,h} into FileSystem/ 2019-07-09 15:04:45 +02:00
InodeIdentifier.h AK: Rename <AK/AKString.h> to <AK/String.h> 2019-09-06 15:36:54 +02:00
InodeMetadata.h AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
InodeWatcher.cpp Kernel: Add a mechanism for listening for changes to an inode. 2019-07-22 20:01:11 +02:00
InodeWatcher.h Kernel: Add a mechanism for listening for changes to an inode. 2019-07-22 20:01:11 +02:00
ProcFS.cpp Kernel+SystemMonitor: Add fault counters 2019-10-02 14:13:49 +02:00
ProcFS.h ProcFS: Do not assume there is one of it 2019-08-17 12:07:55 +02:00
SharedMemory.cpp Kernel: Rename "vmo" to "vmobject" everywhere 2019-09-04 11:27:14 +02:00
SharedMemory.h AK: Rename <AK/AKString.h> to <AK/String.h> 2019-09-06 15:36:54 +02:00
SyntheticFileSystem.cpp SynthFS: Remove unused create_text_file() feature 2019-08-05 22:37:50 +02:00
SyntheticFileSystem.h SynthFS: Remove unused create_text_file() feature 2019-08-05 22:37:50 +02:00
TmpFS.cpp TmpFS: Notify any associated InodeVMObject on inode changes 2019-08-24 19:59:01 +02:00
TmpFS.h Kernel: Add TmpFS 2019-08-15 19:20:51 +02:00
VirtualFileSystem.cpp ByteBuffer: Remove pointer() in favor of data() 2019-09-30 08:57:01 +02:00
VirtualFileSystem.h AK: Rename <AK/AKString.h> to <AK/String.h> 2019-09-06 15:36:54 +02:00