all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Re: scratch/igc 7057c3562ff: * src/pgtkterm.c (mark_pgtkterm): Exclude from MPS builds.
       [not found] ` <20240627061127.3F4BCC1FB5B@vcs2.savannah.gnu.org>
@ 2024-06-27  6:17   ` Po Lu
  2024-06-27  6:51     ` Fejfighter
  0 siblings, 1 reply; 5+ messages in thread
From: Po Lu @ 2024-06-27  6:17 UTC (permalink / raw)
  To: emacs-devel; +Cc: Jeff Walsh

Eli Zaretskii <eliz@gnu.org> writes:

> branch: scratch/igc
> commit 7057c3562ff373c6061b2b9e6d124fb5f6b90ee5
> Author: Jeff Walsh <fejfighter@gmail.com>
> Commit: Eli Zaretskii <eliz@gnu.org>
>
>     * src/pgtkterm.c (mark_pgtkterm): Exclude from MPS builds.
> ---
>  src/pgtkterm.c | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/src/pgtkterm.c b/src/pgtkterm.c
> index 49b7ea406f8..7279f5d863b 100644
> --- a/src/pgtkterm.c
> +++ b/src/pgtkterm.c
> @@ -336,6 +336,7 @@ evq_flush (struct input_event *hold_quit)
>    return n;
>  }
>  
> +#ifndef HAVE_MPS
>  void
>  mark_pgtkterm (void)
>  {
> @@ -369,6 +370,7 @@ mark_pgtkterm (void)
>  	mark_object (device->name);
>      }
>  }
> +#endif
>  
>  char *
>  get_keysym_name (int keysym)

Doesn't this require that device structures be registered and
deregistered as GC roots when allocated and deallocated?  The same
applies to objects in the module's private event queue.



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: scratch/igc 7057c3562ff: * src/pgtkterm.c (mark_pgtkterm): Exclude from MPS builds.
  2024-06-27  6:17   ` scratch/igc 7057c3562ff: * src/pgtkterm.c (mark_pgtkterm): Exclude from MPS builds Po Lu
@ 2024-06-27  6:51     ` Fejfighter
  2024-07-23  5:12       ` Fejfighter
  0 siblings, 1 reply; 5+ messages in thread
From: Fejfighter @ 2024-06-27  6:51 UTC (permalink / raw)
  To: Po Lu; +Cc: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 1304 bytes --]

Yeah that makes sense and is likely the cause of the crashes I have on that
branch, rather than other common code.

I can't promise I'll have something up soon, but I will try.



On Thu, Jun 27, 2024 at 4:18 PM Po Lu <luangruo@yahoo.com> wrote:

> Eli Zaretskii <eliz@gnu.org> writes:
>
> > branch: scratch/igc
> > commit 7057c3562ff373c6061b2b9e6d124fb5f6b90ee5
> > Author: Jeff Walsh <fejfighter@gmail.com>
> > Commit: Eli Zaretskii <eliz@gnu.org>
> >
> >     * src/pgtkterm.c (mark_pgtkterm): Exclude from MPS builds.
> > ---
> >  src/pgtkterm.c | 2 ++
> >  1 file changed, 2 insertions(+)
> >
> > diff --git a/src/pgtkterm.c b/src/pgtkterm.c
> > index 49b7ea406f8..7279f5d863b 100644
> > --- a/src/pgtkterm.c
> > +++ b/src/pgtkterm.c
> > @@ -336,6 +336,7 @@ evq_flush (struct input_event *hold_quit)
> >    return n;
> >  }
> >
> > +#ifndef HAVE_MPS
> >  void
> >  mark_pgtkterm (void)
> >  {
> > @@ -369,6 +370,7 @@ mark_pgtkterm (void)
> >       mark_object (device->name);
> >      }
> >  }
> > +#endif
> >
> >  char *
> >  get_keysym_name (int keysym)
>
> Doesn't this require that device structures be registered and
> deregistered as GC roots when allocated and deallocated?  The same
> applies to objects in the module's private event queue.
>

