atomic changes break drm-next-kmod?
Hans Petter Selasky
hps at selasky.org
Thu Jul 5 19:12:52 UTC 2018
On 07/05/18 20:59, Hans Petter Selasky wrote:
> On 07/05/18 19:48, Pete Wright wrote:
>>
>>
>> On 07/05/2018 10:10, John Baldwin wrote:
>>> On 7/3/18 5:10 PM, Pete Wright wrote:
>>>>
>>>> On 07/03/2018 15:56, John Baldwin wrote:
>>>>> On 7/3/18 3:34 PM, Pete Wright wrote:
>>>>>> On 07/03/2018 15:29, John Baldwin wrote:
>>>>>>> That seems like kgdb is looking at the wrong CPU. Can you use
>>>>>>> 'info threads' and look for threads not stopped in 'sched_switch'
>>>>>>> and get their backtraces? You could also just do 'thread apply
>>>>>>> all bt' and put that file at a URL if that is easiest.
>>>>>>>
>>>>>> sure thing John - here's a gist of "thread apply all bt"
>>>>>>
>>>>>> https://gist.github.com/gem-pete/d8d7ab220dc8781f0827f965f09d43ed
>>>>> That doesn't look right at all. Are you sure the kernel matches the
>>>>> vmcore? Also, which kgdb version are you using?
>>>>>
>>>> yea i agree that doesn't look right at all. here is my setup:
>>>>
>>>> $ which kgdb
>>>> /usr/bin/kgdb
>>>> $ kgdb
>>>> GNU gdb 6.1.1 [FreeBSD]
>>>> $ ls -lh /var/crash/vmcore.1
>>>> -rw------- 1 root wheel 1.6G Jul 3 15:03 /var/crash/vmcore.1
>>>> $ ls -l /usr/lib/debug/boot/kernel/kernel.debug
>>>> -r-xr-xr-x 1 root wheel 87840496 Jul 3 13:54
>>>> /usr/lib/debug/boot/kernel/kernel.debug
>>>>
>>>> and i invoke kgdb like so:
>>>> $ sudo kgdb /usr/lib/debug/boot/kernel/kernel.debug /var/crash/vmcore.1
>>>>
>>>> here's a gist of my full gdb session:
>>>> http://termbin.com/krsn
>>>>
>>>> dunno - maybe i have a bad core dump? regardless, more than happy to
>>>> help so let me know if i should try anything else or patches etc..
>>> Can you try installing gdb from ports and using /usr/local/bin/kgdb?
>>>
>>
>> that seems to have done the trick, at least the output looks more
>> encouraging.
>>
>> --- trap 0, rip = 0, rsp = 0, rbp = 0 ---
>> KDB: enter: panic
>>
>> __curthread () at ./machine/pcpu.h:231
>> 231 __asm("movq %%gs:%1,%0" : "=r" (td)
>>
>>
>> here's my full kgdb session:
>> http://termbin.com/qa4f
>>
>> i don't see any threads not in "sched_switch" though :(
>
> Hi,
>
> The problem may be that the patch to enable atomic inlining of all
> macros forgot to set the SMP keyword which means SMP is not defined at
> all for KLD's so all non-kernel atomic usage is with MPLOCKED empty!
>
> /*
> * For userland, always use lock prefixes so that the binaries will run
> * on both SMP and !SMP systems.
> */
> #if defined(SMP) || !defined(_KERNEL)
> #define MPLOCKED "lock ; "
> #else
> #define MPLOCKED
> #endif
>
> Can you try to recompile the LinuxKPI /sys/modules/linuxkpi with
> DEBUG_FLAGS="-DSMP" ?
>
> and similarly the drm-next package?
>
Also please find attached a patch for amd64.
--HPS
-------------- next part --------------
A non-text attachment was scrubbed...
Name: atomic.h.diff
Type: text/x-patch
Size: 656 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-current/attachments/20180705/43503a8b/attachment.bin>
More information about the freebsd-current
mailing list