-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
NET branch #141
Merged
NET branch #141
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
We were calculating the csum without initializing the icmp header's csum field, which made for spurious echo reply drops. Signed-off-by: Pedro Falcato <[email protected]>
Add %pI4 support, per the Linux kernel printk specifiers. %pI4 prints an IPv4 address in xx.xx.xx.xx form. Example: in_addr_t addr = INADDR_LOOPBACK; printf("%pI4\n", &addr) => 127.0.0.1 Signed-off-by: Pedro Falcato <[email protected]>
Break instead of continuing when printing a bad stack. This should lead to led recursive faults (which helps GDB). Signed-off-by: Pedro Falcato <[email protected]>
Please push 1f8cbcb to master |
Add a brand new neighbour system, more correct, non-blocking, and takes full advantage of RCU. This commit does not yet support failure. While we're at it, we add small fixes on the IPv4 and v6 core code. One notable fix is the adding of longest matching prefix logic (which is required for e.g proper IPv4 routing on local networks). Signed-off-by: Pedro Falcato <[email protected]>
Rework the RX netif logic. This should be safe(r) and probably faster. Signed-off-by: Pedro Falcato <[email protected]>
Make our terminal less buggy, A LOT FASTER scrolling, and add more sequences such that it's more similar to TERM=linux. Signed-off-by: Pedro Falcato <[email protected]>
Add box-drawing support by including a unicode font, and implementing a (very primitive!) version of G0 and G1 + shift-in/shift-out. Tested by running KBuild menuconfig on Onyx. Things look okay. Signed-off-by: Pedro Falcato <[email protected]>
Signed-off-by: Pedro Falcato <[email protected]>
After up-scrolling got optimized recently, less was noticeably slower when scrolling up. Rectify this. Signed-off-by: Pedro Falcato <[email protected]>
Add an fbdev implementation as desired by Xorg. Not-Yet-Signed-off-by: Pedro Falcato <[email protected]>
Add an RCU-based d_path implementation. dentry names should be RCU-protected in order for this to be truly safe. Signed-off-by: Pedro Falcato <[email protected]>
There was a subtle race condition in sync_call logic where two cpus could observe waiting_for_completion = 0 and double-free the control block. Fix it trivially. Signed-off-by: Pedro Falcato <[email protected]>
This is slightly faster and also avoids LRU locking issues inside free_page. Signed-off-by: Pedro Falcato <[email protected]>
WARN() will give us a nice backtrace + register dump. Do it. Signed-off-by: Pedro Falcato <[email protected]>
Named pipe O_NONBLOCK is required by POSIX to not block in the open, e.g don't wait for a reader and just give me a darn open pipe. Signed-off-by: Pedro Falcato <[email protected]>
This lets us use the page allocator directly in the SLAB allocator, for KASAN builds too. Signed-off-by: Pedro Falcato <[email protected]>
This was previously implemented for sockets, should be for every fd. Signed-off-by: Pedro Falcato <[email protected]>
Global mutexen should be declared with DECLARE_MUTEX so internal members get initialized properly. Fixes a crash when cache_list_lock is contended. Signed-off-by: Pedro Falcato <[email protected]>
Results in instability sometimes (to be addressed, related to memory fragmentation and higher order page allocation). Signed-off-by: Pedro Falcato <[email protected]>
Signed-off-by: Pedro Falcato <[email protected]>
We were passing the bufctl as if it were the object, which fired assertions when dumping the quarantine to the slab allocator. Signed-off-by: Pedro Falcato <[email protected]>
Enabling preemption is tricky because we can stall doing $STUFF while other cpus are stuck waiting for us. This results in a deadlock. Move preemption down to after cpus are unfrozen again. Signed-off-by: Pedro Falcato <[email protected]>
When traversing symlinks such as: /symlink -> /path/to/file it erroneously backed out and returned the path string related to /symlink; however, even worse, because we had consumed that path element before, callers would see an empty string. This is obviously wrong. Signed-off-by: Pedro Falcato <[email protected]>
Previously, we only set_current_state once, when entering wait_for(). This is wrong and resulted in busy loops. Fix it. While we're at it, set up some next patches by adding an optional "DO NOT DEQUEUE" flag. Signed-off-by: Pedro Falcato <[email protected]>
This fixes a race condition trivially exposed by the previous commit. Signed-off-by: Pedro Falcato <[email protected]>
We were not inheriting umask, which is obviously wrong and broken. Signed-off-by: Pedro Falcato <[email protected]>
Swapping isn't quite stable. Add a small fix and some more debug checks. Signed-off-by: Pedro Falcato <[email protected]>
Signed-off-by: Pedro Falcato <[email protected]>
Add two new callbacks that allow us to do more intelligent page cache accesses when doing writes. Also add a sample implementation for block devices. Signed-off-by: Pedro Falcato <[email protected]>
This is obviously wrong and resulted in crashes. Signed-off-by: Pedro Falcato <[email protected]>
Signed-off-by: Pedro Falcato <[email protected]>
BLKFLSBUF flushes all buffers and pages related to this block device. Signed-off-by: Pedro Falcato <[email protected]>
Signed-off-by: Pedro Falcato <[email protected]>
This stops bad, inconsistent filesystems from crashing the whole system. Signed-off-by: Pedro Falcato <[email protected]>
Plus the generic bits in fs/block Signed-off-by: Pedro Falcato <[email protected]>
This makes us ring the nvme doorbell once per pull, instead of once per sqe, which results in a nice speedup, particularly in VMs. Signed-off-by: Pedro Falcato <[email protected]>
Signed-off-by: Pedro Falcato <[email protected]>
Signed-off-by: Pedro Falcato <[email protected]>
This fixes certain weird bugs that only seemed to happen on EFI in some cases. Signed-off-by: Pedro Falcato <[email protected]>
Signed-off-by: Pedro Falcato <[email protected]>
Don't believe GRUB's load bias (it seems to lie in some versions, fml). Also rework some bits to be slightly safer when it comes to avoiding a crash (namely, wrt running on wrong page tables). Signed-off-by: Pedro Falcato <[email protected]>
Map boot services eagerly (although we should end up unmapping this, Eventually, after we add proper reservation and late freeing of boot services memory). Also create our own memmap instead of passing the firmware's, which ended up causing crashes on some hardware. Signed-off-by: Pedro Falcato <[email protected]>
We had a nasty hack with regards to .. following and mount roots. Fix it by doing proper mount parents. This also fixes '..' on mounts, which ended up broken and causing mount reference leaks. Signed-off-by: Pedro Falcato <[email protected]>
Signed-off-by: Pedro Falcato <[email protected]>
Signed-off-by: Pedro Falcato <[email protected]>
Data corruption fix in cases where a buffer could be both in the disk's page cache and a file's disk cache (this fix is not perfect). Zero out file holes now that filemap feeds us unzeroed pages. Signed-off-by: Pedro Falcato <[email protected]>
Signed-off-by: Pedro Falcato <[email protected]>
Should radically improve page fault scalability. Signed-off-by: Pedro Falcato <[email protected]>
Signed-off-by: Pedro Falcato <[email protected]>
Add job stealing from other cores. Radically improves performance in e.g a make -j4 gcc build. Signed-off-by: Pedro Falcato <[email protected]>
Signed-off-by: Pedro Falcato <[email protected]>
Signed-off-by: Pedro Falcato <[email protected]>
Signed-off-by: Pedro Falcato <[email protected]>
Signed-off-by: Pedro Falcato <[email protected]>
Signed-off-by: Pedro Falcato <[email protected]>
Signed-off-by: Pedro Falcato <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Various fixes, some networking, some not. TCP rework incoming (one day)