User: Password:
Subscribe / Log in / New account

The tricky part...

The tricky part...

Posted Apr 27, 2006 16:33 UTC (Thu) by axboe (subscriber, #904)
In reply to: How does this differ from aio_write? by kingdon
Parent article: The splice() weekly news

isn't so much how to notify reusability, but rather when to determine the safety of doing so. We still need to change a bit of infrastructure for this - eg, get rid of ->sendpage() and actually pass the pipe_inode_info down for network transmit and only have it do the ->release on the buffers when they have been sent out. The issue right now is that the ->release is done as soon as we pass the page to the network stack, which is too soon of course.

(Log in to post comments)

What does vmsplice() add?

Posted Apr 28, 2006 2:17 UTC (Fri) by xoddam (subscriber, #2322) [Link]

Determining completion is indeed tricky, especially where remote hosts
are involved. But there are already two good choices for the interface:
write() blocks until the buffer may be reused by the application,
aio_write() instead posts a notification. What does vmsplice() add?

(Changing to a vector operation changes the names of the functions, but
not the nature of the question).

What does vmsplice() add?

Posted Apr 28, 2006 4:21 UTC (Fri) by axboe (subscriber, #904) [Link]

Blocking on the next vmsplice comes automatically, since you can't replace buffers that haven't been ->release'd yet. So that's how it already works. As I said, the missing bit is getting the release right.

Copyright © 2018, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds