source: trunk/server/docs/manpages/vfs_aio_pthread.8

Last change on this file was 862, checked in by Silvan Scherrer, 11 years ago

Samba Server: update trunk to 3.6.23

File size: 3.8 KB
Line 
1'\" t
2.\" Title: vfs_aio_pthread
3.\" Author: [see the "AUTHOR" section]
4.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
5.\" Date: 09/18/2013
6.\" Manual: System Administration tools
7.\" Source: Samba 3.6
8.\" Language: English
9.\"
10.TH "VFS_AIO_PTHREAD" "8" "09/18/2013" "Samba 3\&.6" "System Administration tools"
11.\" -----------------------------------------------------------------
12.\" * Define some portability stuff
13.\" -----------------------------------------------------------------
14.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
15.\" http://bugs.debian.org/507673
16.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
17.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
18.ie \n(.g .ds Aq \(aq
19.el .ds Aq '
20.\" -----------------------------------------------------------------
21.\" * set default formatting
22.\" -----------------------------------------------------------------
23.\" disable hyphenation
24.nh
25.\" disable justification (adjust text to left margin only)
26.ad l
27.\" -----------------------------------------------------------------
28.\" * MAIN CONTENT STARTS HERE *
29.\" -----------------------------------------------------------------
30.SH "NAME"
31vfs_aio_pthread \- implement async I/O in Samba vfs using a pthread pool
32.SH "SYNOPSIS"
33.HP \w'\ 'u
34vfs objects = aio_pthread
35.SH "DESCRIPTION"
36.PP
37This VFS module is part of the
38\fBsamba\fR(7)
39suite\&.
40.PP
41The
42aio_pthread
43VFS module enables asynchronous I/O for Samba on platforms which have the pthreads API available, without using the Posix AIO interface\&. Posix AIO can suffer from severe limitations\&. For example, on some Linux versions the real\-time signals that it uses are broken under heavy load\&. Other systems only allow AIO when special kernel modules are loaded or only allow a certain system\-wide amount of async requests being scheduled\&. Systems based on glibc (most Linux systems) only allow a single outstanding request per file descriptor which essentially makes Posix AIO useless on systems using the glibc implementation\&.
44.PP
45To work around all these limitations, the aio_pthread module was written\&. It uses a pthread pool instead of the internal Posix AIO interface to allow read and write calls to be process asynchronously\&. A pthread pool is created which expands dynamically by creating new threads as work is given to it to a maximum of 100 threads per smbd process\&. To change this limit see the "aio num threads" parameter below\&. New threads are not created if idle threads are available when a new read or write request is received, the new work is given to an existing idle thread\&. Threads terminate themselves if idle for one second\&.
46.PP
47Note that the smb\&.conf parameters
48aio read size
49and
50aio write size
51must also be set appropriately for this module to be active\&.
52.PP
53This module MUST be listed last in any module stack as the Samba VFS pread/pwrite interface is not thread\-safe\&. This module makes direct pread and pwrite system calls and does NOT call the Samba VFS pread and pwrite interfaces\&.
54.SH "EXAMPLES"
55.PP
56Straight forward use:
57.sp
58.if n \{\
59.RS 4
60.\}
61.nf
62 \fI[cooldata]\fR
63 \m[blue]\fBpath = /data/ice\fR\m[]
64 \m[blue]\fBaio read size = 1024\fR\m[]
65 \m[blue]\fBaio write size = 1024\fR\m[]
66 \m[blue]\fBvfs objects = aio_pthread\fR\m[]
67.fi
68.if n \{\
69.RE
70.\}
71.SH "OPTIONS"
72.PP
73aio_pthread:aio num threads = INTEGER
74.RS 4
75Limit the maximum number of threads per smbd that will be created in the thread pool to service IO requests\&.
76.sp
77By default this is set to 100\&.
78.RE
79.SH "VERSION"
80.PP
81This man page is correct for version 3\&.6\&.3 of the Samba suite\&.
82.SH "AUTHOR"
83.PP
84The original Samba software and related utilities were created by Andrew Tridgell\&. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed\&.
Note: See TracBrowser for help on using the repository browser.