From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.5 required=5.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI autolearn=ham autolearn_force=no version=3.4.4 Received: from minnie.tuhs.org (minnie.tuhs.org [50.116.15.146]) by inbox.vuxu.org (Postfix) with ESMTP id 598B1225B1 for ; Sun, 19 May 2024 04:27:18 +0200 (CEST) Received: from minnie.tuhs.org (localhost [IPv6:::1]) by minnie.tuhs.org (Postfix) with ESMTP id B801743AAB; Sun, 19 May 2024 12:27:14 +1000 (AEST) Received: from mail-lf1-x130.google.com (mail-lf1-x130.google.com [IPv6:2a00:1450:4864:20::130]) by minnie.tuhs.org (Postfix) with ESMTPS id EE33543AA8 for ; Sun, 19 May 2024 12:27:09 +1000 (AEST) Received: by mail-lf1-x130.google.com with SMTP id 2adb3069b0e04-523b20e2615so3852188e87.1 for ; Sat, 18 May 2024 19:27:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1716085627; x=1716690427; darn=tuhs.org; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=CcDpAiYdqwE3l11pj6OpxpUlFaLyk2ho5Un47WNJkVw=; b=V3gQNUoN5Fiovn38aAWNFdGTCp10OSePBi3TJeohIdd/ZEwPlk3gPFw9G91s9HVIVd cLEltFfsmMwPltg/DPY38e2diZqv+yFeoblQrXyyd0rDSIsvbBRDg6Qj5iecFGHznUVO JZxqx6DPyY9etfxNHtO4jSGEO5NRoD+hRBfyooK9Rv6DU9+B0pk3RGzYsrqXGgwJ+C+s nNyJ4hOMsF3o/4gkusQK9AE6iFITZsaKixbroRe+YVe+oubFfgZTOZUSXQQr9jZxuYzt Tg+rqqSQ9880zl6wrEpX0uy2Z0RsNLtVCvMzT/rVawruK+HM4VU8aWlmKn5ZYm8J8SWT cKOQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1716085627; x=1716690427; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=CcDpAiYdqwE3l11pj6OpxpUlFaLyk2ho5Un47WNJkVw=; b=Cn6fCAV9l3KjcNX2PBUjLT26eC8sKBfeNyZA77lIIq5WGbAuf4CTojsUp+dOViSzuq nHirWfnVyPvp+URbSQ/LJye6tJEjbFrHwrvh+OuRUWf72XxkA4aueUBEmkFMmjU3UM3o ydWmFIqi+KBTgY562lilsV2nCSWr9nO8kJ/Cl57MH1IdAUUX/vJhk0N4xrvQi2h2KYJH sCD6u0aeJNW37uv1bXo71PVB/fo2MEKg8mj1YCSkiS11PQgAdEqgy/SE26xchv6iG+o0 OHk3ZKyhiYp4aaZvP02S2URibsEqOqkX0aJELpDrcSej5xhxJYbhI8ZCVxys83j3Jc9d OByg== X-Gm-Message-State: AOJu0YyGV1j5fiWdD5I4E31TS6wDYq20L5EsU2kZxgxXb27yCCNe8atw QU6fTGu+l75c6cHjnWjJX0lvhptrFpb+zCmbwn5L475Dnja7yEEBtuPk2Qeba1neA96kX29JGCf fimDeujpt8BftVkmSc5BkdzMOM7GxsA== X-Google-Smtp-Source: AGHT+IE9tmlECeVLl3CRI6xG6ePZvkpzV5rob4IsSBEVQrqo8nptkBERJyeNZ1I0LCWZvwQrWxckIo2cIHsAIR0KHZA= X-Received: by 2002:a19:6454:0:b0:523:87b6:917d with SMTP id 2adb3069b0e04-52387b691d6mr7567798e87.69.1716085627330; Sat, 18 May 2024 19:27:07 -0700 (PDT) MIME-Version: 1.0 References: <20240514111032.2kotrrjjv772h5f4@illithid> <20240515164212.beswgy4h2nwvbdck@illithid> <8D556958-0C7F-43F3-8694-D7391E9D89DA@iitbombay.org> <20240519012114.GU9216@mcvoy.com> In-Reply-To: <20240519012114.GU9216@mcvoy.com> From: Andrew Warkentin Date: Sat, 18 May 2024 20:26:54 -0600 Message-ID: To: The Unix Heritage Society mailing list Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Message-ID-Hash: KNTI3VMCC5HSE57Z2PK3OEZV6BI7KE3K X-Message-ID-Hash: KNTI3VMCC5HSE57Z2PK3OEZV6BI7KE3K X-MailFrom: andreww591@gmail.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.6b1 Precedence: list Subject: [TUHS] Re: If forking is bad, how about buffering? List-Id: The Unix Heritage Society mailing list Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: On Sat, May 18, 2024 at 7:27=E2=80=AFPM Larry McVoy wrote: > > Do any micro kernels do address space to address space bcopy()? > QNX and some L4-like kernels copy directly between address spaces. QNX copies between readv()/writev()-style vectors of arbitrary length. L4-like kernels have different forms of direct copy; Pistachio supports copying between a collection of "strings" that are limited to 4M each. seL4 on the other hand is limited to a single page-sized fixed buffer for each thread (I've been working on an as-yet unnamed fork of it that supports QNX-like vectors for the OS I'm working on; I gave up on my previous plan to use async queues and intermediary buffers to support arbitrary-length messages in user space, since that was turning out to be rather ugly and would have had a high risk of priority inversion).