<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/fs/read_write.c, branch v2.6.23</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=v2.6.23</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v2.6.23'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2007-07-10T06:04:15Z</updated>
<entry>
<title>Remove remnants of sendfile()</title>
<updated>2007-07-10T06:04:15Z</updated>
<author>
<name>Jens Axboe</name>
<email>jens.axboe@oracle.com</email>
</author>
<published>2007-06-11T10:18:52Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=d96e6e71647846e0dab097efd9b8bf3a3a556dca'/>
<id>urn:sha1:d96e6e71647846e0dab097efd9b8bf3a3a556dca</id>
<content type='text'>
There are now zero users of .sendfile() in the kernel, so kill
it from the file_operations structure and in do_sendfile().

Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</content>
</entry>
<entry>
<title>splice: divorce the splice structure/function definitions from the pipe header</title>
<updated>2007-07-10T06:04:14Z</updated>
<author>
<name>Jens Axboe</name>
<email>jens.axboe@oracle.com</email>
</author>
<published>2007-06-04T07:59:47Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=d6b29d7cee064f28ca097e906de7453541351095'/>
<id>urn:sha1:d6b29d7cee064f28ca097e906de7453541351095</id>
<content type='text'>
We need to move even more stuff into the header so that folks can use
the splice_to_pipe() implementation instead of open-coding a lot of
pipe knowledge (see relay implementation), so move to our own header
file finally.

Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</content>
</entry>
<entry>
<title>sys_sendfile: switch to using -&gt;splice_read, if available</title>
<updated>2007-07-10T06:04:12Z</updated>
<author>
<name>Jens Axboe</name>
<email>jens.axboe@oracle.com</email>
</author>
<published>2007-06-01T12:52:37Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=534f2aaa6ab07cd71164180bc958a7dcde41db11'/>
<id>urn:sha1:534f2aaa6ab07cd71164180bc958a7dcde41db11</id>
<content type='text'>
This patch makes sendfile prefer to use -&gt;splice_read(), if it's
available in the file_operations structure.

Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</content>
</entry>
<entry>
<title>use use SEEK_MAX to validate user lseek arguments</title>
<updated>2007-05-08T18:14:59Z</updated>
<author>
<name>Chris Snook</name>
<email>csnook@redhat.com</email>
</author>
<published>2007-05-08T07:24:15Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=1ae7075bcd805c3aa5e8f53effc63a4562d6110e'/>
<id>urn:sha1:1ae7075bcd805c3aa5e8f53effc63a4562d6110e</id>
<content type='text'>
Add SEEK_MAX and use it to validate lseek arguments from userspace.

Signed-off-by: Chris Snook &lt;csnook@redhat.com&gt;
Acked-by: David Howells &lt;dhowells@redhat.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>use symbolic constants in generic lseek code</title>
<updated>2007-05-08T18:14:59Z</updated>
<author>
<name>Chris Snook</name>
<email>csnook@redhat.com</email>
</author>
<published>2007-05-08T07:24:13Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=7b8e89249ba54fb6e12358bbed7e3070fa1d1e6a'/>
<id>urn:sha1:7b8e89249ba54fb6e12358bbed7e3070fa1d1e6a</id>
<content type='text'>
Convert magic numbers to SEEK_* values from fs.h

Signed-off-by: Chris Snook &lt;csnook@redhat.com&gt;
Acked-by: David Howells &lt;dhowells@redhat.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] FS: speed up rw_verify_area()</title>
<updated>2007-02-12T17:48:29Z</updated>
<author>
<name>Eric Dumazet</name>
<email>dada1@cosmosbay.com</email>
</author>
<published>2007-02-12T08:52:24Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=163da958ba5282cbf85e8b3dc08e4f51f8b01c5e'/>
<id>urn:sha1:163da958ba5282cbf85e8b3dc08e4f51f8b01c5e</id>
<content type='text'>
oprofile hunting showed a stall in rw_verify_area(), because of triple
indirection and potential cache misses.
(file-&gt;f_path.dentry-&gt;d_inode-&gt;i_flock)

By moving initialization of 'struct inode' pointer before the pos/count
sanity tests, we allow the compiler and processor to perform two loads by
anticipation, reducing stall, without prefetch() hints.  Even x86 arch has
enough registers to not use temporary variables and not increase text size.

