public inbox for cygwin-xfree@sourceware.org
help / color / mirror / Atom feed
From: Corinna Vinschen <corinna-cygwin@cygwin.com>
To: cygwin-xfree@cygwin.com
Subject: Re: [ANNOUNCEMENT] Uploads for 12 August
Date: Wed, 14 Aug 2013 10:53:00 -0000	[thread overview]
Message-ID: <20130814105326.GF4315@calimero.vinschen.de> (raw)
In-Reply-To: <520B5BC7.4060306@cornell.edu>

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

On Aug 14 06:28, Ken Brown wrote:
> On 8/14/2013 5:16 AM, Corinna Vinschen wrote:
> >On Aug 14 10:10, Corinna Vinschen wrote:
> >>On Aug 13 18:00, Ken Brown wrote:
> >>>On 8/13/2013 2:26 PM, Corinna Vinschen wrote:
> >>>>On Aug 13 13:09, Yaakov (Cygwin/X) wrote:
> >>>>>On 2013-08-13 09:13, Ken Brown wrote:
> >>>>>>Yaakov, is there any chance that you could patch Glib to do the
> >>>>>>equivalent of G_SLICE=always-malloc on Cygwin?  This isn't really an
> >>>>>>emacs issue.  It would affect any GTK application that provides its own
> >>>>>>malloc rather than using Cygwin's malloc.  (But emacs is probably the
> >>>>>>only such application in the distro.)
> >>>>>
> >>>>>Given that the only programs which seem to be *practically* affected
> >>>>>by this is our Emacs, and Firefox/Thunderbird/etc. (which we don't
> >>>>>have yet), and using G_SLICE=always-malloc apparently affects
> >>>>>performance, I don't think that would be an appropriate solution.
> >>>>>
> >>>>>For now, I think you'll have to add a wrapper script.
> >>>>
> >>>>Can anybody of you explain to me what the actual underlying problem is?
> >>>>I mean, why this error message:
> >>>>
> >>>>    ***MEMORY-ERROR***: [3044]: GSlice: failed to allocate 504 bytes
> >>>>    (alignment: 512): Function not implemented
> >>>>
> >>>>What function is not implemented?  Is that something we can fix,
> >>>>perhaps in the Cygwin DLL?
> >>>
> >>>It's memalign, or at least that's what it was in 2007.  See
> >>>
> >>>   http://cygwin.com/ml/cygwin/2007-02/msg00678.html
> >>
> >>So it's using its own malloc but we don't support overriding other
> >>functions besides malloc/realloc/calloc/free.
> >>
> >>In theory we could do that in future.  We still have room for 10 (x86)
> >>resp. 12 (x86_64) pointers in the per_process structure, which could be
> >>used for this purpose.  This would only require applications which need
> >>this feature to be rebuilt with the next Cygwin version providing these
> >>pointers.
> >
> >More precisely, they have to be rebuild using crt0.o from the next
> >Cygwin release, and they would have to run under the next Cygwin
> >release.  If you omit one step, you're back to the current behaviour.
> >
> >>But we shouldn't waste those unused slots either, so the number of
> >>overridable functions should be kept small.  In theory we have mallopt,
> >>mallinfo, posix_memalign, memalign, and valloc.
> >>
> >>I guess we can skip mallopt and mallinfo since they are pretty
> >>seldomly used in user-provided malloc implementations.
> >>
> >>Memalign is an old, deprecated function, so I wonder why it's used at
> >>all.  GSlice should use posix_memalign instead.  Yaakov, is there an
> >>option to use posix_memalign rather than memalign?
> 
> I just checked the glib source, and it does use posix_memalign if
> it's available.  I was quoting a 2007 discussion when I said it was
> memalign that GSlice wanted to use.

Given that, we should perhaps skip the memalign override.

> >>Anyway, that would be three extra pointers in the per_process structure,
> >>for memalig, posic_memalign, and valloc, and we could get rid of the `if
> >>(!use_internal) set_errno(ENOSYS);' in those functions and rather call
> >>the user provided functions then.
> >>
> >>Does that make sense?
> 
> Yes.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

  reply	other threads:[~2013-08-14 10:53 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <520A01DF.1040208@alice.it>
2013-08-13 12:08 ` Angelo Graziosi
2013-08-13 14:13   ` Ken Brown
2013-08-13 14:30     ` Ken Brown
2013-08-13 18:09     ` Yaakov (Cygwin/X)
2013-08-13 18:26       ` Corinna Vinschen
2013-08-13 22:00         ` Ken Brown
2013-08-14  8:10           ` Corinna Vinschen
2013-08-14  9:17             ` Corinna Vinschen
2013-08-14 10:28               ` Ken Brown
2013-08-14 10:53                 ` Corinna Vinschen [this message]
2013-08-14 11:34                   ` Corinna Vinschen
2013-08-14 11:59                     ` Corinna Vinschen
2013-08-14 12:14                       ` Ken Brown
2013-08-14 15:55                         ` Ken Brown
2013-08-14 19:00                           ` Corinna Vinschen
2013-08-14 12:28                       ` Ryan Johnson
2013-08-14 14:05                         ` Corinna Vinschen
2013-08-14 14:55                           ` Corinna Vinschen
2013-08-13 19:26       ` Charles Wilson
2013-08-13 14:46   ` Angelo Graziosi
2013-08-14 19:59     ` Angelo Graziosi
2013-08-12 19:38 Yaakov (Cygwin/X)
2013-08-24  0:30 ` Enrico Forestieri

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=20130814105326.GF4315@calimero.vinschen.de \
    --to=corinna-cygwin@cygwin.com \
    --cc=cygwin-xfree@cygwin.com \
    /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.
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).