[-- Attachment #2: Type: text/html, Size: 2013 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: scratch/igc 7057c3562ff: * src/pgtkterm.c (mark_pgtkterm): Exclude from MPS builds.
  2024-06-27  6:51     ` Fejfighter
@ 2024-07-23  5:12       ` Fejfighter
  2024-07-23  5:34         ` Gerd Möllmann
  2024-07-23  5:34         ` Pip Cet
  0 siblings, 2 replies; 5+ messages in thread
From: Fejfighter @ 2024-07-23  5:12 UTC (permalink / raw)
  To: Po Lu; +Cc: emacs-devel, Gerd Möllmann, pipcet, Eli Zaretskii


[-- Attachment #1.1: Type: text/plain, Size: 1968 bytes --]

Comparing to xterm.c and scanning other parts of the pgtk specific code I
only found this as the only allocation unique to PGTK as much of the things
xterm needs to worry about is managed by gtk.

Could someone apply this patch to the scratch/igc branch please?

I also ran the benchmark suite with the latest changes and it's the first
time that it has not crashed emacs/oom'd out or otherwise destabilized my
machine,
It is starting to appear to be more stable for my use cases

Thanks for the hard work.
Jeff Walsh

On Thu, Jun 27, 2024 at 4:51 PM Fejfighter <fejfighter@gmail.com> wrote:

> Yeah that makes sense and is likely the cause of the crashes I have on
> that branch, rather than other common code.
>
> I can't promise I'll have something up soon, but I will try.
>
>
>
> On Thu, Jun 27, 2024 at 4:18 PM Po Lu <luangruo@yahoo.com> wrote:
>
>> Eli Zaretskii <eliz@gnu.org> writes:
>>
>> > branch: scratch/igc
>> > commit 7057c3562ff373c6061b2b9e6d124fb5f6b90ee5
>> > Author: Jeff Walsh <fejfighter@gmail.com>
>> > Commit: Eli Zaretskii <eliz@gnu.org>
>> >
>> >     * src/pgtkterm.c (mark_pgtkterm): Exclude from MPS builds.
>> > ---
>> >  src/pgtkterm.c | 2 ++
>> >  1 file changed, 2 insertions(+)
>> >
>> > diff --git a/src/pgtkterm.c b/src/pgtkterm.c
>> > index 49b7ea406f8..7279f5d863b 100644
>> > --- a/src/pgtkterm.c
>> > +++ b/src/pgtkterm.c
>> > @@ -336,6 +336,7 @@ evq_flush (struct input_event *hold_quit)
>> >    return n;
>> >  }
>> >
>> > +#ifndef HAVE_MPS
>> >  void
>> >  mark_pgtkterm (void)
>> >  {
>> > @@ -369,6 +370,7 @@ mark_pgtkterm (void)
>> >       mark_object (device->name);
>> >      }
>> >  }
>> > +#endif
>> >
>> >  char *
>> >  get_keysym_name (int keysym)
>>
>> Doesn't this require that device structures be registered and
>> deregistered as GC roots when allocated and deallocated?  The same
>> applies to objects in the module's private event queue.
>>
>

[-- Attachment #1.2: Type: text/html, Size: 3041 bytes --]

[-- Attachment #2: 0001-src-pgtkterm.c-pgtk_term_init-allocated-dpyinfo-as-a.patch --]
[-- Type: application/x-patch, Size: 1184 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: scratch/igc 7057c3562ff: * src/pgtkterm.c (mark_pgtkterm): Exclude from MPS builds.
  2024-07-23  5:12       ` Fejfighter
@ 2024-07-23  5:34         ` Gerd Möllmann
  2024-07-23  5:34         ` Pip Cet
  1 sibling, 0 replies; 5+ messages in thread
From: Gerd Möllmann @ 2024-07-23  5:34 UTC (permalink / raw)
  To: Fejfighter; +Cc: Po Lu, emacs-devel, pipcet, Eli Zaretskii

Fejfighter <fejfighter@gmail.com> writes:

> Could someone apply this patch to the scratch/igc branch please?

Thanks Jeff, I've pushed it. 



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: scratch/igc 7057c3562ff: * src/pgtkterm.c (mark_pgtkterm): Exclude from MPS builds.
  2024-07-23  5:12       ` Fejfighter
  2024-07-23  5:34         ` Gerd Möllmann
@ 2024-07-23  5:34         ` Pip Cet
  1 sibling, 0 replies; 5+ messages in thread
From: Pip Cet @ 2024-07-23  5:34 UTC (permalink / raw)
  To: Fejfighter; +Cc: Po Lu, emacs-devel, Gerd Möllmann, Eli Zaretskii

On Tuesday, July 23rd, 2024 at 05:12, Fejfighter <fejfighter@gmail.com> wrote:
> Comparing to xterm.c and scanning other parts of the pgtk specific code I only found this as the only allocation unique to PGTK as much of the things xterm needs to worry about is managed by gtk.

Thanks!

> Could someone apply this patch to the scratch/igc branch please?

Will do.

> I also ran the benchmark suite with the latest changes and it's the first time that it has not crashed emacs/oom'd out or otherwise destabilized my machine,
> It is starting to appear to be more stable for my use cases

That's great to hear! Running the benchmark suite should, of course, work. However, performance can be improved a lot by playing with the relevant parameters, so the result might not be great yet :-)

Also, there is a stability issue caused by signal handlers, which is fixable. All the crashes I'm aware of that I haven't found another reason for are due to that...

Pip



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2024-07-23  5:34 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <171946868539.21672.18232144356511203768@vcs2.savannah.gnu.org>
     [not found] ` <20240627061127.3F4BCC1FB5B@vcs2.savannah.gnu.org>
2024-06-27  6:17   ` scratch/igc 7057c3562ff: * src/pgtkterm.c (mark_pgtkterm): Exclude from MPS builds Po Lu
2024-06-27  6:51     ` Fejfighter
2024-07-23  5:12       ` Fejfighter
2024-07-23  5:34         ` Gerd Möllmann
2024-07-23  5:34         ` Pip Cet

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.