<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/dev/md, branch release/8.1.0</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=release%2F8.1.0</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=release%2F8.1.0'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2010-03-27T14:43:40Z</updated>
<entry>
<title>MFC r204408:</title>
<updated>2010-03-27T14:43:40Z</updated>
<author>
<name>Edward Tomasz Napierala</name>
<email>trasz@FreeBSD.org</email>
</author>
<published>2010-03-27T14:43:40Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=ae3c92a10678c99c4d19d56aa7385f95be8f72b5'/>
<id>urn:sha1:ae3c92a10678c99c4d19d56aa7385f95be8f72b5</id>
<content type='text'>
Fix panic on invalid 'mdconfig -at preload' usage.

PR:		kern/80136
</content>
</entry>
<entry>
<title>MFC r201145 to stable/8:</title>
<updated>2010-01-30T12:11:21Z</updated>
<author>
<name>Antoine Brodin</name>
<email>antoine@FreeBSD.org</email>
</author>
<published>2010-01-30T12:11:21Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=e2b36efde5fd60df4195a726045f06e2feb6de5e'/>
<id>urn:sha1:e2b36efde5fd60df4195a726045f06e2feb6de5e</id>
<content type='text'>
  (S)LIST_HEAD_INITIALIZER takes a (S)LIST_HEAD as an argument.
  Fix some wrong usages.
  Note: this does not affect generated binaries as this argument is not used.

  PR:		137213
  Submitted by:	Eygene Ryabinkin (initial version)
</content>
</entry>
<entry>
<title>Implement global and per-uid accounting of the anonymous memory. Add</title>
<updated>2009-06-23T20:45:22Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2009-06-23T20:45:22Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=3364c323e6ad143e0e95e2d1c7c3c3b880515860'/>
<id>urn:sha1:3364c323e6ad143e0e95e2d1c7c3c3b880515860</id>
<content type='text'>
rlimit RLIMIT_SWAP that limits the amount of swap that may be reserved
for the uid.

The accounting information (charge) is associated with either map entry,
or vm object backing the entry, assuming the object is the first one
in the shadow chain and entry does not require COW. Charge is moved
from entry to object on allocation of the object, e.g. during the mmap,
assuming the object is allocated, or on the first page fault on the
entry. It moves back to the entry on forks due to COW setup.

The per-entry granularity of accounting makes the charge process fair
for processes that change uid during lifetime, and decrements charge
for proper uid when region is unmapped.

The interface of vm_pager_allocate(9) is extended by adding struct ucred *,
that is used to charge appropriate uid when allocation if performed by
kernel, e.g. md(4).

Several syscalls, among them is fork(2), may now return ENOMEM when
global or per-uid limits are enforced.

In collaboration with:	pho
Reviewed by:	alc
Approved by:	re (kensmith)
</content>
</entry>
<entry>
<title>Add cpu_flush_dcache() for use after non-DMA based I/O so that a</title>
<updated>2009-05-18T18:37:18Z</updated>
<author>
<name>Marcel Moolenaar</name>
<email>marcel@FreeBSD.org</email>
</author>
<published>2009-05-18T18:37:18Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=dbb95048da3ac080e2f3f83bcb730fe83661962b'/>
<id>urn:sha1:dbb95048da3ac080e2f3f83bcb730fe83661962b</id>
<content type='text'>
possible future I-cache coherency operation can succeed. On ARM
for example the L1 cache can be (is) virtually mapped, which
means that any I/O that uses temporary mappings will not see the
I-cache made coherent. On ia64 a similar behaviour has been
observed. By flushing the D-cache, execution of binaries backed
by md(4) and/or NFS work reliably.
For Book-E (powerpc), execution over NFS exhibits SIGILL once in
a while as well, though cpu_flush_dcache() hasn't been implemented
yet.

Doing an explicit D-cache flush as part of the non-DMA based I/O
read operation eliminates the need to do it as part of the
I-cache coherency operation itself and as such avoids pessimizing
the DMA-based I/O read operations for which D-cache are already
flushed/invalidated. It also allows future optimizations whereby
the bcopy() followed by the D-cache flush can be integrated in a
single operation, which could be implemented using on-chips DMA
engines, by-passing the D-cache altogether.
</content>
</entry>
<entry>
<title>Add a new internal mount flag (MNTK_EXTENDED_SHARED) to indicate that a</title>
<updated>2009-03-11T14:13:47Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2009-03-11T14:13:47Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=33fc3625121c0a2e309693635441dfe29f7d902b'/>
<id>urn:sha1:33fc3625121c0a2e309693635441dfe29f7d902b</id>
<content type='text'>
filesystem supports additional operations using shared vnode locks.
Currently this is used to enable shared locks for open() and close() of
read-only file descriptors.
- When an ISOPEN namei() request is performed with LOCKSHARED, use a
  shared vnode lock for the leaf vnode only if the mount point has the
  extended shared flag set.
- Set LOCKSHARED in vn_open_cred() for requests that specify O_RDONLY but
  not O_CREAT.
