-
Notifications
You must be signed in to change notification settings - Fork 71
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
Slite and parallel runtime work #402
Open
phanikishoreg
wants to merge
144
commits into
gwsystems:ppos
Choose a base branch
from
phanikishoreg:part
base: ppos
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
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
…apic Conflicts RESOLVED: src/platform/i386/hpet.c src/platform/i386/isr.h src/platform/i386/kernel.c src/platform/i386/kernel.h src/platform/i386/lapic.c src/platform/i386/vga.c src/platform/i386/vm.c
Ioapic api for multi-core and apicid programming
Multi-core in llbooter, capmgr, sl, cos_kernel_api(locks) and other related
* Major limitations: no kernel entry allowed at anytime. That could potentially screw up things for the "current thread". * SCB and DCB are user-level only. Have to enable kernel-user page sharing, TODO! * Given these limitations, tested sl_yield(), and the benchmarks look promising. With only kernel-level dispatching: AVG: 620, WC:804 With only user-level dispatching: AVG: 340, WC: 750 With shared pages, a couple more branches in the kernel-dispatching.
8k) * it says successful sometimes, failed sometimes.
* I recently added that rule to clean ps on distclean but I didn't realize it wont work on fresh clone, for now reverting it.
- TODO: test interrupt to sched (direct) switch..
…to slite Conflicts: src/components/implementation/tests/unit_slrcv/Makefile src/components/implementation/tests/unit_slrcv/init.c src/components/include/sl.h src/components/lib/sl/sl_sched.c src/platform/i386/runscripts/unit_slite01.sh
* TODO! invocation + switch!
* if ulthd != kthd, get the comp_info of the ulthd to proceed from lazyupdate!!
* pass the timeout with the api to call slowpath kernel switch * make sure cos_rcv is called with the sched timer in cos_ul_rcv. * if cos_rcv is switching back to the scheduler, do not disable the timer. * there seem to be some cases, where switching to a tcap with infinite budget is disabling timer somewhere. It happens when tcap has inf budget and timeout is set to NIL. Timeout should be set appropriately! This will disable the timer programmed previously.
* resolved conflicts * fixed bugs and made necessary changes to use slite. for ex: cos_sched_rcv now adds events to the ring buffer, so fixed the kernel-test for tcaps to use that.
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.
Summary of this Pull Request (PR)
This PR includes a lot of the work towards RTAS'20 research, Slite, enabling near zero-cost, configurable scheduling!
I see from the diff that, there is more to it:
Intent for your PR
Choose one (Mandatory):
Reviewers (Mandatory):
@gparmer
@hungry-foolish @WenyuanShao I know this is a lot to ask, but if you guys have a bit of time here and there, please provide feedback at your own pace. Thanks!
Code Quality
I will go through a round of self-review before I check these boxes. Closer to the deadline of the paper, I'm sure I did not adhere to the quality guidelines.
As part of this pull request, I've considered the following:
Style:
Code Craftsmanship:
Testing
I've tested the code using the following test programs (provide list here):