7
« Last post by adadad on November 29, 2023, 10:21:25 AM »
Hi,
I upgraded from 25 to 28 (Linux Pro version in all cases), but something causes the UI to freeze for multiple seconds (10 to 30) every few seconds. This appears to be happening whenever SE kicks-off the background tagging to determine if anything has changed (at least that's the last message in the status line), or when I save a file or when I switch tabs. It happens even if I don't do anything with the sources, e.g. while navigating Tools->Options. While frozen, CPU usage spikes up to somewhere between 100% to 200%.
I can not do anything during that time and I had to switch back to 25 due to that. With 25, while it also starts the tagging regularly, at least any UI interaction stops it more or less immediately.
My workspace usually contains a couple versions of the full Linux kernel source tree (all files) as different projects with project specific tag files, but I've reduced this to just one tree in SE28 for testing to no avail. It wasn't added via wildcard, but explicit files. All worked fine with 25 and all other previous SE versions I had used. SE also copied all the settings from 25 to 28, so they should all be the same (tagging options in particular). The project specific tag files for a Linux tree contain ~85000 files and are ~1500MB each. My workstation has 128 cores and 512GiB RAM. It doesn't use SSD/nvme, but RAM should be sufficient to keep everything cached (it was with SE25). Nothing else is competing for resources with SE on that machine. I've also recreated the project (and tag file) in 28 just to be sure no incompatible or broken tag file causes this.
In Tools->Options->Editing->Background Tagging, I have everything set to 'ON', except for 'Background tagging of other files', 'Update language-specific tag files' and 'Update all tag files'. Other options there are:
start after seconds idle: 30 (up from 3 in SE25)
start after minutes idle: 1
minutes before restarting: 5
delay between checking files (ms): 5 (default value, doesn't exist in SE25)
threads: 8
process background tagging jobs after (ms) idle: 500
background tagging timeout (ms): 100 (down from 250 in SE25)
maximum number of active tagging jobs: 500
maximum amount of background tagging memory usage (MB): 980 (up from 31 in SE25), can't go any higher in SE28
maximum files for cache updating: 200000
minimum wildcard cache update time (ms): 8000
In Tools->Options->Editing->Context Tagging:
Use memory mapped files: ON
Tag file cache size (MB): 64
Tag file cache maximum size: 4096 (up from 3072 in SE25)
In Tools->Options->Application Options->Virtual Memory:
Buffer cache size (MB): 96
Tag file cache size (MB): 64
Tag file cache maximum (MB): 4096 (up from 3072 in SE25)
Maximum number of memory allocators: 12 (up from 10 in SE25)
I've set def_tagging_logging=1 temporarily, and the only thing obvious to me from the log is that there are 1000s of Makefiles, which apparently SE can't tag in background and reverts to foreground tagging? But the same is true in SE25 where the UI is still responsive. Removing all Makefiles from the project for testing purposes hasn't made it any better, though. Therefore, I'm not sure so if that is related.
I've also set def_show_makefile_target_menu=2 for testing to no avail.
I've tried on both the QT5 and QT4 versions, with no difference in behaviour.
Finally, I've noticed that tagging as such appears to be way faster on 25 than on 28, with CPU usage higher on 25 due to using more threads judgding by monitoring with top. On 28 it seems to be maxing out at 200%, with 25, it goes to 400% and occasionally close to 450% (despite having configured 8 background threads). But that might be a different issue.
Please help in resolving this.
Thanks,
Andre