Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 24 Nov 2012 21:52:24 +0000
From:      Attilio Rao <attilio@freebsd.org>
To:        Alfred Perlstein <bright@mu.org>
Cc:        Mark Linimon <linimon@lonesome.com>, Oleksandr Tymoshenko <gonzo@bluezbox.com>, arch@freebsd.org
Subject:   Re: [RFC] sema_wait_sig
Message-ID:  <CAJ-FndBeLvsgXQ4fskRwdZh2qaWbn7-LrCOmJTjPcfnbmD7aYg@mail.gmail.com>
In-Reply-To: <50B12520.7040508@mu.org>
References:  <20121124193010.GB1627@lonesome.com> <50B12520.7040508@mu.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Nov 24, 2012 at 7:50 PM, Alfred Perlstein <bright@mu.org> wrote:
> On 11/24/12 11:30 AM, Mark Linimon wrote:
>>
>> Alfred Perlstein wrote:
>>>
>>> According to this post I shouldn't touch anything that has to do with any
>>> SMP stuff until you complete your upcoming work because it will all be
>>> turned upside down.
>>>
>>> This is not what people should think about FreeBSD, it will drive
>>> developers away.
>>>
>>> Heck, I'm scared now to even write anything.
>>>
>>> -Alfred
>>
>> Logical fallacy is fallacious.
>>
>> I've seen several people jump from "I'm getting pushback on foo" to
>> "nothing at all can be done" recently.  It's bogus reasoning.
>>
>> My view is that the project is no longer in its infancy, where quick
>> and sometimes arbitrary changes could be made.  That may have scaled
>> early on -- but now we have hundreds of developers, thousands of
>> contributors, and bazillions of users.  Now we need consensus and buy-in
>> and roadmaps.
>>
>> Next, rather than compare who has done how much hard work and when
>> (and you both have), Attilio has been doing a lot of work on locking
>> over the past few years.  If he (and possibly the people who have been
>> looking over his shoulder) have a view on how we should move forward,
>> I think they have earned the right to state it.
>>
>> Finally, IMHO, hyperbole can turn off developers too.
>>
>
> No offense to Attilio, the work, debugging, optimizations he's done have
> been beyond invaluable.

I will skip comments on your attitude, mindset, etc. (trying to let me
appear as the bad cop or play at "who is better") but just reply to
technical points.

> Attilio's work on performance and reliability has been very helpful to me
> and many others.
>
> However, as someone who now is going to base kernel work on FreeBSD I find
> this change-for-the-sake-of-change to be completely terrifying.
>
> Well let's reiterate the content of Attilio's message:
>
> 1. lockmgr will be replaced/rototilled by something.

I would like to see it replaced by sx locks.

> 2. sema will be replaced/rototilled by something.

I already said that it will be replaced by mtx + condvar.

> 3. sleep mutexes and spin mutex will have API rototilled by something into
> something else.

I already said that I would like to see it replaced by rwlocks.

> Why?
>
> So basically in the near future all locking primitives will change. Not
> based on feature parity with other OS, not based on preserving KPI.
>
> Just because it's "unclean".

Oh, this is just something you are saying. I didn't say it is
"unclean". I say it is completely wrong and completely redundant. Why
should we favourite code duplication? What is the reason?

Why should we keep sema(9) interface when you can implement exactly
the same logic with a mutex and a condvar? There is a technical
reason? Can you make a real point out of it? Why we should keep
sema(9)?

> Lockmgr has been a ... "pain" forever, it should go or at least never ever
> be used by anything but VFS.

My point on lockmgr() is that their basic mechanism is completely
redundant with sx. There are features they provide that are very
unique and that are very important for the buffer cache (disowning) or
VFS (interlock) but I think we can merge them with sx and be done with
it.

> But back to the point, this isn't a roadmap, this is churn for the sake of
> churn.

These are milestones that we can break up in smaller pieces to make a
plan out of them.

> For aesthetics.

No, this is for code maintenance.

> It's not right and you know it.

Don't put words into my mouth. It is right and I know it.

Ah and let me give you a piece of warning: bullying your opinions over
me is not going bringing you anywhere. I'm not a stupid doll you can
direct at your liking and I have a skin ticker enough to support my
ideas.
And finally I always try to give technical resons on things I propose,
despite your attitude to rework my words or entirely skip them.
Stop it.

Attilio


-- 
Peace can only be achieved by understanding - A. Einstein



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-FndBeLvsgXQ4fskRwdZh2qaWbn7-LrCOmJTjPcfnbmD7aYg>