<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/compat/linux/linux_file.c, branch releng/7.3</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=releng%2F7.3</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=releng%2F7.3'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2009-03-18T21:51:02Z</updated>
<entry>
<title>MFC: Use shared vnode locks when invoking VOP_READDIR().</title>
<updated>2009-03-18T21:51:02Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2009-03-18T21:51:02Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=3d2672abd14ce268b457d4d32cdad4c710de2330'/>
<id>urn:sha1:3d2672abd14ce268b457d4d32cdad4c710de2330</id>
<content type='text'>
</content>
</entry>
<entry>
<title>MFC r188572:</title>
<updated>2009-03-04T20:26:39Z</updated>
<author>
<name>Alexander Leidinger</name>
<email>netchild@FreeBSD.org</email>
</author>
<published>2009-03-04T20:26:39Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=72bbd7fc0935ba6666ad00b63fd2f84ddbb34ddd'/>
<id>urn:sha1:72bbd7fc0935ba6666ad00b63fd2f84ddbb34ddd</id>
<content type='text'>
  Fix an edge-case of the linux readdir: We need the size of a linux dirent
  structure, not the size of a pointer to it.

  PR:		131099
  Submitted by:	Andreas Kies &lt;andikies@gmail.com&gt;
</content>
</entry>
<entry>
<title>Merge r182892 from head to stable/7, I had to manually</title>
<updated>2008-09-22T20:19:54Z</updated>
<author>
<name>Roman Divacky</name>
<email>rdivacky@FreeBSD.org</email>
</author>
<published>2008-09-22T20:19:54Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=32b487bbaecc25e4792018fbde8c167512081ef6'/>
<id>urn:sha1:32b487bbaecc25e4792018fbde8c167512081ef6</id>
<content type='text'>
change the code to include "thread" argument to the vn_lock()
which got removed in HEAD:

	Getdents requires padding with 2 bytes instead of 1 byte
	as with getdents64. The last byte is used for storing
	the d_type, add this to plain getdents case where it was
	missing before. Also change the code to use strlcpy instead
	of plain strcpy. This changes fix the getdents crash we
	had reports about (hl2 server etc.)

	PR:		kern/117010
	MFC after:	1 week
	Submitted by:	Dmitry Chagin (dchagin@)
	Tested by:	MITA Yoshio &lt;mita ee.t.u-tokyo.ac jp&gt;
	Approved by:	kib (mentor)
	Approved by:	re (kensmith)
</content>
</entry>
<entry>
<title>MFC: Kernel mode Network Lock Manager.</title>
<updated>2008-04-10T09:39:29Z</updated>
<author>
<name>Doug Rabson</name>
<email>dfr@FreeBSD.org</email>
</author>
<published>2008-04-10T09:39:29Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=6504a63300bf861c73e3148a86d41565a9fdf72c'/>
<id>urn:sha1:6504a63300bf861c73e3148a86d41565a9fdf72c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>MFC rev. 1.107:</title>
<updated>2008-01-03T12:40:55Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2008-01-03T12:40:55Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=92771f9d5298505190ff7846bcf57ce8df8d7e70'/>
<id>urn:sha1:92771f9d5298505190ff7846bcf57ce8df8d7e70</id>
<content type='text'>
Plug the leaks in the present implementation of the linux_openat().

