Date: Fri, 16 Aug 2013 16:05:03 +0300 From: Konstantin Belousov <kostikbel@gmail.com> To: Alexander Motin <mav@FreeBSD.org> Cc: svn-src-projects@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r254408 - in projects/camlock/sys: cam/ata cam/scsi dev/md geom Message-ID: <20130816130503.GC4972@kib.kiev.ua> In-Reply-To: <201308161225.r7GCP3EW061762@svn.freebsd.org> References: <201308161225.r7GCP3EW061762@svn.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--Dr39avWuu01nZVqZ Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, Aug 16, 2013 at 12:25:03PM +0000, Alexander Motin wrote: > Author: mav > Date: Fri Aug 16 12:25:02 2013 > New Revision: 254408 > URL: http://svnweb.freebsd.org/changeset/base/254408 >=20 > Log: > Make first steps toward direct BIO dispatch in GEOM: > - Define flags, declaring that specific consumer/provider is capable of > sending requests/replies (respectively) directly, i,e. doesn't hold any= locks > and so reenterable, and/or able to directly receive replies/requests, i= =2Ee. > doesn't depend on GEOM up/down threads semantics. As result, GEOM will= make > direct calls only if both caller and callee are cpable of it in each ca= se. > - Define disk(9) flag to declare that disk is capable of direct request > completion, and use it for da(4) and ada(4) drivers. Make GEOM DISK to= pass > that flag to its provider and also assume that any disk is capable of > receiveing requests directly. > - Mark GEOM DEV as capable of both direct send and receive. > - Make md(4) declare both direct send and receive after adding mutex to > serialize its statistics update on request path. I do not think it is safe to allow the mdstart_malloc() to execute in parallel with itself. It certainly causes data corruption for the new block allocations on write, and possibly random kernel memory corruption. It seems that vnode and swap backends are safe, though. --Dr39avWuu01nZVqZ Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.20 (FreeBSD) iQIcBAEBAgAGBQJSDiN+AAoJEJDCuSvBvK1BqrQP/3iE/JR2RXScBdZW+jqgbyGR zDagwywGGxB+w9Dc1aouVExhqZVNpzJP55duAnW7vajaKpv9QzZF5c+wW/d9s0BI tms2cPsGWIxVvzXQt3LBBabtth88yOfw9KUpgldPwwwM0WBvjq/fhMJr5/vNC2sR cwQaW3kRCbVJTTRbkaqu0BpoRb1HWyG6OBwdyLLMTVC0sgxM96V3W52IwEmgxSay WZMQGuM0y+Wpuhw2s0KjYiubFEOMnQfHva9NfcG/fIluEtSNtGBGlFqzzqfruEAO vNvRtjHFSPuv2XFR2leuLYUsvvyzuVa3enHa13E3uDergQVRluEaeLWJSbvNgT6h Svnl3X9b8yLPgxpaSLwtqeLVcQXZ2YcaKBKBd46KA9Gxs6RpG/pJWoaP/ov8G9pb bNkv/TmJ1egrFJatRqpFX6MA7fOeCH7e3Y3uNNRtWZVuezNWMaugcIrHwjMHQqhi thOFRu+WUQtsJYCGXOGsBaF7o0WPV4QJvK8NkicQcpSm0yXKZs19bHapiyDRzcSX ndU9PN5Hj0Eo8m6uezJZhbkP6XoyQD7nrTVMDSJ3XaSfysBzdAcSMQkmW66B2Cku UVbRHlcp5EBnoSukmASHxGVWuZlJxT3ZdZqUzSZqBLZNbxVooBLTjBENf0wlieJl QFzpEidryAIuu1YvMsPH =uK9c -----END PGP SIGNATURE----- --Dr39avWuu01nZVqZ--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20130816130503.GC4972>