From: "Gerd Möllmann" <gerd.moellmann@gmail.com>
To: Ken Brown <kbrown@cornell.edu>
Cc: 74805@debbugs.gnu.org, Eli Zaretskii <eliz@gnu.org>,
Pip Cet <pipcet@protonmail.com>,
rb@ravenbrook.com
Subject: bug#74805: 30.0.92; Trying to build scratch/igc on Cygwin
Date: Sat, 21 Dec 2024 18:21:53 +0100 [thread overview]
Message-ID: <m2ed21j6j2.fsf@gmail.com> (raw)
In-Reply-To: <f23f27ad-febe-49cb-a277-ed5e4836a6ea@cornell.edu> (Ken Brown's message of "Sat, 21 Dec 2024 11:56:30 -0500")
Ken Brown <kbrown@cornell.edu> writes:
> On 12/21/2024 2:24 AM, Eli Zaretskii wrote:
>>> Date: Fri, 20 Dec 2024 18:48:37 -0500
>>> Cc: 74805@debbugs.gnu.org, Richard Brooksby <rb@ravenbrook.com>
>>> From: Ken Brown <kbrown@cornell.edu>
>>> 3. The "mmap" branch is a straightforward port, mostly imitating the
>>> FreeBSD port. It currently (with Cygwin 3.5.5) fails because of a
>>> limitation of Cygwin's mmap. But I have a simple patch to Cygwin in the
>>> works that removes that limitation. With that patch, 37 of the 38 MPS
>>> tests pass. I still need to debug the failing test. I'm cautiously
>>> optimistic that I can get this approach to work. Either way, I expect
>>> the Cygwin patch to soon be available in a test release of Cygwin 3.6.0
>>> so that other Cygwin users can try it.
>> Thanks for the update, I think this is very good news.
>
> I could use some help from the MPS experts in debugging the failing
> test, which is arenacv. I ran the test under strace and didn't see
> any mmap or munmap failures. I'm attaching the test log, which
> doesn't mean a thing to me. I also built an unoptimized arenacv and
> can run it under gdb if someone tells me what to look for.
>
> TIA.
>
> Ken
Hi Ken.
I'm not an MPS internals expert, but AFAICT, this likely comes from here
in arenacv.c, but without being able to debug this, I find it hard to
tell what's going on in the allocator->alloc.
static void testAllocAndIterate(Arena arena, Pool pool,
Size pageSize, Count numPerPage,
AllocatorClass allocator)
{
AllocInfoStruct offsetRegion, gapRegion, newRegion, topRegion;
LocusPrefStruct pref;
Count offset, gap, new;
ZoneSet zone = (ZoneSet)2;
int i;
LocusPrefInit(&pref);
/* Testing the behaviour with various sizes of gaps in the page table. */
/* Assume the allocation strategy is first-fit. The idea of the tests is */
/* to allocate a region of memory, then deallocate a gap in the middle, */
/* then allocate a new region that fits in the gap with various amounts */
/* left over. Like this: */
/* |-offsetRegion-||----gapRegion----||-topRegion-| */
/* |-offsetRegion-||-newRegion-| |-topRegion-| */
/* This is done with three different sizes of offsetRegion, in two */
/* different zones to ensure that all page boundary cases are tested. */
for(i = 0; i < 2; ++i) { /* zone loop */
for(offset = 0; offset <= 2*numPerPage; offset += numPerPage) {
if(offset != 0)
die(allocator->alloc(&offsetRegion, &pref, offset * pageSize, pool),
"offsetRegion");
for(gap = numPerPage+1; gap <= 3 * (numPerPage+1);
gap += (numPerPage+1)) {
die(allocator->alloc(&gapRegion, &pref, gap * pageSize, pool),
^^^^^^^^^^^^^^^^
"gapRegion");
next prev parent reply other threads:[~2024-12-21 17:21 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-12-11 22:50 bug#74805: 30.0.92; Trying to build scratch/igc on Cygwin Ken Brown
2024-12-11 23:47 ` Pip Cet via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-12 18:14 ` Ken Brown
2024-12-11 23:57 ` Andrea Corallo
2024-12-12 6:09 ` Eli Zaretskii
2024-12-12 18:12 ` Ken Brown
2024-12-12 19:25 ` Eli Zaretskii
2024-12-12 23:17 ` Stefan Kangas
2024-12-13 7:51 ` Eli Zaretskii
2024-12-20 23:48 ` Ken Brown
2024-12-21 7:24 ` Eli Zaretskii
2024-12-21 16:56 ` Ken Brown
2024-12-21 17:21 ` Gerd Möllmann [this message]
2024-12-21 17:34 ` Pip Cet via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-21 20:25 ` Ken Brown
2024-12-22 8:24 ` Richard Brooksby
2024-12-22 8:32 ` Richard Brooksby
2024-12-12 11:05 ` Stefan Kangas
2024-12-12 11:30 ` Eli Zaretskii
2024-12-12 12:06 ` Gerd Möllmann
2024-12-12 14:38 ` Eli Zaretskii
2024-12-12 15:01 ` Gerd Möllmann
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=m2ed21j6j2.fsf@gmail.com \
--to=gerd.moellmann@gmail.com \
--cc=74805@debbugs.gnu.org \
--cc=eliz@gnu.org \
--cc=kbrown@cornell.edu \
--cc=pipcet@protonmail.com \
--cc=rb@ravenbrook.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.
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).