Date: Thu, 4 Dec 2008 19:10:51 +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: <3a142e750812041010n34fbb9bdm9032299d1ab734ab@mail.gmail.com> In-Reply-To: <bb4a86c70812040927j4ae72783o1aa06097890a133c@mail.gmail.com> References: <bb4a86c70812021701i621fdcfjb6a58a7f5cf781d5@mail.gmail.com> <7d6fde3d0812040324y3bf0901cy1f4a6d961362c314@mail.gmail.com> <bb4a86c70812040724w43ddec15yab72920d80d879d3@mail.gmail.com> <3a142e750812040734g26ecda23pfe646c27521cdc82@mail.gmail.com> <3a142e750812040800h5bfa55fcsf52675c425183f8a@mail.gmail.com> <bb4a86c70812040927j4ae72783o1aa06097890a133c@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 12/4/08, Maksim Yevmenkin <maksim.yevmenkin@gmail.com> wrote: > On Thu, Dec 4, 2008 at 8:00 AM, Paul B. Mahol <onemda@gmail.com> wrote: >> 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. > > sorry, but the patch was not really intended to fix anything yet. it > was just a small bit. > >> Typing blindly I managed to panic from kdb, and I got only this: >> >> KDB: enter: manual escape to debugger Manul ecape to debugger. >> panic: from debugger >> cpuid = 1 >> KDB: stack backtrace: >> panic: bufwrite: buffer is not busy??? > > this looks like it came from ffs_bufwrite() in ufs/ffs/ffs_vfsops.c > >> cpuid = 1 >> KDB: enter: panic >> exclusive sleep mutex Giant (Giant) r = 1 (0xc0725a70) locked @ >> /usr/src/sys/dev >> /syscons/syscons.c:618 >> > > can you please setup a serial console and reproduce the panic? > > thanks > max > No, it is not panic, I manualy paniced it because display was blank and keyboard did not worked inside Xorg (ctr+alt+backpace didn't work), but ctrl+alt+esc worked after some time and I blindly typed panic, followed with enter. -- Paul
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3a142e750812041010n34fbb9bdm9032299d1ab734ab>