<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/dev/agp, branch release/10.1.0</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=release%2F10.1.0</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=release%2F10.1.0'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2014-02-04T03:36:42Z</updated>
<entry>
<title>MFC r258779,r258780,r258787,r258822:</title>
<updated>2014-02-04T03:36:42Z</updated>
<author>
<name>Eitan Adler</name>
<email>eadler@FreeBSD.org</email>
</author>
<published>2014-02-04T03:36:42Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=eca45e57193faeac9fd7a519ed8aef106f2234b5'/>
<id>urn:sha1:eca45e57193faeac9fd7a519ed8aef106f2234b5</id>
<content type='text'>
Fix undefined behavior: (1 &lt;&lt; 31) is not defined as 1 is an int and this
shifts into the sign bit.  Instead use (1U &lt;&lt; 31) which gets the
expected result.

Similar to the (1 &lt;&lt; 31) case it is not defined to do (2 &lt;&lt; 30).

This fix is not ideal as it assumes a 32 bit int, but does fix the issue
for most cases.

A similar change was made in OpenBSD.
</content>
</entry>
<entry>
<title>Remove the deprecated VM_ALLOC_RETRY flag for the vm_page_grab(9).</title>
<updated>2013-08-22T07:39:53Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2013-08-22T07:39:53Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=5944de8ecd5c87f5c1d9a602c3557fd4d6829d0d'/>
<id>urn:sha1:5944de8ecd5c87f5c1d9a602c3557fd4d6829d0d</id>
<content type='text'>
The flag was mandatory since r209792, where vm_page_grab(9) was
changed to only support the alloc retry semantic.

Suggested and reviewed by:	alc
Sponsored by:	The FreeBSD Foundation
</content>
</entry>
<entry>
<title>The soft and hard busy mechanism rely on the vm object lock to work.</title>
<updated>2013-08-09T11:11:11Z</updated>
<author>
<name>Attilio Rao</name>
<email>attilio@FreeBSD.org</email>
</author>
<published>2013-08-09T11:11:11Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=c7aebda8a14a3bb94bb038df338549ccde5b56ea'/>
<id>urn:sha1:c7aebda8a14a3bb94bb038df338549ccde5b56ea</id>
<content type='text'>
Unify the 2 concept into a real, minimal, sxlock where the shared
acquisition represent the soft busy and the exclusive acquisition
represent the hard busy.
The old VPO_WANTED mechanism becames the hard-path for this new lock
and it becomes per-page rather than per-object.
The vm_object lock becames an interlock for this functionality:
it can be held in both read or write mode.
However, if the vm_object lock is held in read mode while acquiring
or releasing the busy state, the thread owner cannot make any
assumption on the busy state unless it is also busying it.

Also:
- Add a new flag to directly shared busy pages while vm_page_alloc
  and vm_page_grab are being executed.  This will be very helpful
  once these functions happen under a read object lock.
- Move the swapping sleep into its own per-object flag

The KPI is heavilly changed this is why the version is bumped.
It is very likely that some VM ports users will need to change
their own code.

Sponsored by:	EMC / Isilon storage division
Discussed with:	alc
Reviewed by:	jeff, kib
Tested by:	gavin, bapt (older version)
Tested by:	pho, scottl
</content>
</entry>
<entry>
<title>Switch the vm_object mutex to be a rwlock.  This will enable in the</title>
<updated>2013-03-09T02:32:23Z</updated>
<author>
<name>Attilio Rao</name>
<email>attilio@FreeBSD.org</email>
</author>
<published>2013-03-09T02:32:23Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=89f6b8632cc94bca2738b4fcc26e1189ef4f5dde'/>
<id>urn:sha1:89f6b8632cc94bca2738b4fcc26e1189ef4f5dde</id>
<content type='text'>
future further optimizations where the vm_object lock will be held
in read mode most of the time the page cache resident pool of pages
are accessed for reading purposes.

The change is mostly mechanical but few notes are reported:
* The KPI changes as follow:
  - VM_OBJECT_LOCK() -&gt; VM_OBJECT_WLOCK()
  - VM_OBJECT_TRYLOCK() -&gt; VM_OBJECT_TRYWLOCK()
  - VM_OBJECT_UNLOCK() -&gt; VM_OBJECT_WUNLOCK()
  - VM_OBJECT_LOCK_ASSERT(MA_OWNED) -&gt; VM_OBJECT_ASSERT_WLOCKED()
    (in order to avoid visibility of implementation details)
  - The read-mode operations are added:
    VM_OBJECT_RLOCK(), VM_OBJECT_TRYRLOCK(), VM_OBJECT_RUNLOCK(),
    VM_OBJECT_ASSERT_RLOCKED(), VM_OBJECT_ASSERT_LOCKED()
