From: Daniel Colascione <dancol@dancol.org>
To: Eli Zaretskii <eliz@gnu.org>
Cc: raeburn@raeburn.org, monnier@iro.umontreal.ca, emacs-devel@gnu.org
Subject: Re: Can we go GTK-only?
Date: Tue, 1 Nov 2016 10:06:14 -0700 [thread overview]
Message-ID: <f7e6195b-634b-609b-5136-031664afc93d@dancol.org> (raw)
In-Reply-To: <83funbnngl.fsf@gnu.org>
On 11/01/2016 10:01 AM, Eli Zaretskii wrote:
>> Cc: raeburn@raeburn.org, monnier@iro.umontreal.ca, emacs-devel@gnu.org
>> From: Daniel Colascione <dancol@dancol.org>
>> Date: Tue, 1 Nov 2016 09:45:41 -0700
>>
>> Name one system we support that both _has_ threads and that doesn't have
>> a thread-safe system malloc. If we're using our own malloc and _that_
>> isn't thread-safe, that doesn't count. I insist that on modern systems,
>> the malloc and free that come with libc are thread safe.
>
> You can insist all you like, it won't change my mind: thread-safety in
> malloc is only now becoming widespread and reliable enough, and older
> systems where there are various bugs in that regard are still with us
> in significant numbers. Just google the keywords, and you will see
> the bug reports and their dates.
Extraordinary claims require extraordinary evidence. Your claim is
extraordinary: it's been common practice for _decades_ to make memory
allocations from multiple threads in multithreaded programming. Programs
that do this, many of which I use every day, run reliably. You need to
provide evidence that what you say is true.
I did conduct search you suggested. The examples I found all involves
people not compiling with the compile flags for enabling thread safety.
What did these people expect to happen?
>>>> Allocation of lisp objects is different. _That_ isn't thread safe
>>>> right now. The easiest way to address this problem is a GIL.
>>>
>>> GIL hurts performance so much that I'd question any GIL-based design
>>> that attempts to support off-loading CPU-intensive tasks to worker
>>> threads.
>>
>> On what basis do you make this claim? As someone mentioned previously,
>> that Python paper isn't really relevant, as we're not doing CPU
>> preemption.
>
> I think we've lost context: this thread is not about the concurrency
> branch, where only one thread runs at a time, for which that Python
> paper is irrelevant. This thread (or at least what I wrote above) is
> about the proposal to have more than one thread that performs
> CPU-intensive tasks, so that the main thread could go about its
> business. For that, you will definitely want CPU preemption, because
> those tasks don't have to run Lisp.
If those CPU-intensive tasks are not written in Lisp, there is no need
to hold the GIL while running them, so other threads can run Lisp in
parallel.
next prev parent reply other threads:[~2016-11-01 17:06 UTC|newest]
Thread overview: 85+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-10-27 19:54 Can we go GTK-only? Daniel Colascione
2016-10-27 20:05 ` Frank Haun
2016-10-27 20:45 ` Daniel Colascione
2016-10-27 21:08 ` Frank Haun
2016-10-27 20:32 ` Paul Eggert
2016-10-27 23:15 ` Perry E. Metzger
2016-10-28 7:13 ` Eli Zaretskii
2016-10-28 2:35 ` Richard Stallman
2016-10-28 6:22 ` Eli Zaretskii
2016-10-28 7:27 ` Ulrich Mueller
2016-10-28 8:15 ` Eli Zaretskii
2016-10-28 10:48 ` Frank Haun
2016-10-28 12:26 ` Eli Zaretskii
2016-10-28 13:35 ` Stefan Monnier
2016-10-30 14:43 ` Ken Raeburn
2016-10-30 21:42 ` Stefan Monnier
2016-10-30 22:49 ` Daniel Colascione
2016-10-30 23:57 ` Stefan Monnier
2016-10-31 3:37 ` Eli Zaretskii
2016-10-31 15:57 ` Eli Zaretskii
2016-10-31 0:00 ` YAMAMOTO Mitsuharu
2016-10-31 8:24 ` Ken Raeburn
2016-10-31 16:34 ` Perry E. Metzger
2016-11-01 8:22 ` YAMAMOTO Mitsuharu
2016-10-31 3:33 ` Eli Zaretskii
2016-10-31 15:57 ` Perry E. Metzger
2016-10-31 15:56 ` Eli Zaretskii
2016-10-31 15:59 ` Daniel Colascione
2016-10-31 16:47 ` Eli Zaretskii
2016-10-31 17:54 ` Perry E. Metzger
2016-10-31 20:50 ` Eli Zaretskii
2016-10-31 15:52 ` Eli Zaretskii
2016-10-31 15:54 ` Eli Zaretskii
2016-10-31 18:22 ` Ken Raeburn
2016-10-31 20:53 ` Eli Zaretskii
2016-10-31 21:04 ` Daniel Colascione
2016-11-01 15:11 ` Eli Zaretskii
2016-11-01 16:28 ` Paul Eggert
2016-11-01 16:49 ` Eli Zaretskii
2016-11-01 16:54 ` Daniel Colascione
2016-11-01 17:08 ` Eli Zaretskii
2016-11-01 17:16 ` Daniel Colascione
2016-11-01 19:15 ` Perry E. Metzger
2016-11-01 19:28 ` Lars Ingebrigtsen
2016-11-01 19:31 ` Eli Zaretskii
2016-11-01 16:55 ` Paul Eggert
2016-11-01 17:15 ` Perry E. Metzger
2016-11-01 16:41 ` Perry E. Metzger
2016-11-01 16:54 ` Eli Zaretskii
2016-11-01 17:22 ` Perry E. Metzger
2016-11-01 17:46 ` Eli Zaretskii
2016-11-01 17:56 ` Perry E. Metzger
2016-11-01 19:35 ` Perry E. Metzger
2016-11-01 16:45 ` Daniel Colascione
2016-11-01 17:01 ` Eli Zaretskii
2016-11-01 17:06 ` Daniel Colascione [this message]
2016-11-01 17:15 ` Eli Zaretskii
2016-11-01 17:18 ` Daniel Colascione
2016-11-01 17:44 ` Eli Zaretskii
2016-11-01 17:45 ` Daniel Colascione
2016-11-01 19:14 ` Stefan Monnier
2016-11-01 19:22 ` Eli Zaretskii
2016-11-01 19:42 ` Perry E. Metzger
2016-11-01 19:20 ` Perry E. Metzger
2016-11-01 20:05 ` Eli Zaretskii
2016-11-01 20:17 ` Daniel Colascione
2016-11-01 20:42 ` Eli Zaretskii
2016-11-02 2:26 ` Perry E. Metzger
2016-11-02 15:49 ` Eli Zaretskii
2016-11-02 15:55 ` Daniel Colascione
2016-11-02 5:00 ` YAMAMOTO Mitsuharu
2016-11-02 15:46 ` Eli Zaretskii
2016-11-03 3:43 ` YAMAMOTO Mitsuharu
2016-11-03 17:40 ` Eli Zaretskii
2016-11-02 0:27 ` Stefan Monnier
2016-11-02 15:53 ` Eli Zaretskii
2016-11-02 16:04 ` Stefan Monnier
2016-11-02 19:25 ` Nikolaus Rath
2016-11-02 20:33 ` Paul Eggert
2016-11-03 1:25 ` Richard Stallman
2016-11-02 19:25 ` Nikolaus Rath
2016-11-02 20:13 ` Eli Zaretskii
2016-11-03 3:29 ` Perry E. Metzger
2016-11-03 18:07 ` John Wiegley
2016-11-03 22:07 ` John Wiegley
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=f7e6195b-634b-609b-5136-031664afc93d@dancol.org \
--to=dancol@dancol.org \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=monnier@iro.umontreal.ca \
--cc=raeburn@raeburn.org \
/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 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.