Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 28 Aug 2015 11:08:37 +0200
From:      Julien Charbon <jch@freebsd.org>
To:        Konstantin Belousov <kostikbel@gmail.com>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, John Baldwin <jhb@freebsd.org>
Subject:   Re: svn commit: r286880 - head/sys/kern
Message-ID:  <55E02515.1010705@freebsd.org>
In-Reply-To: <20150827171918.GM2072@kib.kiev.ua>
References:  <201508181015.t7IAFAex055889@repo.freebsd.org> <55DD69E5.4090904@selasky.org> <55DD74EB.30601@selasky.org> <55DE01F7.8040508@freebsd.org> <20150827104946.GH2072@kib.kiev.ua> <55DF3A93.8080507@freebsd.org> <20150827171918.GM2072@kib.kiev.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--gVdgJKUhUhxHTrEfWuBxdan5WD5HD4iKr
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable


 Hi Konstantin,

On 27/08/15 19:19, Konstantin Belousov wrote:
> On Thu, Aug 27, 2015 at 06:28:03PM +0200, Julien Charbon wrote:
>> On 27/08/15 12:49, Konstantin Belousov wrote:
>>> On Wed, Aug 26, 2015 at 08:14:15PM +0200, Julien Charbon wrote:
>>>>  As I said, I am not opposed to back out this change, callout(9) API=
 in
>>>> mpsafe mode is a already complex/subtle API, it won't change too muc=
h
>>>> the current complexity.
>>>>
>>>>  Let say that if nobody screams until Friday 8/28, I will put back
>>>> r284245 and revert this change _and_ I will make this case clear in =
the
>>>> man page.
>>>
>>> [Replying to a random message in the whole set of conversations]
>>>
>>> There is one more case, besides TCP timers, which is equially, of not=

>>> more, critical and sensitive WRT to the callout_stop().  Look at the
>>> sys/kern/subr_sleepqueue.c:sleepq_check_timeout().  Stray return of
>>> the false result from callout_stop() causes creation of the non-killa=
ble
>>> processes:  the callout fired, we missed the wakeup and went to sleep=

>>> by manually doing the context switch.  Such thread cannot be woken up=
=2E
>>>
>>> I suspect that your fix is a better approach than my attempt to look
>>> at something similar at PR 200992 (may be not).
>>
>>  This change (r286880) won't improve the PR 200992:
>>
>>  r286880 only addresses a case where callout_stop() returns 1 instead =
of
>> 0.  Thus the only thing that can do r286880 to PR 200992:
>>
>>  - Don't change anything the issues
>>  - Worsen the issue
>>
>>  Sorry to kill your hope of a simple and elegant fix for PR 200992.
>=20
> Well, not that I am frustrated much.  Thank you for taking a look.
> Did you read the patch attached to the PR ?

 Right, I read it from here:

https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D157915&action=3Ddif=
f

 And I am not confident enough to say if it is the right way go.  I
became knowledgeable on callout calls from TCP timers (D2079 and D2763),
but that's it.

 I would propose rrs (as he introduced the 'not_on_a_list' logic) and
jhb for reviewing your patch.

 And unlike me (D3078), don't underestimate the callout complexity in
mpsafe mode. :)

--
Julien


--gVdgJKUhUhxHTrEfWuBxdan5WD5HD4iKr
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQEcBAEBCgAGBQJV4CUaAAoJEKVlQ5Je6dhxT2oIANsQTSZddyiNnTKS3DOv0un+
QWtRcKQenHlqZratYMCqqpsrBTHFhe2Fsr9JaJBJr5FWOLeKSCbpkQEpMqaLak3U
TeYLY4vZpF3R+Jk1KcJ/Ph8h7wQ+2thSvv9txuWPwsvQMJ+G91R5L5yny3SQq+Bx
D82PgawpqjaqQLho50VFtDgyVrlLEv4up0wrRZFR/XL4h6lCWeVd4b4IjEnlXwvT
L0C+ALo6ClVfbp6W0K5c+ODV7h+ePCWb+luj5MbU81LleNEsOh2EyToDNw2Z6d3i
9tA8beNcudbQ7Ogdvy8W/wgVt13wphH2a7mOyo1159aEoYDMQx6JUXhTRliQzsc=
=142B
-----END PGP SIGNATURE-----

--gVdgJKUhUhxHTrEfWuBxdan5WD5HD4iKr--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?55E02515.1010705>