Approved by:	re (kensmith)
</content>
</entry>
<entry>
<title>Don't add the 'pad' argument to the mmap/truncate/etc syscalls.</title>
<updated>2007-07-04T23:06:43Z</updated>
<author>
<name>Peter Wemm</name>
<email>peter@FreeBSD.org</email>
</author>
<published>2007-07-04T23:06:43Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=79d5bdcca56c2af5a283e608e763a540c4f9e57a'/>
<id>urn:sha1:79d5bdcca56c2af5a283e608e763a540c4f9e57a</id>
<content type='text'>
Submitted by: kensmith
Approved by: re (kensmith)
</content>
</entry>
<entry>
<title>Ensure that newpath is always initialized, even for the error case.</title>
<updated>2007-06-10T04:37:22Z</updated>
<author>
<name>Matt Jacob</name>
<email>mjacob@FreeBSD.org</email>
</author>
<published>2007-06-10T04:37:22Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=2ba956ed135012e994d180b8ced6ba30bf778d98'/>
<id>urn:sha1:2ba956ed135012e994d180b8ced6ba30bf778d98</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Replace custom file descriptor array sleep lock constructed using a mutex</title>
<updated>2007-04-04T09:11:34Z</updated>
<author>
<name>Robert Watson</name>
<email>rwatson@FreeBSD.org</email>
</author>
<published>2007-04-04T09:11:34Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=5e3f7694b189584ae30219566fcc6c4c3d059305'/>
<id>urn:sha1:5e3f7694b189584ae30219566fcc6c4c3d059305</id>
<content type='text'>
and flags with an sxlock.  This leads to a significant and measurable
performance improvement as a result of access to shared locking for
frequent lookup operations, reduced general overhead, and reduced overhead
in the event of contention.  All of these are imported for threaded
applications where simultaneous access to a shared file descriptor array
occurs frequently.  Kris has reported 2x-4x transaction rate improvements
on 8-core MySQL benchmarks; smaller improvements can be expected for many
workloads as a result of reduced overhead.

- Generally eliminate the distinction between "fast" and regular
  acquisisition of the filedesc lock; the plan is that they will now all
  be fast.  Change all locking instances to either shared or exclusive
  locks.

- Correct a bug (pointed out by kib) in fdfree() where previously msleep()
  was called without the mutex held; sx_sleep() is now always called with
  the sxlock held exclusively.

- Universally hold the struct file lock over changes to struct file,
  rather than the filedesc lock or no lock.  Always update the f_ops
  field last. A further memory barrier is required here in the future
  (discussed with jhb).

- Improve locking and reference management in linux_at(), which fails to
  properly acquire vnode references before using vnode pointers.  Annotate
  improper use of vn_fullpath(), which will be replaced at a future date.

In fcntl(), we conservatively acquire an exclusive lock, even though in
some cases a shared lock may be sufficient, which should be revisited.
The dropping of the filedesc lock in fdgrowtable() is no longer required
as the sxlock can be held over the sleep operation; we should consider
removing that (pointed out by attilio).

Tested by:	kris
Discussed with:	jhb, kris, attilio, jeff
</content>
</entry>
<entry>
<title>Implement the openat() linux syscall</title>
<updated>2007-03-29T02:11:46Z</updated>
<author>
<name>Julian Elischer</name>
<email>julian@FreeBSD.org</email>
</author>
<published>2007-03-29T02:11:46Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=6734f35eac4b543a3ac4cef46102585e2d229c7a'/>
<id>urn:sha1:6734f35eac4b543a3ac4cef46102585e2d229c7a</id>
<content type='text'>
Submitted by:	Roman Divacky (rdivacky@)
MFC after:	2 weeks
</content>
</entry>
<entry>
<title>Add support for LINUX_O_DIRECT, LINUX_O_DIRECT and LINUX_O_NOFOLLOW flags</title>
<updated>2007-01-18T09:32:08Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2007-01-18T09:32:08Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=4349c6ba298bcc2e4f4ee1c1c0e64f0bf2a0f226'/>
<id>urn:sha1:4349c6ba298bcc2e4f4ee1c1c0e64f0bf2a0f226</id>
<content type='text'>
to open() [1].
Improve locking for accessing session control structures [2].
Try to document (most likely harmless) races in the code [3].

Based on submission by:	Intron (intron at intron ac) [1]
Reviewed by:		jhb [2]
Discussed with:		netchild, rwatson, jhb [3]
</content>
</entry>
</feed>