- Use a shared vnode lock around VOP_CLOSE() if the file was opened with
  O_RDONLY and the mountpoint has the extended shared flag set.
- Adjust md(4) to upgrade the vnode lock on the vnode it gets back from
  vn_open() since it now may only have a shared vnode lock.
- Don't enable shared vnode locks on FIFO vnodes in ZFS and UFS since
  FIFO's require exclusive vnode locks for their open() and close()
  routines.  (My recent MPSAFE patches for UDF and cd9660 already included
  this change.)
- Enable extended shared operations on UFS, cd9660, and UDF.

Submitted by:	ups
Reviewed by:	pjd (ZFS bits)
MFC after:	1 month
</content>
</entry>
<entry>
<title>Remove unnecessary page queues locking around vm_page_wakeup().  (This</title>
<updated>2009-02-22T02:50:31Z</updated>
<author>
<name>Alan Cox</name>
<email>alc@FreeBSD.org</email>
</author>
<published>2009-02-22T02:50:31Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=b72cca38a632e854b884aa636e45be54a952ce34'/>
<id>urn:sha1:b72cca38a632e854b884aa636e45be54a952ce34</id>
<content type='text'>
change is applicable to RELENG_7 but not RELENG_6.)

MFC after:	1 week
</content>
</entry>
<entry>
<title>Add the possibility to specify "-o force" with "mdconfig -du".</title>
<updated>2009-01-10T17:17:18Z</updated>
<author>
<name>Edward Tomasz Napierala</name>
<email>trasz@FreeBSD.org</email>
</author>
<published>2009-01-10T17:17:18Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=a9ebb311831b25896b6bd0f5d0cbb41fdff84095'/>
<id>urn:sha1:a9ebb311831b25896b6bd0f5d0cbb41fdff84095</id>
<content type='text'>
Reviewed by:	scottl
Approved by:	rwatson (mentor)
Sponsored by:	FreeBSD Foundation
</content>
</entry>
<entry>
<title>Fix forced mdconfig -du.  E.g. the following would previously</title>
<updated>2008-12-16T20:59:27Z</updated>
<author>
<name>Edward Tomasz Napierala</name>
<email>trasz@FreeBSD.org</email>
</author>
<published>2008-12-16T20:59:27Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=41c8b468e60fefddc6a8e63a84b9375e3ebbd902'/>
<id>urn:sha1:41c8b468e60fefddc6a8e63a84b9375e3ebbd902</id>
<content type='text'>
result in panic:

mdconfig -af blah.img -o force
mount /dev/md0 /mnt
mdconfig -du 0

Reviewed by:	scottl
Approved by:	rwatson (mentor)
Sponsored by:	FreeBSD Foundation
</content>
</entry>
<entry>
<title>Decontextualize the couplet VOP_GETATTR / VOP_SETATTR as the passed thread</title>
<updated>2008-08-28T15:23:18Z</updated>
<author>
<name>Attilio Rao</name>
<email>attilio@FreeBSD.org</email>
</author>
<published>2008-08-28T15:23:18Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=0359a12eadcd66a9298e283fc5f3c90a9393322a'/>
<id>urn:sha1:0359a12eadcd66a9298e283fc5f3c90a9393322a</id>
<content type='text'>
was always curthread and totally unuseful.

Tested by: Giovanni Trematerra &lt;giovanni dot trematerra at gmail dot com&gt;
</content>
</entry>
<entry>
<title>Remove the distinction between device minor and unit numbers.</title>
<updated>2008-05-29T12:50:46Z</updated>
<author>
<name>Ed Schouten</name>
<email>ed@FreeBSD.org</email>
</author>
<published>2008-05-29T12:50:46Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=06d425f92e7dd0dc8f8e705c6d76b78989a496ab'/>
<id>urn:sha1:06d425f92e7dd0dc8f8e705c6d76b78989a496ab</id>
<content type='text'>
Even though we got rid of device major numbers some time ago, device
drivers still need to provide unique device minor numbers to make_dev().
These numbers are only used inside the kernel. They are not related to
device major and minor numbers which are visible in devfs. These are
actually based on the inode number of the device.

It would eventually be nice to remove minor numbers entirely, but we
don't want to be too agressive here.

Because the 8-15 bits of the device number field (si_drv0) are still
reserved for the major number, there is no 1:1 mapping of the device
minor and unit numbers. Because this is now unused, remove the
restrictions on these numbers.

The MAXMAJOR definition was actually used for two purposes. It was used
to convert both the userspace and kernelspace device numbers to their
major/minor pair, which is why it is now named UMINORMASK.

minor2unit() and unit2minor() have now become useless. Both minor() and
dev2unit() now serve the same purpose. We should eventually remove some
of them, at least turning them into macro's. If devfs would become
completely minor number unaware, we could consider using si_drv0 directly,
just like si_drv1 and si_drv2.

Approved by:	philip (mentor)
</content>
</entry>
</feed>
