<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/dev/siis, 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-01-07T01:51:48Z</updated>
<entry>
<title>MFC Alexander Motin's direct dispatch, multi-queue, and finer-grained</title>
<updated>2014-01-07T01:51:48Z</updated>
<author>
<name>Scott Long</name>
<email>scottl@FreeBSD.org</email>
</author>
<published>2014-01-07T01:51:48Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=7302df0f798a85e745f26e5fe0b896eb91e281fd'/>
<id>urn:sha1:7302df0f798a85e745f26e5fe0b896eb91e281fd</id>
<content type='text'>
locking support for CAM

r256826:
Fix several target mode SIMs to not blindly clear ccb_h.flags field of
ATIO CCBs.  Not all CCB flags there belong to them.

r256836:
Remove hard limit on number of BIOs handled with one ATA TRIM request.

r256843:
Merge CAM locking changes from the projects/camlock branch to radically
reduce lock congestion and improve SMP scalability of the SCSI/ATA stack,
preparing the ground for the coming next GEOM direct dispatch support.

r256888:
Unconditionally acquire periph reference on CCB allocation failure.

r256895:
Fix memory and references leak due to unfreed path.

r256960:
Move CAM_UNQUEUED_INDEX setting to the last moment and under the periph lock.
This fixes race condition with cam_periph_ccbwait(), causing use-after-free.

r256975:
Minor (mostly cosmetical) addition to r256960.

r257054:
Some microoptimizations for da and ada drivers:
 - Replace ordered_tag_count counter with single flag;
 - From da remove outstanding_cmds counter, duplicating pending_ccbs list;
 - From da_softc remove unused links field.

r257482:
Fix lock recursion, triggered by `smartctl -a /dev/adaX`.

r257501:
Make getenv_*() functions and respectively TUNABLE_*_FETCH() macros not
allocate memory and so not require sleepable environment.  getenv() has
already used on-stack temporary storage, so just use it more rationally.
getenv_string() receives buffer as argument, so don't need another one.

r257914:
Some CAM locks polishing:
 - Fix LOR and possible lock recursion when handling high-power commands.
Introduce new lock to protect left power quota and list of frozen devices.
 - Correct locking around xpt periph creation.
 - Remove seems never used XPT_FLAG_OPEN xpt periph flag.

Again, Netflix assisted with testing the merge, but all of the credit goes
to Alexander and iX Systems.

Submitted by:	mav
Sponsored by:	iX Systems
</content>
</entry>
<entry>
<title>Make siis(4) and mvs(4) send bus_get_dma_tag() requests to parent buses</title>
<updated>2013-04-18T12:43:06Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2013-04-18T12:43:06Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=ca11419237a6458a92855e838724ef8c71225f0f'/>
<id>urn:sha1:ca11419237a6458a92855e838724ef8c71225f0f</id>
<content type='text'>
passing real bus' child pointers instead of grandchilds.

Requested by:	kib
</content>
</entry>
<entry>
<title>ahci(4) and siis(4) are ready to process the unmapped i/o requests</title>
<updated>2013-03-19T15:09:32Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2013-03-19T15:09:32Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=129c6621f706e2ab5e32bb0d6aa4ecbfb8b60ade'/>
<id>urn:sha1:129c6621f706e2ab5e32bb0d6aa4ecbfb8b60ade</id>
<content type='text'>
Sponsored by:	The FreeBSD Foundation
Tested by:	pho
Submitted by:	bf (siis patch)
</content>
</entry>
<entry>
<title>Reform the busdma API so that new types may be added without modifying</title>
<updated>2013-02-12T16:57:20Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2013-02-12T16:57:20Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=dd0b4fb6d50631c140e800bdfac48d02e7e4c875'/>
<id>urn:sha1:dd0b4fb6d50631c140e800bdfac48d02e7e4c875</id>
<content type='text'>
every architecture's busdma_machdep.c.  It is done by unifying the
bus_dmamap_load_buffer() routines so that they may be called from MI
code.  The MD busdma is then given a chance to do any final processing
in the complete() callback.

The cam changes unify the bus_dmamap_load* handling in cam drivers.

The arm and mips implementations are updated to track virtual
addresses for sync().  Previously this was done in a type specific
way.  Now it is done in a generic way by recording the list of
virtuals in the map.

