Skip to content

Commit

Permalink
[PATCH] Add support for the sys_vmsplice syscall
Browse files Browse the repository at this point in the history
sys_splice() moves data to/from pipes with a file input/output. sys_vmsplice()
moves data to a pipe, with the input being a user address range instead.

This uses an approach suggested by Linus, where we can hold partial ranges
inside the pages[] map. Hopefully this will be useful for network
receive support as well.

Signed-off-by: Jens Axboe <axboe@suse.de>
  • Loading branch information
Jens Axboe committed Apr 26, 2006
1 parent 016b661 commit 912d35f
Show file tree
Hide file tree
Showing 9 changed files with 268 additions and 43 deletions.
1 change: 1 addition & 0 deletions arch/ia64/kernel/entry.S
Original file line number Diff line number Diff line change
Expand Up @@ -1610,5 +1610,6 @@ sys_call_table:
data8 sys_get_robust_list
data8 sys_sync_file_range // 1300
data8 sys_tee
data8 sys_vmsplice

.org sys_call_table + 8*NR_syscalls // guard against failures to increase NR_syscalls
1 change: 1 addition & 0 deletions arch/powerpc/kernel/systbl.S
Original file line number Diff line number Diff line change
Expand Up @@ -324,6 +324,7 @@ COMPAT_SYS(ppoll)
SYSCALL(unshare)
SYSCALL(splice)
SYSCALL(tee)
SYSCALL(vmsplice)

/*
* please add new calls to arch/powerpc/platforms/cell/spu_callbacks.c
Expand Down
1 change: 1 addition & 0 deletions arch/powerpc/platforms/cell/spu_callbacks.c
Original file line number Diff line number Diff line change
Expand Up @@ -318,6 +318,7 @@ void *spu_syscall_table[] = {
[__NR_unshare] sys_unshare,
[__NR_splice] sys_splice,
[__NR_tee] sys_tee,
[__NR_vmsplice] sys_vmsplice,
};

long spu_sys_callback(struct spu_syscall_block *s)
Expand Down
Loading

0 comments on commit 912d35f

Please sign in to comment.