Fix priority scheduling logic

This resolves sync loads not being properly prioritised.
This commit is contained in:
Spottedleaf
2024-07-17 07:39:30 -07:00
parent e922317eaa
commit efa4155840

View File

@@ -12165,7 +12165,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ return us == null ? dfl : us; + return us == null ? dfl : us;
+ } + }
+ if (us == null) { + if (us == null) {
+ return dfl; + return neighbour;
+ } + }
+ +
+ return PrioritisedExecutor.Priority.max(us, neighbour); + return PrioritisedExecutor.Priority.max(us, neighbour);
@@ -12211,7 +12211,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ +
+ // must hold scheduling lock + // must hold scheduling lock
+ public void raisePriority(final PrioritisedExecutor.Priority priority) { + public void raisePriority(final PrioritisedExecutor.Priority priority) {
+ if (this.priority == null || this.priority.isHigherOrEqualPriority(priority)) { + if (this.priority != null && this.priority.isHigherOrEqualPriority(priority)) {
+ return; + return;
+ } + }
+ this.setPriority(priority); + this.setPriority(priority);
@@ -12242,7 +12242,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ +
+ // must hold scheduling lock + // must hold scheduling lock
+ public void lowerPriority(final PrioritisedExecutor.Priority priority) { + public void lowerPriority(final PrioritisedExecutor.Priority priority) {
+ if (this.priority == null || this.priority.isLowerOrEqualPriority(priority)) { + if (this.priority != null && this.priority.isLowerOrEqualPriority(priority)) {
+ return; + return;
+ } + }
+ this.setPriority(priority); + this.setPriority(priority);