unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Lars Ingebrigtsen <larsi@gnus.org>
To: Dmitry Antipov <dmantipov@yandex.ru>
Cc: 19776@debbugs.gnu.org, stefan@marxist.se,
	Andreas Schwab <schwab@linux-m68k.org>,
	monnier@iro.umontreal.ca, rms@gnu.org
Subject: bug#19776: timerfd doesn't work when busy-looping
Date: Mon, 25 Oct 2021 17:05:10 +0200	[thread overview]
Message-ID: <87k0i1w3fd.fsf_-_@gnus.org> (raw)
In-Reply-To: <8735op9np0.fsf@igel.home> (Andreas Schwab's message of "Mon, 25 Oct 2021 16:35:55 +0200")

The timerfd stuff was added in

commit 768b24eb0e880c0b39e36fd089905cdca572a758
Author:     Dmitry Antipov <dmantipov@yandex.ru>
AuthorDate: Mon Jul 28 10:28:15 2014 +0400

    On GNU/Linux, use timerfd for asynchronous timers.

so I've added Dmitry to the CCs to get some input.

Dmitry, the issue is that with timerfd, no atimers are delivered when
Emacs is busy-looping, like:

  (with-delayed-message 2 "Yes"
    (while t))

If we disable the timerfd stuff, then the timer will fire after two
seconds.  So I'm wondering whether this used to work when timerfd was
introduced (and this has regressed over the years), or whether it's
always been a design constraint that timerfd events would never be
delivered when Emacs ways busy-looping?

When Emacs is idling (and polling the fds), then the timerfd approach
works well, for instance with:

  (with-delayed-message 2 "Yes"
    (sleep-for 10))

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no






  reply	other threads:[~2021-10-25 15:05 UTC|newest]

Thread overview: 90+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-04 23:03 bug#19776: 25.0.50; HTML rendering is very slow Richard Stallman
2015-02-05 11:42 ` Nicolas Richard
2015-02-05 16:14   ` Eli Zaretskii
2015-12-25 22:34 ` Lars Ingebrigtsen
2015-12-26  6:14   ` Richard Stallman
2018-04-15 21:49     ` Lars Ingebrigtsen
2018-04-15 22:00       ` Lars Ingebrigtsen
2021-10-22 23:59         ` Stefan Kangas
2021-10-23  7:27           ` Eli Zaretskii
2021-10-24 12:43             ` Lars Ingebrigtsen
2021-10-24 14:04               ` Eli Zaretskii
2021-10-24 14:25                 ` Lars Ingebrigtsen
2021-10-24 16:22                   ` Lars Ingebrigtsen
2021-10-24 17:06                     ` Eli Zaretskii
2021-10-24 17:56                     ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-10-24 18:45                       ` Lars Ingebrigtsen
2021-10-24 19:10                       ` Lars Ingebrigtsen
2021-10-24 19:18                         ` Lars Ingebrigtsen
2021-10-24 19:24                         ` Eli Zaretskii
2021-10-24 19:42                           ` Lars Ingebrigtsen
2021-10-24 20:09                             ` Lars Ingebrigtsen
2021-10-24 20:14                               ` Lars Ingebrigtsen
2021-10-24 20:18                                 ` Lars Ingebrigtsen
2021-10-24 20:40                                   ` Lars Ingebrigtsen
2021-10-24 21:52                                     ` Stefan Kangas
2021-10-25 13:08                                       ` Lars Ingebrigtsen
2021-10-25 13:20                                         ` Eli Zaretskii
2021-10-25 13:33                                           ` Lars Ingebrigtsen
2021-10-29 17:28                                             ` Stefan Kangas
2021-10-29 17:38                                               ` Lars Ingebrigtsen
2021-10-29 17:59                                                 ` bug#51490: Show an indicator when Emacs is busy somewhere in the Emacs window Stefan Kangas
2021-10-30 12:40                                                   ` Lars Ingebrigtsen
2022-09-19 20:16                                                     ` Lars Ingebrigtsen
2022-09-20 11:36                                                       ` Eli Zaretskii
2022-09-21 11:06                                                         ` Lars Ingebrigtsen
2022-09-21 11:49                                                           ` Eli Zaretskii
2022-09-21 12:01                                                             ` Lars Ingebrigtsen
2022-09-21 12:34                                                               ` Stefan Kangas
2022-09-21 13:08                                                                 ` Eli Zaretskii
2022-09-21 13:05                                                               ` Eli Zaretskii
2022-09-21 13:32                                                                 ` Lars Ingebrigtsen
2022-09-21 14:01                                                                   ` Eli Zaretskii
2022-09-21 16:02                                                                     ` Gregory Heytings
2022-09-21 16:21                                                                       ` Eli Zaretskii
2022-09-21 17:11                                                                         ` Gregory Heytings
2022-09-22  6:28                                                                           ` Eli Zaretskii
2022-09-22 10:54                                                                             ` Lars Ingebrigtsen
2022-09-22 12:33                                                                               ` Eli Zaretskii
2022-09-22 13:08                                                                                 ` Gregory Heytings
2022-09-22 14:03                                                                                   ` Eli Zaretskii
2022-09-22 15:57                                                                                     ` Gregory Heytings
2022-09-22 16:21                                                                                       ` Eli Zaretskii
2022-09-23 15:06                                                                                         ` Lars Ingebrigtsen
2022-09-23 15:45                                                                                           ` Eli Zaretskii
2022-09-22 13:02                                                                             ` Gregory Heytings
2022-09-22 13:59                                                                               ` Eli Zaretskii
2021-10-24 22:14                             ` bug#19776: 25.0.50; HTML rendering is very slow Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-10-24 22:28                               ` Lars Ingebrigtsen
2021-10-25  7:33                                 ` Andreas Schwab
2021-10-25 13:11                                   ` Lars Ingebrigtsen
2021-10-25 13:33                                     ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-10-25 13:46                                       ` Andreas Schwab
2021-10-25 13:52                                         ` Lars Ingebrigtsen
2021-10-25 14:05                                           ` Lars Ingebrigtsen
2021-10-25 14:16                                             ` Eli Zaretskii
2021-10-25 14:25                                               ` Lars Ingebrigtsen
2021-10-25 14:31                                             ` Andreas Schwab
2021-10-25 14:36                                               ` Lars Ingebrigtsen
2021-10-25 14:48                                                 ` Lars Ingebrigtsen
2021-10-25 14:32                                             ` Lars Ingebrigtsen
2021-10-25 14:00                                 ` Eli Zaretskii
2021-10-25 14:35                                   ` Andreas Schwab
2021-10-25 15:05                                     ` Lars Ingebrigtsen [this message]
2021-10-25 15:59                                       ` bug#19776: timerfd doesn't work when busy-looping Eli Zaretskii
2021-10-25 16:16                                         ` Lars Ingebrigtsen
2021-10-25 16:41                                           ` bug#19776: The hourglass Lars Ingebrigtsen
2021-10-25 16:51                                             ` Eli Zaretskii
2021-10-25 16:57                                               ` Lars Ingebrigtsen
2021-10-25 16:09                                 ` bug#19776: 25.0.50; HTML rendering is very slow Eli Zaretskii
2021-10-25 16:19                                   ` Lars Ingebrigtsen
2021-10-25 16:53                                     ` Eli Zaretskii
2021-10-25 17:01                                       ` Lars Ingebrigtsen
2021-10-25 17:07                                         ` Eli Zaretskii
2021-10-25 17:11                                           ` Andreas Schwab
2021-10-25 17:12                                             ` Eli Zaretskii
2021-10-25 17:52                                               ` Andreas Schwab
2021-10-25 18:25                                                 ` Eli Zaretskii
2021-10-25  2:17           ` Richard Stallman
2021-10-25 13:10             ` Lars Ingebrigtsen
2021-10-27 12:59 ` Lars Ingebrigtsen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87k0i1w3fd.fsf_-_@gnus.org \
    --to=larsi@gnus.org \
    --cc=19776@debbugs.gnu.org \
    --cc=dmantipov@yandex.ru \
    --cc=monnier@iro.umontreal.ca \
    --cc=rms@gnu.org \
    --cc=schwab@linux-m68k.org \
    --cc=stefan@marxist.se \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).