Hi,
I would like to start to contribute to drm part of kernel. I tried a few things:
- Compiled linux-next tree using C=1 (sparse) to find things to improve. But couldn't find any problem or issue. - I looked in "www.x.org/wiki/DRMJanitors/" for stuff to do, but seems that most of them are already done when I checked the code.
- Compiled and run the linux-next tree to test the code. And for this I got the warning below. I tried to compile a few older versions of linux-next in order to find the offending commit. But I didn't succeed, many commits don't boot at all, and is difficult to get more information about the status of the warning for that version.
So, I would like some tips about how to debug DRM code, how to test, how to get more information about issues. What I do is : - Compile and run - Restart to a good kernel - "journalctl --boot=-1" to see if I got any warning on previous kernel
Also, if any developer needs/wants some help and it's ok to guide a new guy in DRM code, I would like to get help about tasks to do, things to clean/improve. I'm reading https://www.kernel.org/doc/htmldocs/drm/ to start, and I have done a few courses from linux foundation.
Thanks Best Regards
-- Lucas Tanure br.linkedin.com/in/lucastanure
WARNING: CPU: 3 PID: 243 at drivers/gpu/drm/drm_drv.c:569 drm_dev_alloc+0x251/0x320 [drm]() Modules linked in: i915(+) joydev input_leds mousedev intel_rapl iosf_mbi x86_pkg_temp_thermal intel_powerclamp coretemp kvm_intel kvm ttm hid_generic drm_kms_helper crct10dif_pclmul snd_hda_intel crc32_pclmul usbhid snd_hda_codec crc32c_intel drm hid ghash_clmulni_intel snd_hda_core eeepc_wmi asus_wmi aesni_intel iTCO_wdt sparse_keymap snd_hwdep led_class aes_x86_64 lrw snd_pcm iTCO_vendor_support rfkill mxm_wmi evdev gf128mul intel_gtt e1000e glue_helper mac_hid snd_timer syscopyarea ablk_helper cryptd sysfillrect psmouse snd sysimgblt pcspkr fb_sys_fops ptp mei_me i2c_i801 i2c_algo_bit soundcore mei shpchp i2c_core pps_core lpc_ich serio_raw wmi fan battery processor thermal video button sch_fq_codel ip_tables x_tables ext4 crc16 mbcache jbd2 sd_mod atkbd libps2 ahci libahci libata xhci_pci xhci_hcd ehci_pci ehci_hcd scsi_mod usbcore usb_common i8042 serio CPU: 3 PID: 243 Comm: systemd-udevd Not tainted 4.2.0-next-20150912-ARCH #5 Hardware name: System manufacturer System Product Name/Maximus IV GENE-Z, BIOS 3603 11/09/2012 0000000000000000 000000005ca47666 ffff88060f70b9d0 ffffffff812b9159 0000000000000000 ffff88060f70ba08 ffffffff81074e62 ffff880612d39000 ffffffffa06c7100 ffff880612f66098 ffffffffa06c7100 ffffffffa0691760 Call Trace: [<ffffffff812b9159>] dump_stack+0x4b/0x72 [<ffffffff81074e62>] warn_slowpath_common+0x82/0xc0 [<ffffffff81074faa>] warn_slowpath_null+0x1a/0x20 [<ffffffffa0422291>] drm_dev_alloc+0x251/0x320 [drm] [<ffffffffa0424d0b>] drm_get_pci_dev+0x3b/0x1e0 [drm] [<ffffffffa05dd2d4>] i915_pci_probe+0x34/0x50 [i915] [<ffffffff812fdec5>] local_pci_probe+0x45/0xa0 [<ffffffff812fde10>] ? pci_match_device+0xe0/0x110 [<ffffffff812ff053>] pci_device_probe+0x103/0x150 [<ffffffff813d7942>] driver_probe_device+0x222/0x490 [<ffffffff813d7c34>] __driver_attach+0x84/0x90 [<ffffffff813d7bb0>] ? driver_probe_device+0x490/0x490 [<ffffffff813d557c>] bus_for_each_dev+0x6c/0xc0 [<ffffffff813d70fe>] driver_attach+0x1e/0x20 [<ffffffff813d6c4b>] bus_add_driver+0x1eb/0x280 [<ffffffff813d8540>] driver_register+0x60/0xe0 [<ffffffff812fd73c>] __pci_register_driver+0x4c/0x50 [<ffffffffa0424f90>] drm_pci_init+0xe0/0x110 [drm] [<ffffffffa06e6000>] ? 0xffffffffa06e6000 [<ffffffffa06e60a4>] i915_init+0xa4/0xab [i915] [<ffffffff81002123>] do_one_initcall+0xb3/0x200 [<ffffffff81199801>] ? __vunmap+0x91/0xe0 [<ffffffff811589a0>] do_init_module+0x5f/0x1ef [<ffffffff810fa707>] load_module+0x2197/0x27e0 [<ffffffff810f7550>] ? symbol_put_addr+0x50/0x50 [<ffffffff81188695>] ? __pte_alloc_kernel+0xa5/0xf0 [<ffffffff810fae9e>] SyS_init_module+0x14e/0x190 [<ffffffff8157046e>] entry_SYSCALL_64_fastpath+0x12/0x71 ---[ end trace d2652104b24a32ff ]---
On Tue, 15 Sep 2015, Lucas Tanure tanure@linux.com wrote:
Hi,
I would like to start to contribute to drm part of kernel. I tried a few things:
- Compiled linux-next tree using C=1 (sparse) to find things to improve.
But couldn't find any problem or issue.
- I looked in "www.x.org/wiki/DRMJanitors/" for stuff to do, but seems that
most of them are already done when I checked the code.
- Compiled and run the linux-next tree to test the code. And for this I got
the warning below. I tried to compile a few older versions of linux-next in order to find the offending commit. But I didn't succeed, many commits don't boot at all, and is difficult to get more information about the status of the warning for that version.
I think especially for getting started linux-next is too volatile. I'd go for Linus' git master first. After that, I'd still recommend driver specific trees rather than linux-next.
drm/i915 branches are at http://cgit.freedesktop.org/drm-intel
So, I would like some tips about how to debug DRM code, how to test, how to get more information about issues. What I do is :
- Compile and run
- Restart to a good kernel
- "journalctl --boot=-1" to see if I got any warning on previous kernel
Also, if any developer needs/wants some help and it's ok to guide a new guy in DRM code, I would like to get help about tasks to do, things to clean/improve. I'm reading https://www.kernel.org/doc/htmldocs/drm/ to start, and I have done a few courses from linux foundation.
It's pretty hard to give generic advise; what works for me doesn't necessarily work for you. With that out of the way, try focusing on some detail and figure out how it works. Or find an itch and scratch it, maybe a bug you experience. Or a bug someone else has and you can reproduce it (product "DRI" at https://bugs.freedesktop.org/, you'll probably need to narrow the search down). Expand on related details, etc.
Based on the warn you seem to have an Intel GPU, so you might find https://01.org/linuxgraphics/documentation helful.
You might also get faster replies on IRC at #dri-devel and #intel-gfx on freenode, as long as you don't bug people too much. ;)
HTH, Jani.
dri-devel@lists.freedesktop.org