Submitted by:	jeff (sponsored by EMC/Isilon)
Reviewed by:	kan (previous version), scottl,
	mjacob (isp(4), no objections for target mode changes)
Discussed with:	     ian (arm changes)
Tested by:	marius (sparc64), mips (jmallet), isci(4) on x86 (jharris),
	amd64 (Fabian Keil &lt;freebsd-listen@fabiankeil.de&gt;)
</content>
</entry>
<entry>
<title>Partially revert r236666:</title>
<updated>2012-06-10T11:17:14Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2012-06-10T11:17:14Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=eb586bd9ee79efb37759109fadbc49fed2cddaa7'/>
<id>urn:sha1:eb586bd9ee79efb37759109fadbc49fed2cddaa7</id>
<content type='text'>
Return PROTO_ATA protocol in response to XPT_PATH_INQ.

smartmontools uses it to identify ATA devices and I don't know any other
place now where it is important. It could probably use XPT_GDEV_TYPE
instead for more accurate protocol information, but let it live for now.

Reported by:	matthew
MFC after:	3 days
</content>
</entry>
<entry>
<title>ATA/SATA controllers have no idea about protocol of the connected device</title>
<updated>2012-06-06T06:52:51Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2012-06-06T06:52:51Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=bc1bf6e84298e9a3d7c790ac99fbf9810f8bdfd6'/>
<id>urn:sha1:bc1bf6e84298e9a3d7c790ac99fbf9810f8bdfd6</id>
<content type='text'>
until transport will do some probe actions (at least soft reset).
Make ATA/SATA SIMs to not report bogus and confusing PROTO_ATA protocol.
Make ATA/SATA transport to fill that gap by reporting protocol to SIM with
XPT_SET_TRAN_SETTINGS and patching XPT_GET_TRAN_SETTINGS results if needed.
</content>
</entry>
<entry>
<title>Add two functions xpt_batch_start() and xpt_batch_done() to the CAM SIM KPI</title>
<updated>2012-05-12T13:55:36Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2012-05-12T13:55:36Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=711f661393c0f971d750a262d0548c9550f4a5bc'/>
<id>urn:sha1:711f661393c0f971d750a262d0548c9550f4a5bc</id>
<content type='text'>
to allow drivers to handle request completion directly without passing
them to the CAM SWI thread removing extra context switch.
Modify all ATA/SATA drivers to use them.

Reviewed by:	gibbs, ken
MFC after:	2 weeks
</content>
</entry>
<entry>
<title>Rename device_delete_all_children() into device_delete_children().</title>
<updated>2011-11-22T21:56:55Z</updated>
<author>
<name>Hans Petter Selasky</name>
<email>hselasky@FreeBSD.org</email>
</author>
<published>2011-11-22T21:56:55Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=3b12bdb58f3ab1b077e536cd72894cbe3e56dff5'/>
<id>urn:sha1:3b12bdb58f3ab1b077e536cd72894cbe3e56dff5</id>
<content type='text'>
Suggested by:	jhb @ and marius @
MFC after:	1 week
</content>
</entry>
<entry>
<title>Move the device_delete_all_children() function from usb_util.c</title>
<updated>2011-11-19T10:11:50Z</updated>
<author>
<name>Hans Petter Selasky</name>
<email>hselasky@FreeBSD.org</email>
</author>
<published>2011-11-19T10:11:50Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=11bcf702f4200a351f06b549e14bc9ea4fc76dcc'/>
<id>urn:sha1:11bcf702f4200a351f06b549e14bc9ea4fc76dcc</id>
<content type='text'>
to kern/subr_bus.c. Simplify this function so that it no longer
depends on malloc() to execute. Identify a few other places where
it makes sense to use device_delete_all_children().

MFC after:	1 week
</content>
</entry>
<entry>
<title>Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs.</title>
<updated>2011-11-07T06:44:47Z</updated>
<author>
<name>Ed Schouten</name>
<email>ed@FreeBSD.org</email>
</author>
<published>2011-11-07T06:44:47Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=d745c852becf3792a2185003947324721209195a'/>
<id>urn:sha1:d745c852becf3792a2185003947324721209195a</id>
<content type='text'>
This means that their use is restricted to a single C file.
</content>
</entry>
</feed>
