Date: Thu, 4 Dec 2008 17:00:25 +0100 From: "Paul B. Mahol" <onemda@gmail.com> To: "Maksim Yevmenkin" <maksim.yevmenkin@gmail.com> Cc: current@freebsd.org Subject: Re: RFC: small syscons and kbd patch Message-ID: <3a142e750812040800h5bfa55fcsf52675c425183f8a@mail.gmail.com> In-Reply-To: <3a142e750812040734g26ecda23pfe646c27521cdc82@mail.gmail.com> References: <bb4a86c70812021701i621fdcfjb6a58a7f5cf781d5@mail.gmail.com> <7d6fde3d0812040324y3bf0901cy1f4a6d961362c314@mail.gmail.com> <bb4a86c70812040724w43ddec15yab72920d80d879d3@mail.gmail.com> <3a142e750812040734g26ecda23pfe646c27521cdc82@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 12/4/08, Paul B. Mahol <onemda@gmail.com> wrote: > On 12/4/08, Maksim Yevmenkin <maksim.yevmenkin@gmail.com> wrote: >> On Thu, Dec 4, 2008 at 3:24 AM, Garrett Cooper <yanefbsd@gmail.com> wrote: >>> On Tue, Dec 2, 2008 at 5:01 PM, Maksim Yevmenkin >>> <maksim.yevmenkin@gmail.com> wrote: >>>> Dear Hackers, >>>> >>>> can someone please review the attached small patch for syscons and >>>> kbd? it should be a no-op mostly. the patch basically does >>>> >>>> 1) removes bogus layering in syscons, i.e. basically removes >>>> sccngetch(); >>>> 2) implements advisory lock for kbd (based on atomic(9)); >>>> 3) implements new POLLED flag for kbd; >>>> >>>> this is a part of a plan to fix keyboard access races in syscons. >>>> >>>> thanks, >>>> max >>> >>> Max, >>> Why are you double and triple negating on this line? >>> >>> + return (atomic_cmpset_acq_int(&kbd->kb_locked, !!!on, !!on)); >> >> the idea was to ensure that kbd->kb_locked variable only takes values >> 0 (zero) and 1 (one). >> >> thanks, >> max >> _______________________________________________ >> freebsd-current@freebsd.org mailing list >> http://lists.freebsd.org/mailman/listinfo/freebsd-current >> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org" >> > > Maybe it is usefull to report, maybe not. > > I'm experiencing keyboard (atkbd) death now and then when inside Xorg once > Xorg is started in following (racey) way: > > alias onlyx "/usr/local/bin/xinit -- -nolisten tcp -br & && > exit" > > and /etc/csh.logout: > > echo $TERM | grep cons25 >> /dev/null && clear && vidcontrol -C > > I will test it and report if it fix my "problem". No luck. Typing blindly I managed to panic from kdb, and I got only this: KDB: enter: manual escape to debugger panic: from debugger cpuid = 1 KDB: stack backtrace: panic: bufwrite: buffer is not busy??? cpuid = 1 KDB: enter: panic exclusive sleep mutex Giant (Giant) r = 1 (0xc0725a70) locked @ /usr/src/sys/dev /syscons/syscons.c:618 -- Paul
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3a142e750812040800h5bfa55fcsf52675c425183f8a>