I validated this patch running a bench and studied oprofile changes, and
absolute perf of the test program.

Results of my epoll_pipe_bench (source available on request) on a Pentium-M
1.6 GHz machine

Before :
# ./epoll_pipe_bench -l 30 -t 20
Avg: 436089 evts/sec read_count=8843037 write_count=8843040 21.218390 samples
per call
(best value out of 10 runs)

After :
# ./epoll_pipe_bench -l 30 -t 20
Avg: 470980 evts/sec read_count=9549871 write_count=9549894 21.216694 samples
per call
(best value out of 10 runs)

oprofile CPU_CLK_UNHALTED events gave a reduction from 5.3401 % to 2.5851 %
for the rw_verify_area() function.

Signed-off-by: Eric Dumazet &lt;dada1@cosmosbay.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] ifdef -&gt;rchar, -&gt;wchar, -&gt;syscr, -&gt;syscw from task_struct</title>
<updated>2007-02-11T19:18:07Z</updated>
<author>
<name>Alexey Dobriyan</name>
<email>adobriyan@gmail.com</email>
</author>
<published>2007-02-10T09:46:45Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=4b98d11b40f03382918796f3c5c936d5495d20a4'/>
<id>urn:sha1:4b98d11b40f03382918796f3c5c936d5495d20a4</id>
<content type='text'>
They are fat: 4x8 bytes in task_struct.
They are uncoditionally updated in every fork, read, write and sendfile.
They are used only if you have some "extended acct fields feature".

And please, please, please, read(2) knows about bytes, not characters,
why it is called "rchar"?

Signed-off-by: Alexey Dobriyan &lt;adobriyan@gmail.com&gt;
Cc: Jay Lan &lt;jlan@engr.sgi.com&gt;
Cc: Balbir Singh &lt;balbir@in.ibm.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] one more EXPORT_UNUSED_SYMBOL removal</title>
<updated>2006-12-13T17:05:53Z</updated>
<author>
<name>Adrian Bunk</name>
<email>bunk@stusta.de</email>
</author>
<published>2006-12-13T08:35:16Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=029530f810dd5147f7e59b939eb22cfbe0beea12'/>
<id>urn:sha1:029530f810dd5147f7e59b939eb22cfbe0beea12</id>
<content type='text'>
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] VFS: change struct file to use struct path</title>
<updated>2006-12-08T16:28:41Z</updated>
<author>
<name>Josef "Jeff" Sipek</name>
<email>jsipek@cs.sunysb.edu</email>
</author>
<published>2006-12-08T10:36:35Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=0f7fc9e4d03987fe29f6dd4aa67e4c56eb7ecb05'/>
<id>urn:sha1:0f7fc9e4d03987fe29f6dd4aa67e4c56eb7ecb05</id>
<content type='text'>
This patch changes struct file to use struct path instead of having
independent pointers to struct dentry and struct vfsmount, and converts all
users of f_{dentry,vfsmnt} in fs/ to use f_path.{dentry,mnt}.

Additionally, it adds two #define's to make the transition easier for users of
the f_dentry and f_vfsmnt.

Signed-off-by: Josef "Jeff" Sipek &lt;jsipek@cs.sunysb.edu&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] Add vector AIO support</title>
<updated>2006-10-01T07:39:29Z</updated>
<author>
<name>Badari Pulavarty</name>
<email>pbadari@us.ibm.com</email>
</author>
<published>2006-10-01T06:28:49Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=eed4e51fb60c3863c134a5e9f6006b29805ead97'/>
<id>urn:sha1:eed4e51fb60c3863c134a5e9f6006b29805ead97</id>
<content type='text'>
This work is initially done by Zach Brown to add support for vectored aio.
These are the core changes for AIO to support
IOCB_CMD_PREADV/IOCB_CMD_PWRITEV.

[akpm@osdl.org: huge build fix]
Signed-off-by: Zach Brown &lt;zach.brown@oracle.com&gt;
Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Badari Pulavarty &lt;pbadari@us.ibm.com&gt;
Acked-by: Benjamin LaHaise &lt;bcrl@kvack.org&gt;
Acked-by: James Morris &lt;jmorris@namei.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
</feed>
