Comments (3)
I remember stumbling upon this while hacking on the GC, specifically
corert/src/Native/gc/unix/gcenv.unix.cpp
Lines 1028 to 1038 in a7ff563
(which should be fixed as well) but i don't remember the exact reason. I thought i've read the priority cannot be changed after thread creation but that appears to be false.
from corert.
I remember seeing this when porting to the Switch/PlayStation
The place I was refering to is here:
Edit: Did a quick check. BoostThreadPriority is currently only used by the server GC for the GC threads. But it should be possible to implment it for Unix. But as I currently don't run a server GC I cannot test it
Edit2: Did some more digging. It seems that in many cases the OS is configured in a way that a regular process cannot change the thread priority. Therefore properly nobody cared that much. A quick check in the mono and runtime source showed that both have the code to support it when the OS allows it. Therefore I think we should have it in the same way in CoreRT.
PS: while trying around a little bit i fixed this TODO
// TODO: Figure out which scheduler to use, the default one doesn't seem to
// support per thread priorities.
It still has the limitation that it will only work when the OS allows it but if not it will just do nothing which is the same as now. I can make a PR for it
from corert.
. It seems that in many cases the OS is configured in a way that a regular process cannot change the thread priority. Therefore properly nobody cared that much
Yes, that's correct.
It still has the limitation that it will only work when the OS allows it but if not it will just do nothing which is the same as now. I can make a PR for it
💯
from corert.
Related Issues (20)
- Wasm: munmap possible problem HOT 18
- FlushProcessWriteBuffers on ARM64 HOT 3
- Unhandled Exception: ILCompiler.CodeGenerationFailedException: Code generation failed for method HOT 2
- Missing implementation of System.OperatingSystem.IsWindows HOT 2
- Question: ImportConvert unsigned parameter is always false HOT 1
- Wasm: conv_r_un/4 should set to postive or negative infinity when too large
- CoreRT slower then regular .NET HOT 3
- "Segmentation fault" on CentOS 7.8 HOT 2
- "The input line is too long" during build HOT 4
- Generating native code with Grpc.Core HOT 3
- What's the difference between corert and runtimelab‘s NativeAOT ? HOT 2
- Error on tests/runtest.sh -coreclr All HOT 3
- Ubuntu 20.04 dotnet publish failed HOT 2
- Question about Marshalling of data structures across C++/C# HOT 2
- This repo is going to be archived on October 31, 2020 HOT 16
- GitHub actions - clang fails on Ubuntu HOT 2
- Great Project HOT 1
- Fails to dotnet publish. HOT 1
- how run it on openwrt arm v7?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from corert.