Re: GNU/Hurd portability patches

From: Samuel Thibault <samuel(dot)thibault(at)gnu(dot)org>
To: Michael Banck <mbanck(at)gmx(dot)net>
Cc: Thomas Munro <thomas(dot)munro(at)gmail(dot)com>, Alexander Lakhin <exclusion(at)gmail(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Michael Paquier <michael(at)paquier(dot)xyz>, pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: GNU/Hurd portability patches
Date: 2025-11-17 23:31:43
Message-ID: aRuwX88mdP8tfuvi@end
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hello,

On Mon, Nov 17, 2025 at 03:59:30PM +1300, Thomas Munro wrote:
> On Tue, Nov 11, 2025 at 10:49 AM Michael Banck <mbanck(at)gmx(dot)net> wrote:
> > |login: task ./test_signalhandler(767) looked up a bogus port 23 for3205, most probably a bug.
>
> . o O { An absurdly far-fetched thought while browsing glibc/hurd glue
> code: if synchronous I/O is implemented as RPC on Mach ports, could
> that mean that it's technically possible to submit now and consume
> results later, for asynchronous I/O?

Yes, it is completely possible.

> Possibly too private/undocumented anyway,

It's not really documented much, but it's completely public. One
can include <hurd/io_request.h> and call e.g. io_read_request(port,
reply_port, offset, amount). One then has to run a msgserver loop on the
reply_port to get the reply messages. An example can be seen in the hurd
source in trans/streamio.c, for e.g. device_open_request() calls.

> I idly wondered about driving I/O directly with ports
> while studying the dismal implementation of POSIX AIO on macOS, which
> also derives from CMU Mach, but NeXT/Apple jammed file systems down
> into the unikernel part behind traditional syscalls, and it looks like
> maybe only raw devices are accessible with ports.

On MacOS, probably indeed. But GNU/Hurd POSIX files are represent as
mach port too so the usual MIG asynchronous mechanism is available.

Samuel

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Paquier 2025-11-17 23:35:00 Re: Extended Statistics set/restore/clear functions.
Previous Message Michael Paquier 2025-11-17 23:31:41 Re: make -C src/test/isolation failure in index-killtuples due to btree_gist