Subject: Re: bug#46981: Severe Emacs shell mode performance regression in recent Linux-libre

From: Bengt Richter <[email-masked]>
Date: Sun, 7 Mar 2021 09:53:25 +0100

Hi Mark, et?

On +2021-03-06 21:54:42 -0500, Mark H Weaver wrote:
> Mark H Weaver <[email-masked]> writes:
> 
> > FYI, for those who use Emacs shell mode (M-x shell), I wanted to give a
> > heads-up about a severe performance regression in Linux-libre 5.10.20,
> > and I suspect the same regression exists in 5.11.3.
> >
> > For details, see the bug report I submitted to the Emacs developers,
> > here: <https://bugs.gnu.org/46978>.
> 
> I've since confirmed that reverting the two upstream commits mentioned
> in <https://bugs.gnu.org/46978> fixes the performance regression.  I've
> attached a preliminary patch for Guix that reverts those upstream
> commits for [email-masked], and which I've tested on my system.
> 
> I guess that the same fix is also needed for [email-masked], but I've
> not checked.  I'll leave it to others to try applying the same reverts
> to 5.11.3 if they wish, and to decide what (if anything) should be done
> in Guix about this issue.
> 
>       Mark
> 
> 
> 

Is the vt infrastructure that emacs uses to do Mx shell well virtualized
so that e.g. a native wayland bash repl displaying tile could be plugged in?
(if not, why not? :)

Seems like an html-textarea-like wayland tile could be implemented to
present the bash-stdout for emacs, and also capture it in a shm-pool
for access by emacs as open file or mmap, to do its mode-dependent
indenting and highlighting, then sending that to another text-area vt tile.

Excuse the handwaving, but I think it could be done, from what I've read
about wayland clients and servers.

-- 
Regards,
Bengt Richter
PS. BTW: anybody thought about defining a wayland server to act as guix daemon?
     It already has async threadsafe event loop and manages access-isolated
     pools of memory, and you can define extended protocol for access.

     And on a wayland-based box, this would be available early.
     Early enough for hurd initialization to make use of, I think.
     Daydream? :)