9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* [9fans] sendfile interface
@ 2003-02-19 22:32 Roman V. Shaposhnick
  2003-02-24  3:50 ` Roman V. Shaposhnick
  0 siblings, 1 reply; 4+ messages in thread
From: Roman V. Shaposhnick @ 2003-02-19 22:32 UTC (permalink / raw)
  To: 9fans

While studying how Linux implements sendfile(2), I couldn't help
but notice, that it is yet another hack a'la mmap. "There must
be a better way to do that" I though at the moment.

Now, I imagine, that for Plan9 there should be no problem telling
kernel that one Chan should server as an "alias", or proxy if you
will, for another one. By doing that, it should be possible to
eliminate the whole "copy to userland buffer; copy back to kernel"
routine and it could be even possible to utilize hardware
scattered-write. How easy it will be for network connections ? Or may
be I'm stretching my imagination too far, and there's no really
a better way to do it. Please comment.

Thanks,
Roman.


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [9fans] sendfile interface
  2003-02-19 22:32 [9fans] sendfile interface Roman V. Shaposhnick
@ 2003-02-24  3:50 ` Roman V. Shaposhnick
  2003-02-24  3:56   ` rob pike, esq.
  2003-02-24  4:03   ` Russ Cox
  0 siblings, 2 replies; 4+ messages in thread
From: Roman V. Shaposhnick @ 2003-02-24  3:50 UTC (permalink / raw)
  To: 9fans

Wow! No reply whatsoever :-( Does it mean that it's completely impossible
to make sense out of scattered-read hardware (like some network cards
for example) under Plan9 ?

I understand that performance could be sacrificed for clarity, but was
it the case here ?

Thanks,
Roman.

On Thu, Feb 20, 2003 at 01:32:04AM +0300, Roman V. Shaposhnick wrote:
> While studying how Linux implements sendfile(2), I couldn't help
> but notice, that it is yet another hack a'la mmap. "There must
> be a better way to do that" I though at the moment.
>
> Now, I imagine, that for Plan9 there should be no problem telling
> kernel that one Chan should server as an "alias", or proxy if you
> will, for another one. By doing that, it should be possible to
> eliminate the whole "copy to userland buffer; copy back to kernel"
> routine and it could be even possible to utilize hardware
> scattered-write. How easy it will be for network connections ? Or may
> be I'm stretching my imagination too far, and there's no really
> a better way to do it. Please comment.
>
> Thanks,
> Roman.


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [9fans] sendfile interface
  2003-02-24  3:50 ` Roman V. Shaposhnick
@ 2003-02-24  3:56   ` rob pike, esq.
  2003-02-24  4:03   ` Russ Cox
  1 sibling, 0 replies; 4+ messages in thread
From: rob pike, esq. @ 2003-02-24  3:56 UTC (permalink / raw)
  To: 9fans

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

Not quite what you are after, but we put readv and writev into the
library as a step towards putting them into the kernel interface.  The
notion was to permit scatter-gather I/O in user space by connecting
the segments of the I/O request into blocks (Blocks) rather than
copying them several times assembling them into blocks.  This would
also improve the implementation of devmnt.  I'm not sure how much work
has been done in that direction since that first tentative step.

-rob

[-- Attachment #2: Type: message/rfc822, Size: 2837 bytes --]

From: "Roman V. Shaposhnick" <vugluskr@unicorn.math.spbu.ru>
To: 9fans@cse.psu.edu
Subject: Re: [9fans] sendfile interface
Date: Mon, 24 Feb 2003 06:50:45 +0300
Message-ID: <20030224065045.A5493@unicorn.math.spbu.ru>

Wow! No reply whatsoever :-( Does it mean that it's completely impossible
to make sense out of scattered-read hardware (like some network cards
for example) under Plan9 ?

I understand that performance could be sacrificed for clarity, but was
it the case here ?

Thanks,
Roman.

On Thu, Feb 20, 2003 at 01:32:04AM +0300, Roman V. Shaposhnick wrote:
> While studying how Linux implements sendfile(2), I couldn't help
> but notice, that it is yet another hack a'la mmap. "There must
> be a better way to do that" I though at the moment.
>
> Now, I imagine, that for Plan9 there should be no problem telling
> kernel that one Chan should server as an "alias", or proxy if you
> will, for another one. By doing that, it should be possible to
> eliminate the whole "copy to userland buffer; copy back to kernel"
> routine and it could be even possible to utilize hardware
> scattered-write. How easy it will be for network connections ? Or may
> be I'm stretching my imagination too far, and there's no really
> a better way to do it. Please comment.
>
> Thanks,
> Roman.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [9fans] sendfile interface
  2003-02-24  3:50 ` Roman V. Shaposhnick
  2003-02-24  3:56   ` rob pike, esq.
@ 2003-02-24  4:03   ` Russ Cox
  1 sibling, 0 replies; 4+ messages in thread
From: Russ Cox @ 2003-02-24  4:03 UTC (permalink / raw)
  To: 9fans

It would be trivial to write a zero-copy system call

	int	syscopy(int from, int to, int n);

About ten lines of code, if it were really necessary.
It's a good exercise.

Russ



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2003-02-24  4:03 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-02-19 22:32 [9fans] sendfile interface Roman V. Shaposhnick
2003-02-24  3:50 ` Roman V. Shaposhnick
2003-02-24  3:56   ` rob pike, esq.
2003-02-24  4:03   ` Russ Cox

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 NNTP newsgroup(s).