<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src-test2/sys/fs/devfs, branch release/7.0.0_cvs</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src-test2/atom?h=release%2F7.0.0_cvs</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src-test2/atom?h=release%2F7.0.0_cvs'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/'/>
<updated>2008-02-24T05:45:17Z</updated>
<entry>
<title>This commit was manufactured by cvs2svn to create tag</title>
<updated>2008-02-24T05:45:17Z</updated>
<author>
<name>cvs2svn</name>
<email>cvs2svn@FreeBSD.org</email>
</author>
<published>2008-02-24T05:45:17Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=a9c219fa3cec18ef9f30edec6fa106bf0e2d423d'/>
<id>urn:sha1:a9c219fa3cec18ef9f30edec6fa106bf0e2d423d</id>
<content type='text'>
'RELENG_7_0_0_RELEASE'.

This commit was manufactured to restore the state of the 7.0-RELEASE image.
</content>
</entry>
<entry>
<title>MFC: Lock the vnode interlock while reading v_usecount to update</title>
<updated>2008-01-12T00:13:33Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2008-01-12T00:13:33Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=b6b1755b576a395ccb97d571c8ab3bf1c6751b80'/>
<id>urn:sha1:b6b1755b576a395ccb97d571c8ab3bf1c6751b80</id>
<content type='text'>
si_usecount in a cdev in devfs_reclaim().

Approved by:	re (gnn)
</content>
</entry>
<entry>
<title>When we do open, we should lock the vnode exclusively. This fixes few races:</title>
<updated>2007-07-26T16:58:09Z</updated>
<author>
<name>Pawel Jakub Dawidek</name>
<email>pjd@FreeBSD.org</email>
</author>
<published>2007-07-26T16:58:09Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=57fd3d55726f8b31289751a498ed284b4ba20192'/>
<id>urn:sha1:57fd3d55726f8b31289751a498ed284b4ba20192</id>
<content type='text'>
- fifo race, where two threads assign v_fifoinfo,
- v_writecount modifications,
- v_object modifications,
- and probably more...

Discussed with:	kib, ups
Approved by:	re (rwatson)
</content>
</entry>
<entry>
<title>Since rev. 1.199 of sys/kern/kern_conf.c, the thread that calls</title>
<updated>2007-07-03T17:42:37Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2007-07-03T17:42:37Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=de10ffa527504dff12f2ba6e4b345dc719f71e6e'/>
<id>urn:sha1:de10ffa527504dff12f2ba6e4b345dc719f71e6e</id>
<content type='text'>
destroy_dev() from d_close() cdev method would self-deadlock.
devfs_close() bump device thread reference counter, and destroy_dev()
sleeps, waiting for si_threadcount to reach zero for cdev without
d_purge method.

destroy_dev_sched() could be used instead from d_close(), to
schedule execution of destroy_dev() in another context. The
destroy_dev_sched_drain() function can be used to drain the scheduled
calls to destroy_dev_sched(). Similarly, drain_dev_clone_events() drains
the events clone to make sure no lingering devices are left after
dev_clone event handler deregistered.

make_dev_credf(MAKEDEV_REF) function should be used from dev_clone
event handlers instead of make_dev()/make_dev_cred() to ensure that created
device has reference counter bumped before cdev mutex is dropped inside
make_dev().

Reviewed by:	tegge (early versions), njl (programming interface)
Debugging help and testing by:	Peter Holm
Approved by:	re (kensmith)
</content>
</entry>
<entry>
<title>Eliminate now-unused SUSER_ALLOWJAIL arguments to priv_check_cred(); in</title>
<updated>2007-06-12T00:12:01Z</updated>
<author>
<name>Robert Watson</name>
<email>rwatson@FreeBSD.org</email>
</author>
<published>2007-06-12T00:12:01Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=32f9753cfbfe844fa6c02c88c7ca96617e903d8e'/>
<id>urn:sha1:32f9753cfbfe844fa6c02c88c7ca96617e903d8e</id>
<content type='text'>
some cases, move to priv_check() if it was an operation on a thread and
no other flags were present.

Eliminate caller-side jail exception checking (also now-unused); jail
privilege exception code now goes solely in kern_jail.c.

We can't yet eliminate suser() due to some cases in the KAME code where
a privilege check is performed and then used in many different deferred
paths.  Do, however, move those prototypes to priv.h.

Reviewed by:	csjp
Obtained from:	TrustedBSD Project
</content>
</entry>
<entry>
<title>Revert UF_OPENING workaround for CURRENT.</title>
<updated>2007-05-31T11:51:53Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2007-05-31T11:51:53Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=9e223287c05be2947379d5b6fdf4c8f8882b38f5'/>
<id>urn:sha1:9e223287c05be2947379d5b6fdf4c8f8882b38f5</id>
<content type='text'>
Change the VOP_OPEN(), vn_open() vnode operation and d_fdopen() cdev operation
argument from being file descriptor index into the pointer to struct file.

Proposed and reviewed by:	jhb
Reviewed by:	daichi (unionfs)
Approved by:	re (kensmith)
</content>
</entry>
<entry>
<title>Rename mac*devfsdirent*() to mac*devfs*() to synchronize with SEDarwin,</title>
<updated>2007-04-23T13:36:54Z</updated>
<author>
<name>Robert Watson</name>
<email>rwatson@FreeBSD.org</email>
</author>
<published>2007-04-23T13:36:54Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=305759909e4d09b2016bcc57f650a09cee23955d'/>
<id>urn:sha1:305759909e4d09b2016bcc57f650a09cee23955d</id>
<content type='text'>
where similar data structures exist to support devfs and the MAC
Framework, but are named differently.

Obtained from:	TrustedBSD Project
Sponsored by:	SPARTA, Inc.
</content>
</entry>
<entry>
<title>In some cases, like whenever devfs file times are zero, the fix(aa) will not</title>
<updated>2007-04-20T01:47:05Z</updated>
<author>
<name>Tom Rhodes</name>
<email>trhodes@FreeBSD.org</email>
</author>
<published>2007-04-20T01:47:05Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=164554dec458d4fa3a36f3a1ab3cddae252b3f6f'/>
<id>urn:sha1:164554dec458d4fa3a36f3a1ab3cddae252b3f6f</id>
<content type='text'>
be applied to dev entries.  This leaves us with file times like "Jan 1 1970."
Work around this problem by replacing the tv_sec == 0 check with a
&lt;= 3600 check.  It's doubtful anyone will be booting within an hour of the
Epoch, let alone care about a few seconds worth of nonzero timestamps.  It's
a hackish work around, but it does work and I have not experienced any
negatives in my testing.

Discussed with:	bde
"Ok with me:	phk
</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-test2/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>Annotate that this giant acqusition is dependent on tty locking.</title>
<updated>2007-03-26T21:56:46Z</updated>
<author>
<name>Kris Kennaway</name>
<email>kris@FreeBSD.org</email>
</author>
<published>2007-03-26T21:56:46Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=6455de00297f7807cebd5b9a070aef255067d903'/>
<id>urn:sha1:6455de00297f7807cebd5b9a070aef255067d903</id>
<content type='text'>
</content>
</entry>
</feed>
