<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src-test/sys/dev/xen, branch main</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src-test/atom?h=main</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src-test/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/'/>
<updated>2020-11-28T12:12:51Z</updated>
<entry>
<title>Make MAXPHYS tunable.  Bump MAXPHYS to 1M.</title>
<updated>2020-11-28T12:12:51Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2020-11-28T12:12:51Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=cd8537910406e68d4719136a5b0cf6d23bb1b23b'/>
<id>urn:sha1:cd8537910406e68d4719136a5b0cf6d23bb1b23b</id>
<content type='text'>
Replace MAXPHYS by runtime variable maxphys. It is initialized from
MAXPHYS by default, but can be also adjusted with the tunable kern.maxphys.

Make b_pages[] array in struct buf flexible.  Size b_pages[] for buffer
cache buffers exactly to atop(maxbcachebuf) (currently it is sized to
atop(MAXPHYS)), and b_pages[] for pbufs is sized to atop(maxphys) + 1.
The +1 for pbufs allow several pbuf consumers, among them vmapbuf(),
to use unaligned buffers still sized to maxphys, esp. when such
buffers come from userspace (*).  Overall, we save significant amount
of otherwise wasted memory in b_pages[] for buffer cache buffers,
while bumping MAXPHYS to desired high value.

Eliminate all direct uses of the MAXPHYS constant in kernel and driver
sources, except a place which initialize maxphys.  Some random (and
arguably weird) uses of MAXPHYS, e.g. in linuxolator, are converted
straight.  Some drivers, which use MAXPHYS to size embeded structures,
get private MAXPHYS-like constant; their convertion is out of scope
for this work.

Changes to cam/, dev/ahci, dev/ata, dev/mpr, dev/mpt, dev/mvs,
dev/siis, where either submitted by, or based on changes by mav.

Suggested by: mav (*)
Reviewed by:	imp, mav, imp, mckusick, scottl (intermediate versions)
Tested by:	pho
Sponsored by:	The FreeBSD Foundation
Differential revision:	https://reviews.freebsd.org/D27225
</content>
</entry>
<entry>
<title>Suspend all writeable local filesystems on power suspend.</title>
<updated>2020-11-05T20:52:49Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2020-11-05T20:52:49Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=f10845877e962a7dcdc4cf9b9614bdfcdac46d59'/>
<id>urn:sha1:f10845877e962a7dcdc4cf9b9614bdfcdac46d59</id>
<content type='text'>
This ensures that no writes are pending in memory, either metadata or
user data, but not including dirty pages not yet converted to fs writes.

Only filesystems declared local are suspended.

Note that this does not guarantee absence of the metadata errors or
leaks if resume is not done: for instance, on UFS unlinked but opened
inodes are leaked and require fsck to gc.

Reviewed by:	markj
Discussed with:	imp
Tested by:	imp (previous version), pho
Sponsored by:	The FreeBSD Foundation
MFC after:	2 weeks
Differential revision:	https://reviews.freebsd.org/D27054
</content>
</entry>
<entry>
<title>Convert allocations of the phys pager to vm_pager_allocate().</title>
<updated>2020-09-08T23:38:49Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2020-09-08T23:38:49Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=fbf2a778760f24565eab950ced3e2ad1df4cf844'/>
<id>urn:sha1:fbf2a778760f24565eab950ced3e2ad1df4cf844</id>
<content type='text'>
Future changes would require additional initialization of OBJT_PHYS
objects, and vm_object_allocate() is not suitable for it.

Reviewed by:	markj
Tested by:	pho
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D24652
</content>
</entry>
<entry>
<title>dev/xen: clean up empty lines in .c and .h files</title>
<updated>2020-09-01T21:45:08Z</updated>
<author>
<name>Mateusz Guzik</name>
<email>mjg@FreeBSD.org</email>
</author>
<published>2020-09-01T21:45:08Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=6c7cae4a73b883ec0410e882bb56622c3090592c'/>
<id>urn:sha1:6c7cae4a73b883ec0410e882bb56622c3090592c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>vfs: drop the error parameter from vn_isdisk, introduce vn_isdisk_error</title>
<updated>2020-08-19T02:51:17Z</updated>
<author>
<name>Mateusz Guzik</name>
<email>mjg@FreeBSD.org</email>
</author>
<published>2020-08-19T02:51:17Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=7ad2a82da2b51b8c803c82a460e513f58f5a1737'/>
<id>urn:sha1:7ad2a82da2b51b8c803c82a460e513f58f5a1737</id>
<content type='text'>
Most consumers pass NULL.
</content>
</entry>
<entry>
<title>Remove double-calls to tc_get_timecount() to warm timecounters.</title>
<updated>2020-06-10T22:30:32Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2020-06-10T22:30:32Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=4149c6a3ecd5526a6819443c8cfd17cc77bcbb3a'/>
<id>urn:sha1:4149c6a3ecd5526a6819443c8cfd17cc77bcbb3a</id>
<content type='text'>
It seems that second call does not add any useful state change for all
implemented timecounters.

