<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	
	>
<channel>
	<title>
	Comments on: More sound updates	</title>
	<atom:link href="https://www.dragonflydigest.com/2007/06/14/more-sound-updates/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.dragonflydigest.com/2007/06/14/more-sound-updates/</link>
	<description>A running description of activity related to DragonFly BSD.</description>
	<lastBuildDate>Fri, 08 Aug 2008 06:53:22 +0000</lastBuildDate>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>
		By: ÐÐ½Ð´Ñ€ÐµÐ¹ ÐÑ€ÑˆÐ°Ð²Ð¸Ð½		</title>
		<link>https://www.dragonflydigest.com/2007/06/14/more-sound-updates/comment-page-1/#comment-27416</link>

		<dc:creator><![CDATA[ÐÐ½Ð´Ñ€ÐµÐ¹ ÐÑ€ÑˆÐ°Ð²Ð¸Ð½]]></dc:creator>
		<pubDate>Fri, 08 Aug 2008 06:53:22 +0000</pubDate>
		<guid isPermaLink="false">http://www.shiningsilence.com/dbsdlog/index.php/2007/06/14/2294.html#comment-27416</guid>

					<description><![CDATA[Ð¯ ÐºÐ¾Ð½ÐµÑ‡Ð½Ð¾ Ð² ÑÑ‚Ð¾Ð¼ Ð½Ðµ Ð¾ÑÐ¾Ð±Ð¾ Ñ€Ð°Ð·Ð±Ð¸Ñ€Ð°ÑŽÑÑŒ, Ð½Ð¾ Ð¿Ð¾ÑÐ»Ðµ Ð²Ð°ÑˆÐµÐ¹ ÑÑ‚Ð°Ñ‚ÑŒÐ¸ ÑÑ‚Ð°Ð» Ð³Ð¾Ñ€Ð°Ð·Ð´Ð¾ Ð±Ð¾Ð»ÑŒÑˆÐµ Ð¿Ð¾Ð½Ð¸Ð¼Ð°Ñ‚ÑŒ. Ð‘Ð»Ð°Ð³Ð¾Ð´Ð°Ñ€ÑÑ‚Ð²ÑƒÑŽ :)]]></description>
			<content:encoded><![CDATA[<p>Ð¯ ÐºÐ¾Ð½ÐµÑ‡Ð½Ð¾ Ð² ÑÑ‚Ð¾Ð¼ Ð½Ðµ Ð¾ÑÐ¾Ð±Ð¾ Ñ€Ð°Ð·Ð±Ð¸Ñ€Ð°ÑŽÑÑŒ, Ð½Ð¾ Ð¿Ð¾ÑÐ»Ðµ Ð²Ð°ÑˆÐµÐ¹ ÑÑ‚Ð°Ñ‚ÑŒÐ¸ ÑÑ‚Ð°Ð» Ð³Ð¾Ñ€Ð°Ð·Ð´Ð¾ Ð±Ð¾Ð»ÑŒÑˆÐµ Ð¿Ð¾Ð½Ð¸Ð¼Ð°Ñ‚ÑŒ. Ð‘Ð»Ð°Ð³Ð¾Ð´Ð°Ñ€ÑÑ‚Ð²ÑƒÑŽ :)</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Lazarus		</title>
		<link>https://www.dragonflydigest.com/2007/06/14/more-sound-updates/comment-page-1/#comment-13116</link>

		<dc:creator><![CDATA[Lazarus]]></dc:creator>
		<pubDate>Mon, 25 Jun 2007 04:21:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.shiningsilence.com/dbsdlog/index.php/2007/06/14/2294.html#comment-13116</guid>

					<description><![CDATA[&quot;Matt was extremely vocal in his insistance that mutexes are not necessary in the dragonfly SMP model and would not be added to dragonfly. He partially reneged on that claim when he added spinlocks (a form of mutex), and now he is apparently using lockmgr locks as mutexes to avoid giving that final inch of ground by adding an efficient sleep mutex implementation.&quot;

I&#039;ve read Matt&#039;s comments on various lists since DragonFly was first announced, and in a couple of places he&#039;s mentioned that there are a few places in DragonFly where the use of mutexes etc. would be required (an example link will be provided at the end of the post). 

As has been pointed out by folks above me, many of the core bits of the kernel are nearly if not completely MP safe (network stack, slab allocator, LWKT/messaging systems etc), and are also lockless, per-cpu, serialized using threads, and employing async IPI messages to deal with things owned by other cpus. 

The fact that something like a sound driver imported from FreeBSD requires locks to be  MP safe hardly seems of great consequence for the time being when there is still more work being done on the kernel core to get the system to do the things that Matt wants. 

Hell, I wish the BGL was no longer needed on DragonFly, but lacking anything with more than a dual core processor, I doubt I&#039;d really see a difference under everyday workloads. It&#039;ll be gone soon enough, and for the time being, if you really need more scalability than DF currently offers, there are plenty of systems to choose from. 

http://lists.freebsd.org/pipermail/freebsd-hackers/2003-October/003800.html

&quot;though messing with ucred&#039;s ref count will require a mutex or an atomic bus-locked instruction even in DragonFly!&quot;]]></description>
			<content:encoded><![CDATA[<p>&#8220;Matt was extremely vocal in his insistance that mutexes are not necessary in the dragonfly SMP model and would not be added to dragonfly. He partially reneged on that claim when he added spinlocks (a form of mutex), and now he is apparently using lockmgr locks as mutexes to avoid giving that final inch of ground by adding an efficient sleep mutex implementation.&#8221;</p>
<p>I&#8217;ve read Matt&#8217;s comments on various lists since DragonFly was first announced, and in a couple of places he&#8217;s mentioned that there are a few places in DragonFly where the use of mutexes etc. would be required (an example link will be provided at the end of the post). </p>
<p>As has been pointed out by folks above me, many of the core bits of the kernel are nearly if not completely MP safe (network stack, slab allocator, LWKT/messaging systems etc), and are also lockless, per-cpu, serialized using threads, and employing async IPI messages to deal with things owned by other cpus. </p>
<p>The fact that something like a sound driver imported from FreeBSD requires locks to be  MP safe hardly seems of great consequence for the time being when there is still more work being done on the kernel core to get the system to do the things that Matt wants. </p>
<p>Hell, I wish the BGL was no longer needed on DragonFly, but lacking anything with more than a dual core processor, I doubt I&#8217;d really see a difference under everyday workloads. It&#8217;ll be gone soon enough, and for the time being, if you really need more scalability than DF currently offers, there are plenty of systems to choose from. </p>
<p><a href="http://lists.freebsd.org/pipermail/freebsd-hackers/2003-October/003800.html" rel="nofollow ugc">http://lists.freebsd.org/pipermail/freebsd-hackers/2003-October/003800.html</a></p>
<p>&#8220;though messing with ucred&#8217;s ref count will require a mutex or an atomic bus-locked instruction even in DragonFly!&#8221;</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Comments about SMP &#183; DragonFly BSD Digest		</title>
		<link>https://www.dragonflydigest.com/2007/06/14/more-sound-updates/comment-page-1/#comment-13114</link>

		<dc:creator><![CDATA[Comments about SMP &#183; DragonFly BSD Digest]]></dc:creator>
		<pubDate>Mon, 25 Jun 2007 01:43:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.shiningsilence.com/dbsdlog/index.php/2007/06/14/2294.html#comment-13114</guid>

					<description><![CDATA[[...] recent post here on the Digest attacted a lot of comments - some trolling, some useful.Â  Read at your leisure.   Categories Goings-on       &#171;BSDTalk 118 - Sidsel [...]]]></description>
			<content:encoded><![CDATA[<p>[&#8230;] recent post here on the Digest attacted a lot of comments &#8211; some trolling, some useful.Â  Read at your leisure.   Categories Goings-on       &laquo;BSDTalk 118 &#8211; Sidsel [&#8230;]</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Matt Dillon		</title>
		<link>https://www.dragonflydigest.com/2007/06/14/more-sound-updates/comment-page-1/#comment-13111</link>

		<dc:creator><![CDATA[Matt Dillon]]></dc:creator>
		<pubDate>Sun, 24 Jun 2007 18:01:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.shiningsilence.com/dbsdlog/index.php/2007/06/14/2294.html#comment-13111</guid>

					<description><![CDATA[Insofar as mutex primitives go... I&#039;m not sure if the poster realizes that mutexes and lockmgr locks are virtually the same thing in FreeBSD.  The core of the code is about the same either way... fast if it isn&#039;t contended, and slower if it is.  There are minor scheduler differences with regards to how things block, but that&#039;s it.  DragonFly doesn&#039;t need mutexes, because it has lockmgr locks, and our scheduler is far less heavy weight then FreeBSDs so it just isn&#039;t that big a deal to block.

DragonFly has three major locking primitives.. four, actually.  It has critical sections for cpu-localized operations.  It has real spinlocks for short bits of code.  It has lockmgr locks for longer bits of code that might block.  And it has tokens for very long bits of code that need to be serialized, but might block, for which we want the token to automatically be released and reqacquired by the scheduler if we block.  A good example of the latter is the vnode scanner.

The issue with SMP for us is simply one of manpower.  The most important primitives in the system.. the scheduler, the IPI messaging, and numerous other little bits are lock-free and run without the BGL.  The I/O path and the VM path still needs the BGL.  The network protocol threads still hold the BGL but will are designed to run without it and just need some attention.  It&#039;s been that way for a year, which I&#039;m not happy with, but there are only so many hours in a day and I do have to sleep occassionally.

-Matt]]></description>
			<content:encoded><![CDATA[<p>Insofar as mutex primitives go&#8230; I&#8217;m not sure if the poster realizes that mutexes and lockmgr locks are virtually the same thing in FreeBSD.  The core of the code is about the same either way&#8230; fast if it isn&#8217;t contended, and slower if it is.  There are minor scheduler differences with regards to how things block, but that&#8217;s it.  DragonFly doesn&#8217;t need mutexes, because it has lockmgr locks, and our scheduler is far less heavy weight then FreeBSDs so it just isn&#8217;t that big a deal to block.</p>
<p>DragonFly has three major locking primitives.. four, actually.  It has critical sections for cpu-localized operations.  It has real spinlocks for short bits of code.  It has lockmgr locks for longer bits of code that might block.  And it has tokens for very long bits of code that need to be serialized, but might block, for which we want the token to automatically be released and reqacquired by the scheduler if we block.  A good example of the latter is the vnode scanner.</p>
<p>The issue with SMP for us is simply one of manpower.  The most important primitives in the system.. the scheduler, the IPI messaging, and numerous other little bits are lock-free and run without the BGL.  The I/O path and the VM path still needs the BGL.  The network protocol threads still hold the BGL but will are designed to run without it and just need some attention.  It&#8217;s been that way for a year, which I&#8217;m not happy with, but there are only so many hours in a day and I do have to sleep occassionally.</p>
<p>-Matt</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Matt Dillon		</title>
		<link>https://www.dragonflydigest.com/2007/06/14/more-sound-updates/comment-page-1/#comment-13110</link>

		<dc:creator><![CDATA[Matt Dillon]]></dc:creator>
		<pubDate>Sun, 24 Jun 2007 17:50:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.shiningsilence.com/dbsdlog/index.php/2007/06/14/2294.html#comment-13110</guid>

					<description><![CDATA[Well, first of all, we are faced with a relatively huge job reworking the sound code&#039;s locks properly and frankly it is not #1 on my priority list.  Secondly, spinlocks (or mutexes in the case of the code in FreeBSD) are used entirely inappropriately by the sound module... they are being used to lockup *HUGE* swaths of code and for all intents and purposes they might as well be heavy weight locks.  Third, this is a *sound* driver we are talking about here.  Performance isn&#039;t really an issue except insofar as it interferes with itself.  And, finally, from a performance standpoint lockmgr locks (particularly ours, which have been cleaned up considerably from the cruft we inherited) are only going to be a nanosecond or two slower then a spinlock anyhow, which is pretty irrelevant when it comes to a sound device.

-Matt]]></description>
			<content:encoded><![CDATA[<p>Well, first of all, we are faced with a relatively huge job reworking the sound code&#8217;s locks properly and frankly it is not #1 on my priority list.  Secondly, spinlocks (or mutexes in the case of the code in FreeBSD) are used entirely inappropriately by the sound module&#8230; they are being used to lockup *HUGE* swaths of code and for all intents and purposes they might as well be heavy weight locks.  Third, this is a *sound* driver we are talking about here.  Performance isn&#8217;t really an issue except insofar as it interferes with itself.  And, finally, from a performance standpoint lockmgr locks (particularly ours, which have been cleaned up considerably from the cruft we inherited) are only going to be a nanosecond or two slower then a spinlock anyhow, which is pretty irrelevant when it comes to a sound device.</p>
<p>-Matt</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Anonymous		</title>
		<link>https://www.dragonflydigest.com/2007/06/14/more-sound-updates/comment-page-1/#comment-13095</link>

		<dc:creator><![CDATA[Anonymous]]></dc:creator>
		<pubDate>Fri, 22 Jun 2007 20:43:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.shiningsilence.com/dbsdlog/index.php/2007/06/14/2294.html#comment-13095</guid>

					<description><![CDATA[I am not a dragonfly user or developer, just an interested observer.  As such I am not going to take a role in performing this work myself.  It is an effort that will need to come from within the dragonfly user community: you guys need to find a way to become more efficient with the resources you have, because the alternative is to fall further and further behind other operating systems in critical usability areas like performance and support for modern hardware.  

Currently dragonfly is still mostly comparable to freebsd 4 in these and other areas (although there have been a few specific features ported back from freebsd 6, such as the sound framework we have been discussing), which puts you about 7 years behind freebsd in many areas, and with a widening gap because of the difference in number of developers.]]></description>
			<content:encoded><![CDATA[<p>I am not a dragonfly user or developer, just an interested observer.  As such I am not going to take a role in performing this work myself.  It is an effort that will need to come from within the dragonfly user community: you guys need to find a way to become more efficient with the resources you have, because the alternative is to fall further and further behind other operating systems in critical usability areas like performance and support for modern hardware.  </p>
<p>Currently dragonfly is still mostly comparable to freebsd 4 in these and other areas (although there have been a few specific features ported back from freebsd 6, such as the sound framework we have been discussing), which puts you about 7 years behind freebsd in many areas, and with a widening gap because of the difference in number of developers.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: justin		</title>
		<link>https://www.dragonflydigest.com/2007/06/14/more-sound-updates/comment-page-1/#comment-13093</link>

		<dc:creator><![CDATA[justin]]></dc:creator>
		<pubDate>Fri, 22 Jun 2007 20:30:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.shiningsilence.com/dbsdlog/index.php/2007/06/14/2294.html#comment-13093</guid>

					<description><![CDATA[Hey, you&#039;re right - I mistook the disklabel work for something else.  I modified the post to note this.  

I think the benchmarking and code profiling you mention is a matter of manpower, and nothing else.  This is why I am trying to steer you to the mailing lists, because critical evaluation of the code base as it changes over time would be quite useful, and welcomed by the group.  I&#039;m not dismissing your messages - I&#039;m encouraging them!  Anonymous blog comments aren&#039;t going to be as useful as a complete debate that includes all the people involved in the project.]]></description>
			<content:encoded><![CDATA[<p>Hey, you&#8217;re right &#8211; I mistook the disklabel work for something else.  I modified the post to note this.  </p>
<p>I think the benchmarking and code profiling you mention is a matter of manpower, and nothing else.  This is why I am trying to steer you to the mailing lists, because critical evaluation of the code base as it changes over time would be quite useful, and welcomed by the group.  I&#8217;m not dismissing your messages &#8211; I&#8217;m encouraging them!  Anonymous blog comments aren&#8217;t going to be as useful as a complete debate that includes all the people involved in the project.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Anonymous		</title>
		<link>https://www.dragonflydigest.com/2007/06/14/more-sound-updates/comment-page-1/#comment-13092</link>

		<dc:creator><![CDATA[Anonymous]]></dc:creator>
		<pubDate>Fri, 22 Jun 2007 20:29:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.shiningsilence.com/dbsdlog/index.php/2007/06/14/2294.html#comment-13092</guid>

					<description><![CDATA[TGEN, attempting to deflect the criticism with &quot;oh yeah, well so are you!&quot; is childish.  If you acknowledge that the problem is real, then the way to proceed is to do better, not to claim that everyone else is just as bad so that makes it OK.]]></description>
			<content:encoded><![CDATA[<p>TGEN, attempting to deflect the criticism with &#8220;oh yeah, well so are you!&#8221; is childish.  If you acknowledge that the problem is real, then the way to proceed is to do better, not to claim that everyone else is just as bad so that makes it OK.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: TGEN		</title>
		<link>https://www.dragonflydigest.com/2007/06/14/more-sound-updates/comment-page-1/#comment-13091</link>

		<dc:creator><![CDATA[TGEN]]></dc:creator>
		<pubDate>Fri, 22 Jun 2007 20:24:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.shiningsilence.com/dbsdlog/index.php/2007/06/14/2294.html#comment-13091</guid>

					<description><![CDATA[The same thing holds true for FreeBSD users, as I haven&#039;t met anyone of them yet who isn&#039;t either clueless or a dramaqueen.]]></description>
			<content:encoded><![CDATA[<p>The same thing holds true for FreeBSD users, as I haven&#8217;t met anyone of them yet who isn&#8217;t either clueless or a dramaqueen.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Anonymous		</title>
		<link>https://www.dragonflydigest.com/2007/06/14/more-sound-updates/comment-page-1/#comment-13090</link>

		<dc:creator><![CDATA[Anonymous]]></dc:creator>
		<pubDate>Fri, 22 Jun 2007 20:13:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.shiningsilence.com/dbsdlog/index.php/2007/06/14/2294.html#comment-13090</guid>

					<description><![CDATA[Justin, Matt was the one who converted from spinlocks to lockmgr, and no-one called him on it.  Unfortunately that is the level of uncritical acceptance that appears to be common in the dragonfly community.  There is a lack of critical introspection and analysis through benchmarking and code profiling that is raising a large barrier for dragonfly to become performance competitive with other operating systems.  Regardless of whether you choose to dismiss my messages, it is self-evident that this process is necessary to guide development.

Perhaps the problem is that few of the dragonfly users have the technical understanding to follow the changes being made, so it results in elementary confusion like mistaking &quot;64-bit disklabel support&quot; for &quot;64-bit amd64 support is now one step closer!&quot;]]></description>
			<content:encoded><![CDATA[<p>Justin, Matt was the one who converted from spinlocks to lockmgr, and no-one called him on it.  Unfortunately that is the level of uncritical acceptance that appears to be common in the dragonfly community.  There is a lack of critical introspection and analysis through benchmarking and code profiling that is raising a large barrier for dragonfly to become performance competitive with other operating systems.  Regardless of whether you choose to dismiss my messages, it is self-evident that this process is necessary to guide development.</p>
<p>Perhaps the problem is that few of the dragonfly users have the technical understanding to follow the changes being made, so it results in elementary confusion like mistaking &#8220;64-bit disklabel support&#8221; for &#8220;64-bit amd64 support is now one step closer!&#8221;</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Anonymous		</title>
		<link>https://www.dragonflydigest.com/2007/06/14/more-sound-updates/comment-page-1/#comment-13089</link>

		<dc:creator><![CDATA[Anonymous]]></dc:creator>
		<pubDate>Fri, 22 Jun 2007 20:03:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.shiningsilence.com/dbsdlog/index.php/2007/06/14/2294.html#comment-13089</guid>

					<description><![CDATA[Simon, I&#039;d appreciate references to benchmarks supporting your assertion that lockmgr locks are approximately as efficient as spinlocks.  Based on an inspection of the code I believe it to be completely untrue, and your simply asserting it does not make it so.]]></description>
			<content:encoded><![CDATA[<p>Simon, I&#8217;d appreciate references to benchmarks supporting your assertion that lockmgr locks are approximately as efficient as spinlocks.  Based on an inspection of the code I believe it to be completely untrue, and your simply asserting it does not make it so.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: justin		</title>
		<link>https://www.dragonflydigest.com/2007/06/14/more-sound-updates/comment-page-1/#comment-13088</link>

		<dc:creator><![CDATA[justin]]></dc:creator>
		<pubDate>Fri, 22 Jun 2007 19:57:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.shiningsilence.com/dbsdlog/index.php/2007/06/14/2294.html#comment-13088</guid>

					<description><![CDATA[Matt&#039;s not here saying anything, so we have no word to take as golden.  This is why I suggest taking this to the mailing lists, so that you can address him directly.  

In any case, the sound code originally in question here was ported from FreeBSD by a different developer.]]></description>
			<content:encoded><![CDATA[<p>Matt&#8217;s not here saying anything, so we have no word to take as golden.  This is why I suggest taking this to the mailing lists, so that you can address him directly.  </p>
<p>In any case, the sound code originally in question here was ported from FreeBSD by a different developer.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Anonymous		</title>
		<link>https://www.dragonflydigest.com/2007/06/14/more-sound-updates/comment-page-1/#comment-13087</link>

		<dc:creator><![CDATA[Anonymous]]></dc:creator>
		<pubDate>Fri, 22 Jun 2007 19:53:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.shiningsilence.com/dbsdlog/index.php/2007/06/14/2294.html#comment-13087</guid>

					<description><![CDATA[But apparently the existing primitives are not good enough in this instance.  And if Matt is not opposed to adding a mutex primitive, why doesn&#039;t he just do that instead of severely abusing lockmgr?  If you are claiming that dragonfly&#039;s lockmgr is in fact efficient enough to use in this way, where are your measurements that demonstrate this?

These are the questions you guys should be asking yourselves instead of just taking Matt&#039;s word as golden.]]></description>
			<content:encoded><![CDATA[<p>But apparently the existing primitives are not good enough in this instance.  And if Matt is not opposed to adding a mutex primitive, why doesn&#8217;t he just do that instead of severely abusing lockmgr?  If you are claiming that dragonfly&#8217;s lockmgr is in fact efficient enough to use in this way, where are your measurements that demonstrate this?</p>
<p>These are the questions you guys should be asking yourselves instead of just taking Matt&#8217;s word as golden.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Simon 'corecode' Schubert		</title>
		<link>https://www.dragonflydigest.com/2007/06/14/more-sound-updates/comment-page-1/#comment-13086</link>

		<dc:creator><![CDATA[Simon 'corecode' Schubert]]></dc:creator>
		<pubDate>Fri, 22 Jun 2007 19:51:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.shiningsilence.com/dbsdlog/index.php/2007/06/14/2294.html#comment-13086</guid>

					<description><![CDATA[Anonymous is obviously a clueless, ignorant person.  So, for everybody really intersted in the points raised:

Lockmgr locks are a form of mutex (what else), and they are approximately as efficient (when uncontended) as spinlocks.

Furthermore, the sound subsystem does not have to be highly optimized for MP performance.  There is few potential to split data structures between CPUs and it will rarely be accessed concurrently.  Not reworking the locking paradigm is very economic, because more code updates can be easily imported from FreeBSD.

Thus, perfect choice to use lockmgr locks.

Don&#039;t feed the troll!  Or, wait...  maybe some rotten eggs?]]></description>
			<content:encoded><![CDATA[<p>Anonymous is obviously a clueless, ignorant person.  So, for everybody really intersted in the points raised:</p>
<p>Lockmgr locks are a form of mutex (what else), and they are approximately as efficient (when uncontended) as spinlocks.</p>
<p>Furthermore, the sound subsystem does not have to be highly optimized for MP performance.  There is few potential to split data structures between CPUs and it will rarely be accessed concurrently.  Not reworking the locking paradigm is very economic, because more code updates can be easily imported from FreeBSD.</p>
<p>Thus, perfect choice to use lockmgr locks.</p>
<p>Don&#8217;t feed the troll!  Or, wait&#8230;  maybe some rotten eggs?</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: TGEN		</title>
		<link>https://www.dragonflydigest.com/2007/06/14/more-sound-updates/comment-page-1/#comment-13085</link>

		<dc:creator><![CDATA[TGEN]]></dc:creator>
		<pubDate>Fri, 22 Jun 2007 19:41:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.shiningsilence.com/dbsdlog/index.php/2007/06/14/2294.html#comment-13085</guid>

					<description><![CDATA[Oh and btw, this is sound we&#039;re talking about. Who the fuck cares?!? ;)

P.S.
For those unaware, this comment was made in jest.]]></description>
			<content:encoded><![CDATA[<p>Oh and btw, this is sound we&#8217;re talking about. Who the fuck cares?!? ;)</p>
<p>P.S.<br />
For those unaware, this comment was made in jest.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: TGEN		</title>
		<link>https://www.dragonflydigest.com/2007/06/14/more-sound-updates/comment-page-1/#comment-13084</link>

		<dc:creator><![CDATA[TGEN]]></dc:creator>
		<pubDate>Fri, 22 Jun 2007 19:40:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.shiningsilence.com/dbsdlog/index.php/2007/06/14/2294.html#comment-13084</guid>

					<description><![CDATA[His points were against the mutex model chosen by the FreeBSD project, not the academical abstraction of a mutex. That&#039;s how I understood it at least. Also, DragonFly lockmgr locks aren&#039;t identical to FreeBSD 4.x (and 5.x?) lockmgr locks, they&#039;ve been simplified and adapted more towards the serializers since. I don&#039;t know when exactly, but at least one release ago, so more than half a year ago.

As for porting code from FreeBSD, spinlocks and LWKT serializers are very good alternatives in practical use.]]></description>
			<content:encoded><![CDATA[<p>His points were against the mutex model chosen by the FreeBSD project, not the academical abstraction of a mutex. That&#8217;s how I understood it at least. Also, DragonFly lockmgr locks aren&#8217;t identical to FreeBSD 4.x (and 5.x?) lockmgr locks, they&#8217;ve been simplified and adapted more towards the serializers since. I don&#8217;t know when exactly, but at least one release ago, so more than half a year ago.</p>
<p>As for porting code from FreeBSD, spinlocks and LWKT serializers are very good alternatives in practical use.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Anonymous		</title>
		<link>https://www.dragonflydigest.com/2007/06/14/more-sound-updates/comment-page-1/#comment-13083</link>

		<dc:creator><![CDATA[Anonymous]]></dc:creator>
		<pubDate>Fri, 22 Jun 2007 19:34:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.shiningsilence.com/dbsdlog/index.php/2007/06/14/2294.html#comment-13083</guid>

					<description><![CDATA[It&#039;s OK, I&#039;m not expecting to change the opinions of any of the true believers.  Those of you who care objectively about dragonfly will have to address this problem sooner or later though.]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s OK, I&#8217;m not expecting to change the opinions of any of the true believers.  Those of you who care objectively about dragonfly will have to address this problem sooner or later though.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Justin Sherrill		</title>
		<link>https://www.dragonflydigest.com/2007/06/14/more-sound-updates/comment-page-1/#comment-13082</link>

		<dc:creator><![CDATA[Justin Sherrill]]></dc:creator>
		<pubDate>Fri, 22 Jun 2007 19:27:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.shiningsilence.com/dbsdlog/index.php/2007/06/14/2294.html#comment-13082</guid>

					<description><![CDATA[&lt;p&gt;When you won&#039;t post who you are, it makes it difficult to take your comments seriously.&lt;/p&gt;
&lt;p&gt;I&#039;m not qualified to assess how valid your description of lockmgr is. The only point made so far is that &lt;/p&gt;
&lt;p&gt;1: DragonFly BSD is somehow invalidated as an entire project because &lt;/p&gt;
&lt;p&gt;2: a developer committed ported code that, by your definition, matches a locking type that another (not directly quoted) developer didn&#039;t like.&lt;/p&gt;
&lt;p&gt;The people you are naming/quoting in this discussion are not present; this discussion is not going to lead to anything useful until you engage the actual people involved.  I&#039;m not doing this to be defensive; if there&#039;s a problem in the way the system is being built, it&#039;s good to get it discussed and out in the open.  These blog comments won&#039;t do that.&lt;/p&gt;
]]></description>
			<content:encoded><![CDATA[<p>When you won&#8217;t post who you are, it makes it difficult to take your comments seriously.</p>
<p>I&#8217;m not qualified to assess how valid your description of lockmgr is. The only point made so far is that </p>
<p>1: DragonFly BSD is somehow invalidated as an entire project because </p>
<p>2: a developer committed ported code that, by your definition, matches a locking type that another (not directly quoted) developer didn&#8217;t like.</p>
<p>The people you are naming/quoting in this discussion are not present; this discussion is not going to lead to anything useful until you engage the actual people involved.  I&#8217;m not doing this to be defensive; if there&#8217;s a problem in the way the system is being built, it&#8217;s good to get it discussed and out in the open.  These blog comments won&#8217;t do that.</p></p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Anonymous		</title>
		<link>https://www.dragonflydigest.com/2007/06/14/more-sound-updates/comment-page-1/#comment-13081</link>

		<dc:creator><![CDATA[Anonymous]]></dc:creator>
		<pubDate>Fri, 22 Jun 2007 18:08:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.shiningsilence.com/dbsdlog/index.php/2007/06/14/2294.html#comment-13081</guid>

					<description><![CDATA[No, that&#039;s your job to implement :)  lockmgr is being used here as a way to stealthily avoid implementing mutexes.  As long-time project observers know, back when SMP was still something that seemed achievable in dragonfly, Matt was extremely vocal in his insistance that mutexes are not necessary in the dragonfly SMP model and would not be added to dragonfly.  He partially reneged on that claim when he added spinlocks (a form of mutex), and now he is apparently using lockmgr locks as mutexes to avoid giving that final inch of ground by adding an efficient sleep mutex implementation.  For example, this will be useful in all the code being ported from freebsd.

Unfortunately lockmgr is about the worst possible implementation of a synchronization primitive to use in low-level kernel code.  It is about two orders of magnitude too slow, bloated and inefficient for the job.]]></description>
			<content:encoded><![CDATA[<p>No, that&#8217;s your job to implement :)  lockmgr is being used here as a way to stealthily avoid implementing mutexes.  As long-time project observers know, back when SMP was still something that seemed achievable in dragonfly, Matt was extremely vocal in his insistance that mutexes are not necessary in the dragonfly SMP model and would not be added to dragonfly.  He partially reneged on that claim when he added spinlocks (a form of mutex), and now he is apparently using lockmgr locks as mutexes to avoid giving that final inch of ground by adding an efficient sleep mutex implementation.  For example, this will be useful in all the code being ported from freebsd.</p>
<p>Unfortunately lockmgr is about the worst possible implementation of a synchronization primitive to use in low-level kernel code.  It is about two orders of magnitude too slow, bloated and inefficient for the job.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: TGEN		</title>
		<link>https://www.dragonflydigest.com/2007/06/14/more-sound-updates/comment-page-1/#comment-13076</link>

		<dc:creator><![CDATA[TGEN]]></dc:creator>
		<pubDate>Fri, 22 Jun 2007 13:05:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.shiningsilence.com/dbsdlog/index.php/2007/06/14/2294.html#comment-13076</guid>

					<description><![CDATA[You&#039;re volunteering to implement a better suitable primitive for sound? Which is not that nice, because it would be the only subsystem using that primitive at that point, but well. Please de-anonymise?]]></description>
			<content:encoded><![CDATA[<p>You&#8217;re volunteering to implement a better suitable primitive for sound? Which is not that nice, because it would be the only subsystem using that primitive at that point, but well. Please de-anonymise?</p>
]]></content:encoded>
		
			</item>
	</channel>
</rss>
