Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 31 Jan 2016 14:33:10 +0300
From:      Slawa Olhovchenkov <slw@zxy.spb.ru>
To:        mokhi <mokhi64@gmail.com>
Cc:        Warner Losh <imp@bsdimp.com>, Ian Lepore <ian@freebsd.org>, FreeBSD Current <freebsd-current@freebsd.org>
Subject:   Re: thread-unsafety problems as spl*() ones are NOP
Message-ID:  <20160131113310.GU37895@zxy.spb.ru>
In-Reply-To: <CAByVWPUqaWLEKqvXCepX4UZf6GYMW230VNJGC%2B6oN-gZ_NPvhQ@mail.gmail.com>
References:  <CAByVWPWuqdtZ-5p2%2BvGf4v%2BPjjCBkiTQSsZQ06vk-f=bx_TQrQ@mail.gmail.com> <CAByVWPWQJ1wP95S59SiWWBa0k9j2%2Bu1az-D04_V1voo99CxqCw@mail.gmail.com> <1454188175.32550.3.camel@freebsd.org> <CANCZdfrUjy=C0yjcW3QYbCHzYzAmrmC16GY2kpjKDoCBiCj_7Q@mail.gmail.com> <CAByVWPXu==acGjv54XCfawY7gmbB0SxrGrVff0f94QMqu6tf5A@mail.gmail.com> <37EC2460-9C4D-46D4-91A1-FA6CE7B0BFB1@bsdimp.com> <CAByVWPUqaWLEKqvXCepX4UZf6GYMW230VNJGC%2B6oN-gZ_NPvhQ@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Jan 31, 2016 at 10:00:51AM +0330, mokhi wrote:

> @imp:
> i exactly mean (Okay not so exact but very near ;D) what you said.
> after analyzing kbd.c functions (eg, kbd_realloc_array()) i concluded
> there are race conditions (and at  result in some places there are
> un-protected data too)
> 
> i don't mean to blindly replace splXXX() with locks, but the places i
> see race-conds.
> Also i should say there are manythings i dunno well or i dont have
> deep understanding of them and that's why im here to ask (ie what
> special condition Giant-Lock makes here [i should care about] and what
> is MPSAFE basically)
> i'd happy if you answer me those question too :D

I think god explainig can be found in VMS Device Support Manual,
Section 3 (for example
http://odl.sysworks.biz/disk$cddoc04mar21/decw$book/d32va114.p63.decw$book#186).

splXXX is analouge of VMS IPL 1-15 and have same purpose.

Or The Design and Implementation of the 4.3BSD UNIX Operating System
(Chapter 3.3).

Also you can look in FreeBSD repo, stable/2.2 branch, sys/i386/include/spl.h



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