Discussed with:	bde
Sponsored by:	The FreeBSD Foundation
MFC after:	3 weeks
</content>
</entry>
<entry>
<title>xen/control: short circuit xctrl_on_watch_event on spurious event</title>
<updated>2020-05-28T08:20:16Z</updated>
<author>
<name>Roger Pau Monné</name>
<email>royger@FreeBSD.org</email>
</author>
<published>2020-05-28T08:20:16Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=06592d60f00c39a465454df203fcabbdefadb57f'/>
<id>urn:sha1:06592d60f00c39a465454df203fcabbdefadb57f</id>
<content type='text'>
If there's no data to read from xenstore short-circuit
xctrl_on_watch_event to return early, there's no reason to continue
since the lack of data would prevent matching against any known event
type.

Sponsored by:	Citrix Systems R&amp;D
MFC with:	r352925
MFC after:	1 week
</content>
</entry>
<entry>
<title>xen/blkfront: use the correct type for disk sectors</title>
<updated>2020-05-28T08:19:13Z</updated>
<author>
<name>Roger Pau Monné</name>
<email>royger@FreeBSD.org</email>
</author>
<published>2020-05-28T08:19:13Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=3e7df58df20ce49994edd2be2be0e2bce991c177'/>
<id>urn:sha1:3e7df58df20ce49994edd2be2be0e2bce991c177</id>
<content type='text'>
The correct type to use to represent disk sectors is blkif_sector_t
(which is an uint64_t underneath). This avoid truncation of the disk
size calculation when resizing on i386, as otherwise the calculation
of d_mediasize in xbd_connect is truncated to the size of unsigned
long, which is 32bits on i386.

Note this issue didn't affect amd64, because the size of unsigned long
is 64bits there.

Sponsored by:	Citrix Systems R&amp;D
MFC after:	1 week
</content>
</entry>
<entry>
<title>dev/xenstore: fix return with locks held</title>
<updated>2020-05-20T11:01:10Z</updated>
<author>
<name>Roger Pau Monné</name>
<email>royger@FreeBSD.org</email>
</author>
<published>2020-05-20T11:01:10Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=b5ba8a0f32b1094f172699abf9bf70779a2158d5'/>
<id>urn:sha1:b5ba8a0f32b1094f172699abf9bf70779a2158d5</id>
<content type='text'>
Fix returning from xenstore device with locks held, which triggers the
following panic:

# cat /dev/xen/xenstore
^C
userret: returning with the following locks held:
exclusive sx evtchn_ringc_sx (evtchn_ringc_sx) r = 0 (0xfffff8000650be40) locked @ /usr/src/sys/dev/xen/evtchn/evtchn_dev.c:262

Note this is not a security issue since access to the device is
limited to root by default.

Sponsored by:	Citrix Systems R&amp;D
MFC after:	1 week
</content>
</entry>
<entry>
<title>tty: convert tty_lock_assert to tty_assert_locked to hide lock type</title>
<updated>2020-04-17T18:34:49Z</updated>
<author>
<name>Kyle Evans</name>
<email>kevans@FreeBSD.org</email>
</author>
<published>2020-04-17T18:34:49Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=23d5326823c740f2ddcd3268216d0a59b374457c'/>
<id>urn:sha1:23d5326823c740f2ddcd3268216d0a59b374457c</id>
<content type='text'>
A later change, currently being iterated on in D24459, will in-fact change
the lock type to an sx so that TTY drivers can sleep on it if they need to.
Committing this ahead of time to make the review in question a little more
palatable.

tty_lock_assert() is unfortunately still needed for now in two places to
make sure that the tty lock has not been recursed upon, for those scenarios
where it's supplied by the TTY driver and possibly a mutex that is allowed
to recurse.

Suggested by:	markj
</content>
</entry>
</feed>
