0
0
mirror of https://github.com/vim/vim.git synced 2025-10-23 08:44:20 -04:00

patch 9.1.1748: macOS: Default scheduler priority too low

Problem:  macOS: Default scheduler priority too low
Solution: Explicitly set TASK_DEFAULT_APPLICATION scheduler priority
          to improve responsiveness (Luna Razzaghipour).

closes: #18120

Signed-off-by: Luna Razzaghipour <luna@xoria.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
Luna Razzaghipour
2025-09-10 03:55:51 -04:00
committed by Christian Brabandt
parent 306a138172
commit 4bf0f6c1df
5 changed files with 21 additions and 3 deletions

View File

@@ -1,4 +1,4 @@
*version9.txt* For Vim version 9.1. Last change: 2025 Sep 09 *version9.txt* For Vim version 9.1. Last change: 2025 Sep 10
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -41621,6 +41621,7 @@ Platform specific~
- The Win32 GUI comes with better toolbar icons. - The Win32 GUI comes with better toolbar icons.
- Better fullscreen support for Haiku |os_haiku.txt|. - Better fullscreen support for Haiku |os_haiku.txt|.
*new-other-9.2* *new-other-9.2*
Other new features ~ Other new features ~
------------------ ------------------
@@ -41763,6 +41764,7 @@ Others: ~
Platform specific ~ Platform specific ~
- MS-Winodws: Paths like "\Windows" and "/Windows" are now considered to be - MS-Winodws: Paths like "\Windows" and "/Windows" are now considered to be
absolute paths (to the current drive) and no longer relative. absolute paths (to the current drive) and no longer relative.
- macOS: increase default scheduler priority to TASK_DEFAULT_APPLICATION.
*added-9.2* *added-9.2*
Added ~ Added ~

View File

@@ -1,4 +1,4 @@
*vi_diff.txt* For Vim version 9.1. Last change: 2025 Sep 08 *vi_diff.txt* For Vim version 9.1. Last change: 2025 Sep 10
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1381,7 +1381,7 @@ System | Status:~
Amiga (OS4, AROS & MorphOS): | still supported (?) Amiga (OS4, AROS & MorphOS): | still supported (?)
Haiku: | supported Haiku: | supported
Linux: | fully supported (on maintained versions) Linux: | fully supported (on maintained versions)
Mac OS: | fully supported up until v10.6 (?) macOS: | fully supported up until v10.6 (?)
MS-Windows 7, 8, 10, 11: | fully supported MS-Windows 7, 8, 10, 11: | fully supported
OpenVMS: | supported OpenVMS: | supported
QNX: | still supported (?) QNX: | still supported (?)

View File

@@ -46,6 +46,11 @@
#include <time.h> #include <time.h>
#include <dirent.h> #include <dirent.h>
/*
* Mach interface
*/
#include <mach/task.h>
/* /*
* MacOS specific #define * MacOS specific #define
*/ */

View File

@@ -3676,6 +3676,15 @@ mch_early_init(void)
signal_stack = alloc(get_signal_stack_size()); signal_stack = alloc(get_signal_stack_size());
init_signal_stack(); init_signal_stack();
#endif #endif
/*
* Inform the macOS scheduler that Vim renders UI, and so shouldnt have its
* threads quality of service classes clamped.
*/
#ifdef MACOS_X
integer_t policy = TASK_DEFAULT_APPLICATION;
task_policy_set(mach_task_self(), TASK_CATEGORY_POLICY, &policy, 1);
#endif
} }
#if defined(EXITFREE) || defined(PROTO) #if defined(EXITFREE) || defined(PROTO)

View File

@@ -724,6 +724,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
1748,
/**/ /**/
1747, 1747,
/**/ /**/