* The vm/vm_pager.h namespace pollution avoidance (forcing requiring
  sys/mutex.h in consumers directly to cater its inlining functions
  using VM_OBJECT_LOCK()) imposes that all the vm/vm_pager.h
  consumers now must include also sys/rwlock.h.
* zfs requires a quite convoluted fix to include FreeBSD rwlocks into
  the compat layer because the name clash between FreeBSD and solaris
  versions must be avoided.
  At this purpose zfs redefines the vm_object locking functions
  directly, isolating the FreeBSD components in specific compat stubs.

The KPI results heavilly broken by this commit.  Thirdy part ports must
be updated accordingly (I can think off-hand of VirtualBox, for example).

Sponsored by:	EMC / Isilon storage division
Reviewed by:	jeff
Reviewed by:	pjd (ZFS specific review)
Discussed with:	alc
Tested by:	pho
</content>
</entry>
<entry>
<title>Fix reversed condition in the logic to wait for the chipset buffers</title>
<updated>2013-01-27T09:31:11Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2013-01-27T09:31:11Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=5f451cd59b8634da628c571612980f2d60aa34fc'/>
<id>urn:sha1:5f451cd59b8634da628c571612980f2d60aa34fc</id>
<content type='text'>
flush wait on the Gen2 chipsets.  Confirmed by the inspection of the
Linux agp code.

Submitted by:	Taku YAMAMOTO &lt;taku@tackymt.homeip.net&gt;
MFC after:	2 weeks
</content>
</entry>
<entry>
<title>Remove unneeded semicolons.</title>
<updated>2013-01-01T18:16:49Z</updated>
<author>
<name>Antoine Brodin</name>
<email>antoine@FreeBSD.org</email>
</author>
<published>2013-01-01T18:16:49Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=dfa4d7fdb90e1550cad43b65c53a1f8085c511b8'/>
<id>urn:sha1:dfa4d7fdb90e1550cad43b65c53a1f8085c511b8</id>
<content type='text'>
Reviewed by:	md5 of the object files
</content>
</entry>
<entry>
<title>Add pci id for the xeon hd4000 (IvyBridge server GT2)</title>
<updated>2012-12-11T09:38:12Z</updated>
<author>
<name>Baptiste Daroussin</name>
<email>bapt@FreeBSD.org</email>
</author>
<published>2012-12-11T09:38:12Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=af62061042a0274c8bc279b29732d4c5883189f5'/>
<id>urn:sha1:af62061042a0274c8bc279b29732d4c5883189f5</id>
<content type='text'>
Submitted by:	François Tigeot &lt;ftigeot@wolfpond.org&gt;
Obtained from:	dragonfly
MFC after:	3 days
</content>
</entry>
<entry>
<title>Remove unneeded header from agp: opt_bus.h</title>
<updated>2012-11-15T18:49:17Z</updated>
<author>
<name>Eitan Adler</name>
<email>eadler@FreeBSD.org</email>
</author>
<published>2012-11-15T18:49:17Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=9e93aa2336ca3d58f112996ca965ab6872780abf'/>
<id>urn:sha1:9e93aa2336ca3d58f112996ca965ab6872780abf</id>
<content type='text'>
Tested with "make universe"

Approved by:	cperciva
MFC after:	1 week
</content>
</entry>
<entry>
<title>This isn't functionally identical.  In some cases a hint to disable</title>
<updated>2012-10-22T13:06:09Z</updated>
<author>
<name>Eitan Adler</name>
<email>eadler@FreeBSD.org</email>
</author>
<published>2012-10-22T13:06:09Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=a8de37b0244d1101e634922d018579cc3073318f'/>
<id>urn:sha1:a8de37b0244d1101e634922d018579cc3073318f</id>
<content type='text'>
unit 0 would in fact disable all units.

This reverts r241856

Approved by: cperciva (implicit)
</content>
</entry>
<entry>
<title>Now that device disabling is generic, remove extraneous code from the</title>
<updated>2012-10-22T03:41:14Z</updated>
<author>
<name>Eitan Adler</name>
<email>eadler@FreeBSD.org</email>
</author>
<published>2012-10-22T03:41:14Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=76b7512247ab3bdfffaa4663ff1cc9b6c29cc915'/>
<id>urn:sha1:76b7512247ab3bdfffaa4663ff1cc9b6c29cc915</id>
<content type='text'>
device drivers that used to provide this feature.

Reviewed by:	des
Approved by:	cperciva
MFC after:	1 week
</content>
</entry>
</feed>
