Comment 10 for bug 1039916

Revision history for this message
TJ (tj) wrote :

After adding debug logging to the nvidia kernel module's source-code - at every point in nv-map.c::nv_kern_mmap() where it sets an error in the 'status' variable - I have been able to pin-point where the allocation is being refused.

It is this code:

    vma->vm_ops = &nv_vm_ops;

    if (IS_REG_OFFSET(nv, NV_VMA_OFFSET(vma), NV_VMA_SIZE(vma)))
    {
        if (IS_BLACKLISTED_REG_OFFSET(nv, NV_VMA_OFFSET(vma), NV_VMA_SIZE(vma)))
        {
            nv_printf(NV_DBG_ERRORS,
                "NVRM: requested mapping blacklisted\n");
            status = -EINVAL;
            goto done;
        }

The integrated log output with smartdimmer that shows this:

$ sudo ./smartdimmer -g
[ 674.194158] NVRM: nv_kern_open...
[ 674.194171] NVRM: nv_kern_open on device 0
[ 674.194233] NVRM: VM: nv_kern_mmap:246: 0x7f4e90ad0000 - 0x7f4e90ad1000, 0x00001000 bytes @ 0x00000000d5000000, 0x (null), 0xffff88005357da00
OK: map_mem(): PMC register 0xd5000000 requested 0x1000 and received 0x1000 after 0 attempts at 0x7f4e90ad0000
[ 674.194347] NVRM: VM: nv_kern_mmap:246: 0x7f4e90acf000 - 0x7f4e90ad0000, 0x00001000 bytes @ 0x00000000d5100000, 0x (null), 0xffff88005357da00
OK: map_mem(): PFB register 0xd5100000 requested 0x1000 and received 0x1000 after 0 attempts at 0x7f4e90acf000
[ 674.194418] NVRM: VM: nv_kern_mmap:246: 0x7f4e90ace000 - 0x7f4e90acf000, 0x00001000 bytes @ 0x00000000d5101000, 0x (null), 0xffff88005357da00
OK: map_mem(): PEXTDEV register 0xd5101000 requested 0x1000 and received 0x1000 after 0 attempts at 0x7f4e90ace000
[ 674.194522] NVRM: VM: nv_kern_mmap:246: 0x7f4e90abe000 - 0x7f4e90ace000, 0x00010000 bytes @ 0x00000000d5300000, 0x (null), 0xffff88005357da00
OK: map_mem(): PROM register 0xd5300000 requested 0xffff and received 0xffff after 0 attempts at 0x7f4e90abe000
[ 674.194606] NVRM: VM: nv_kern_mmap:246: 0x7f4e90abc000 - 0x7f4e90abe000, 0x00002000 bytes @ 0x00000000d5601000, 0x (null), 0xffff88005357da00
OK: map_mem(): PCIO register 0xd5601000 requested 0x2000 and received 0x2000 after 0 attempts at 0x7f4e90abc000
[ 674.194692] NVRM: VM: nv_kern_mmap:246: 0x7f4e90aac000 - 0x7f4e90abc000, 0x00010000 bytes @ 0x00000000d5610000, 0x (null), 0xffff88005357da00
[ 674.194717] NVRM: requested mapping blacklisted
map_dev_mem(): Invalid argument
[ 674.194795] NVRM: VM: nv_kern_mmap:246: 0x7f4e90a96000 - 0x7f4e90aa5000, 0x0000f000 bytes @ 0x00000000d5610000, 0x (null), 0xffff88005357da00
[ 674.194823] NVRM: requested mapping blacklisted
map_dev_mem(): Invalid argument
[ 674.194861] NVRM: VM: nv_kern_mmap:246: 0x7f4e90a88000 - 0x7f4e90a96000, 0x0000e000 bytes @ 0x00000000d5610000, 0x (null), 0xffff88005357da00
[ 674.194886] NVRM: requested mapping blacklisted
map_dev_mem(): Invalid argument
[ 674.194935] NVRM: VM: nv_kern_mmap:246: 0x7f4e90a7b000 - 0x7f4e90a88000, 0x0000d000 bytes @ 0x00000000d5610000, 0x (null), 0xffff88005357da00
[ 674.194960] NVRM: requested mapping blacklisted
map_dev_mem(): Invalid argument
[ 674.195005] NVRM: VM: nv_kern_mmap:246: 0x7f4e90a6f000 - 0x7f4e90a7b000, 0x0000c000 bytes @ 0x00000000d5610000, 0x (null), 0xffff88005357da00
[ 674.195029] NVRM: requested mapping blacklisted
map_dev_mem(): Invalid argument
[ 674.195072] NVRM: VM: nv_kern_mmap:246: 0x7f4e90a64000 - 0x7f4e90a6f000, 0x0000b000 bytes @ 0x00000000d5610000, 0x (null), 0xffff88005357da00
[ 674.195098] NVRM: requested mapping blacklisted
map_dev_mem(): Invalid argument
[ 674.195141] NVRM: VM: nv_kern_mmap:246: 0x7f4e90a5a000 - 0x7f4e90a64000, 0x0000a000 bytes @ 0x00000000d5610000, 0x (null), 0xffff88005357da00
[ 674.195165] NVRM: requested mapping blacklisted
map_dev_mem(): Invalid argument
[ 674.195207] NVRM: VM: nv_kern_mmap:246: 0x7f4e90a51000 - 0x7f4e90a5a000, 0x00009000 bytes @ 0x00000000d5610000, 0x (null), 0xffff88005357da00
[ 674.195233] NVRM: requested mapping blacklisted
map_dev_mem(): Invalid argument
[ 674.195277] NVRM: VM: nv_kern_mmap:246: 0x7f4e90ab4000 - 0x7f4e90abc000, 0x00008000 bytes @ 0x00000000d5610000, 0x (null), 0xffff88005357da00
[ 674.195233] NVRM: requested mapping blacklisted
map_dev_mem(): Invalid argument
ERR: map_mem(): PDISPLAY register 0xd5610000 requested 0x10000 but received 0x8000 after 8 attempts at 0x7f4e90ab4000
[ 674.195352] NVRM: VM: nv_kern_mmap:246: 0x7f4e90ab2000 - 0x7f4e90ab4000, 0x00002000 bytes @ 0x00000000d5680000, 0x (null), 0xffff88005357da00
OK: map_mem(): PRAMDAC register 0xd5680000 requested 0x2000 and received 0x2000 after 0 attempts at 0x7f4e90ab2000
[ 674.195427] NVRM: VM: nv_kern_mmap:246: 0x7f4e909a5000 - 0x7f4e90aa5000, 0x00100000 bytes @ 0x00000000d5700000, 0x (null), 0xffff88005357da00
[ 674.195453] NVRM: requested mapping blacklisted
map_dev_mem(): Invalid argument
[ 674.195500] NVRM: VM: nv_kern_mmap:246: 0x7f4e8f685000 - 0x7f4e8f784000, 0x000ff000 bytes @ 0x00000000d5700000, 0x (null), 0xffff88005357da00
[ 674.195524] NVRM: requested mapping blacklisted
map_dev_mem(): Invalid argument
[ 674.195569] NVRM: VM: nv_kern_mmap:246: 0x7f4e8f587000 - 0x7f4e8f685000, 0x000fe000 bytes @ 0x00000000d5700000, 0x (null), 0xffff88005357da00
[ 674.195594] NVRM: requested mapping blacklisted
map_dev_mem(): Invalid argument

...

[ 674.207192] NVRM: VM: nv_kern_mmap:246: 0x7f4e90a4d000 - 0x7f4e90a50000, 0x00003000 bytes @ 0x00000000d5700000, 0x (null), 0xffff88005357da00
[ 674.207208] NVRM: requested mapping blacklisted
map_dev_mem(): Invalid argument
[ 674.207225] NVRM: VM: nv_kern_mmap:246: 0x7f4e90a4b000 - 0x7f4e90a4d000, 0x00002000 bytes @ 0x00000000d5700000, 0x (null), 0xffff88005357da00
[ 674.207241] NVRM: requested mapping blacklisted
map_dev_mem(): Invalid argument
[ 674.207259] NVRM: VM: nv_kern_mmap:246: 0x7f4e90ab1000 - 0x7f4e90ab2000, 0x00001000 bytes @ 0x00000000d5700000, 0x (null), 0xffff88005357da00
[ 674.207275] NVRM: requested mapping blacklisted
map_dev_mem(): Invalid argument
ERR: map_mem(): PRAMIN register 0xd5700000 requested 0x100000 but received 0 after 256 attempts at 0xffffffffffffffff
ERR: map_mem(): memory-mapping PRAMIN failed

...

[ 704.207472] NVRM: VM: nv_kern_vma_release:85: 0x7f4e90ace000 - 0x7f4e90acf000, 0x00001000 bytes @ 0x00000000d5101000, 0x (null), 0xffff88005357da00
[ 704.207489] NVRM: VM: nv_kern_vma_release:85: 0x7f4e90acf000 - 0x7f4e90ad0000, 0x00001000 bytes @ 0x00000000d5100000, 0x (null), 0xffff88005357da00
[ 704.207516] NVRM: VM: nv_kern_vma_release:85: 0x7f4e90ad0000 - 0x7f4e90ad1000, 0x00001000 bytes @ 0x00000000d5000000, 0x (null), 0xffff88005357da00
[ 704.207526] show_signal_msg: 33 callbacks suppressed
[ 704.207532] smartdimmer[5162]: segfault at 7f4e90ad3bb8 ip 00007f4e9009a5fb sp 00007fff360699b0 error 4 in libc-2.15.so[7f4e8ffaf000+1b3000]
[ 704.370621] NVRM: VM: nv_kern_vma_release:85: 0x7f4e90ab2000 - 0x7f4e90ab4000, 0x00002000 bytes @ 0x00000000d5680000, 0x (null), 0xffff88005357da00
[ 704.370628] NVRM: VM: nv_kern_vma_release:85: 0x7f4e90ab4000 - 0x7f4e90abc000, 0x00008000 bytes @ 0x00000000d5610000, 0x (null), 0xffff88005357da00
[ 704.370632] NVRM: VM: nv_kern_vma_release:85: 0x7f4e90abc000 - 0x7f4e90abe000, 0x00002000 bytes @ 0x00000000d5601000, 0x (null), 0xffff88005357da00
[ 704.370636] NVRM: VM: nv_kern_vma_release:85: 0x7f4e90abe000 - 0x7f4e90ace000, 0x00010000 bytes @ 0x00000000d5300000, 0x (null), 0xffff88005357da00
[ 704.370684] NVRM: nv_kern_close on device 0