Re: davinci boot failures in next-20140519
On Tuesday 20 May 2014 10:32 PM, Prabhakar Lad wrote: Sekhar, I am not sure why this didnt work on your side you can find the boot log at [1], I tested this on latest next. I tried NFS after a long time. It could have been some setup issue. Thanks for testing at your end. Regards, Sekhar ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
Re: davinci boot failures in next-20140519
Hi, On Tue, May 20, 2014 at 12:08 AM, Kevin Hilman khil...@linaro.org wrote: As found by my automated boot tester[1], dm365 EVM and da850 EVM started failing boot tests in today's linux-next. I haven't had the time to bisect, but it appears to be related to some devres failures in the EMAC driver. Full boot log below for the da850evm (the dm365 fault looks the same.) I too hit this issue, this was introduced with commit id: e194312854edc22a2faf1931b3c0608fe20cb969 (drivers: net: davinci_cpdma: Convert kzalloc() to devm_kzalloc().) Reverting this patch fixes it. From the outset patch looks good, not sure why exactly it is failing. Regards, --Prabhakar Lad Kevin [1] http://lists.linaro.org/pipermail/kernel-build-reports/2014-May/003561.html Connected to da850evm console [channel connected] (~$quit to exit) (user:khilman) is already connected ~$hardreset Command(da850evm console) hardreset (user:khilman) Reboot da850evm `Reboot: da850evm ; phidget 4 2 : off, sleep, on OMAP-L138 initialization passed! Booting TI User Boot Loader UBL Version: 1.65 UBL Flashtype: SPI Starting SPI Memory Copy... Valid magicnum, 0x55424CBB, found at offset 0x0001. DONE Jumping to entry point at 0xC108. MMC: davinci: 0 SF: Detected M25P64 with page size 256 Bytes, erase size 64 KiB, total 8 MiB *** Warning - bad CRC, using default environment In:serial Out: serial Err: serial SF: Detected M25P64 with page size 256 Bytes, erase size 64 KiB, total 8 MiB Net: DaVinci-EMAC Hit any key to stop autoboot: 3 0 U-Boot U-Boot version version U-Boot 2014.01-dirty (Feb 27 2014 - 15:12:48) arm-linux-gnueabi-gcc (Ubuntu/Linaro 4.7.3-1ubuntu1) 4.7.3 GNU ld (GNU Binutils for Ubuntu) 2.23.52.20130913 U-Boot setenv bootargs console=ttyS2,115200n8 debug earlyprintk setenv bootargs console=ttyS2,115200n8 debug earlyprintk U-Boot if test -n ${initenv}; then run initenv; fi if test -n ${initenv}; then run initenv; fi U-Boot if test -n ${preboot}; then run preboot; fi if test -n ${preboot}; then run preboot; fi U-Boot setenv autoload no; setenv autoboot no setenv autoload no; setenv autoboot no U-Boot dhcp dhcp BOOTP broadcast 1 DHCP client bound to address 192.168.1.194 U-Boot setenv serverip 192.168.1.2 setenv serverip 192.168.1.2 U-Boot if test -n ${netargs}; then run netargs; fi if test -n ${netargs}; then run netargs; fi U-Boot tftp 0xc080 192.168.1.2:tmp/da850evm-ySSgF4/zImage-dtb-Ua2SNu tftp 0xc080 192.168.1.2:tmp/da850evm-ySSgF4/zImage-dtb-Ua2SNu Using DaVinci-EMAC device TFTP from server 192.168.1.2; our IP address is 192.168.1.194 Filename 'tmp/da850evm-ySSgF4/zImage-dtb-Ua2SNu'. Load address: 0xc080 Loading: * # # # 1.7 MiB/s done Bytes transferred = 2261167 (2280af hex) U-Boot tftp 0xc0c0 192.168.1.2:buildroot.cpio.gz.uboot tftp 0xc0c0 192.168.1.2:buildroot.cpio.gz.uboot Using DaVinci-EMAC device TFTP from server 192.168.1.2; our IP address is 192.168.1.194 Filename 'buildroot.cpio.gz.uboot'. Load address: 0xc0c0 Loading: * 1.7 MiB/s done Bytes transferred = 642602 (9ce2a hex) U-Boot printenv bootargs printenv bootargs bootargs=console=ttyS2,115200n8 debug earlyprintk U-Boot bootz 0xc080 0xc0c0 bootz 0xc080 0xc0c0 Kernel image @ 0xc080 [ 0x00 - 0x226598 ] ## Loading init Ramdisk from Legacy Image at c0c0 ... Image Name: Image Type: ARM Linux RAMDisk Image (uncompressed) Data Size:642538 Bytes = 627.5 KiB Load Address: Entry Point: Verifying Checksum ... OK Starting kernel ... Uncompressing Linux... done, booting the kernel. Booting Linux on physical CPU 0x0 Linux version 3.15.0-rc5-next-20140519 (buildslave@kbuilderdedi01) (gcc version 4.7.1 (Ubuntu/Linaro 4.7.1-5ubuntu1~ppa1) ) #1 PREEMPT Mon May 19 11:11:13 CEST 2014 CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177 CPU: VIVT data cache, VIVT instruction cache Machine model: DA850/AM1808/OMAP-L138 EVM Memory policy: Data cache writethrough DaVinci da850/omap-l138 variant 0x0 On node 0 totalpages: 32768 free_area_init_node: node 0, pgdat c045e6b0, node_mem_map c7efa000 DMA zone: 256 pages used for memmap DMA zone: 0 pages reserved DMA zone: 32768 pages, LIFO batch:7 pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768 pcpu-alloc: [0] 0 Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32512 Kernel command line: console=ttyS2,115200n8 debug earlyprintk PID hash table entries: 512 (order: -1, 2048 bytes) Dentry cache hash table entries: 16384 (order: 4, 65536 bytes) Inode-cache hash table entries: 8192 (order: 3, 32768 bytes) Memory: 124592K/131072K
Re: davinci boot failures in next-20140519
On Tuesday 20 May 2014 12:49 PM, Prabhakar Lad wrote: Hi, On Tue, May 20, 2014 at 12:08 AM, Kevin Hilman khil...@linaro.org wrote: As found by my automated boot tester[1], dm365 EVM and da850 EVM started failing boot tests in today's linux-next. I haven't had the time to bisect, but it appears to be related to some devres failures in the EMAC driver. Full boot log below for the da850evm (the dm365 fault looks the same.) I too hit this issue, this was introduced with commit id: e194312854edc22a2faf1931b3c0608fe20cb969 (drivers: net: davinci_cpdma: Convert kzalloc() to devm_kzalloc().) Reverting this patch fixes it. From the outset patch looks good, not sure why exactly it is failing. Following patch seems to help. I will post it for review after some more analysis. Thanks, Sekhar diff --git a/drivers/net/ethernet/ti/davinci_emac.c b/drivers/net/ethernet/ti/da index e76eae5..9cd0d9c 100644 --- a/drivers/net/ethernet/ti/davinci_emac.c +++ b/drivers/net/ethernet/ti/davinci_emac.c @@ -1930,7 +1930,7 @@ static int davinci_emac_probe(struct platform_device *pdev hw_ram_addr = (u32 __force)res-start + pdata-ctrl_ram_offset; memset(dma_params, 0, sizeof(dma_params)); - dma_params.dev = emac_dev; + dma_params.dev = pdev-dev; dma_params.dmaregs = priv-emac_base; dma_params.rxthresh = priv-emac_base + 0x120; dma_params.rxfree = priv-emac_base + 0x140; ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
Re: davinci boot failures in next-20140519
Hi Sekhar, On Tue, May 20, 2014 at 1:43 PM, Sekhar Nori nsek...@ti.com wrote: On Tuesday 20 May 2014 12:49 PM, Prabhakar Lad wrote: Hi, On Tue, May 20, 2014 at 12:08 AM, Kevin Hilman khil...@linaro.org wrote: As found by my automated boot tester[1], dm365 EVM and da850 EVM started failing boot tests in today's linux-next. I haven't had the time to bisect, but it appears to be related to some devres failures in the EMAC driver. Full boot log below for the da850evm (the dm365 fault looks the same.) I too hit this issue, this was introduced with commit id: e194312854edc22a2faf1931b3c0608fe20cb969 (drivers: net: davinci_cpdma: Convert kzalloc() to devm_kzalloc().) Reverting this patch fixes it. From the outset patch looks good, not sure why exactly it is failing. Following patch seems to help. I will post it for review after some more analysis. I am not sure if you hit the following issue later fixing above one, I see following issue on DA850 evm, git bisect points me to commit id: 975c3a671f11279441006a29a19f55ccc15fb320 ( mm: non-atomically mark page accessed during page cache allocation where possible) Unable to handle kernel paging request at virtual address 30e03501 pgd = c68cc000 [30e03501] *pgd= Internal error: Oops: 1 [#1] PREEMPT ARM Modules linked in: CPU: 0 PID: 1015 Comm: network.sh Not tainted 3.15.0-rc5-00323-g975c3a6 #9 task: c70c4e00 ti: c73d task.ti: c73d PC is at init_page_accessed+0xc/0x24 LR is at shmem_write_begin+0x54/0x60 pc : [c0088aa0]lr : [c00923e8]psr: 2013 sp : c73d1d90 ip : c73d1da0 fp : c73d1d9c r10: c73d1dec r9 : r8 : r7 : c73d1e6c r6 : c694d7bc r5 : ffe4 r4 : c73d1dec r3 : c73d r2 : 0001 r1 : r0 : 30e03501 Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user Control: 0005317f Table: c68cc000 DAC: 0015 Process network.sh (pid: 1015, stack limit = 0xc73d01c0) Stack: (0xc73d1d90 to 0xc73d2000) 1d80: c73d1dbc c73d1da0 c00923e8 c0088aa4 1da0: 000200da 0005 c73d1e1c c73d1dc0 c0079d5c c00923a4 1dc0: 0005 c73d1dec c73d1de8 c73d 1000 c0347920 1de0: c68b1000 000a 30e03501 000a c73d c68b1000 c694d7bc 1e00: c73d1ef0 0005 00020401 0005 c73d1eac c73d1e20 c007cb7c c0079bf4 1e20: c73d1e4c c73d c73d1e4c c73d1e38 c00429ac c694d700 0005 1e40: c73d1e94 c033d5c8 c0042858 c73d1f28 c73d1eb0 1e60: 0001 b6fcf000 c73d1f28 0001 0005 0005 1e80: c73d c68b1000 c73d1ef0 0001 c694d75c c73d1f28 c73d 1ea0: c73d1ee4 c73d1eb0 c007cddc c007c884 c000b540 c000c36c c73d1f7c c73d1f50 1ec0: c73d1ef0 c70c4e00 c73d1f80 c73d1f80 c00098a4 c73d c73d1f4c c73d1ee8 1ee0: c00bb0f0 c007cd80 c68b1000 1f00: c70c4e00 0005 1f20: b6fcf000 0005 c73d1f80 c68b1000 0005 b6fcf000 1f40: c73d1f7c c73d1f50 c00bc240 c00bb06c c00d8378 c00d82dc c68b1000 c68b1000 1f60: 0005 b6fcf000 c00098a4 c73d1fa4 c73d1f80 c00bc3f4 c00bc198 1f80: 0005 b6fcf000 b6efd5e8 0004 c73d1fa8 1fa0: c0009740 c00bc3bc 0005 b6fcf000 0001 b6fcf000 0005 1fc0: 0005 b6fcf000 b6efd5e8 0004 0005 000ad3f0 0001 000ad008 1fe0: b6fcf000 bef1e1c8 b6e3bc70 b6e8babc 6010 0001 Backtrace: [c0088a94] (init_page_accessed) from [c00923e8] (shmem_write_begin+0x54/0x60) [c0092394] (shmem_write_begin) from [c0079d5c] (generic_perform_write+0x178/0x1e0) r5: r4:0005 [c0079be4] (generic_perform_write) from [c007cb7c] (__generic_file_aio_write+0x308/0x4fc) r10:0005 r9:00020401 r8:0005 r7:c73d1ef0 r6:c694d7bc r5:c68b1000 r4:c73d [c007c874] (__generic_file_aio_write) from [c007cddc] (generic_file_aio_write+0x6c/0x100) r10: r9:c73d r8:c73d1f28 r7:c694d75c r6:0001 r5:c73d1ef0 r4:c68b1000 [c007cd70] (generic_file_aio_write) from [c00bb0f0] (do_sync_write+0x94/0xbc) r9:c73d r8:c00098a4 r7:c73d1f80 r6:c73d1f80 r5:c70c4e00 r4:c73d1ef0 [c00bb05c] (do_sync_write) from [c00bc240] (vfs_write+0xb8/0x190) r6:b6fcf000 r5:0005 r4:c68b1000 [c00bc188] (vfs_write) from [c00bc3f4] (SyS_write+0x48/0x8c) r10: r8:c00098a4 r7:b6fcf000 r6:0005 r5:c68b1000 r4:c68b1000 [c00bc3ac] (SyS_write) from [c0009740] (ret_fast_syscall+0x0/0x2c) r7:0004 r6:b6efd5e8 r5:b6fcf000 r4:0005 Code: e89da830 e1a0c00d e92dd800 e24cb004 (e5903000) ---[ end trace 37a953844ea656a1 ]--- Unable to handle kernel paging request at virtual address 26be3681 pgd = c68a [26be3681] *pgd= Internal error: Oops: 1 [#2] PREEMPT ARM Modules linked in: CPU: 0 PID: 1155 Comm: udevd Tainted: G D 3.15.0-rc5-00323-g975c3a6 #9 task: c7264a80 ti: c7108000 task.ti: c7108000 PC is at
Re: davinci boot failures in next-20140519
On Tuesday 20 May 2014 02:46 PM, Prabhakar Lad wrote: Hi Sekhar, On Tue, May 20, 2014 at 1:43 PM, Sekhar Nori nsek...@ti.com wrote: On Tuesday 20 May 2014 12:49 PM, Prabhakar Lad wrote: Hi, On Tue, May 20, 2014 at 12:08 AM, Kevin Hilman khil...@linaro.org wrote: As found by my automated boot tester[1], dm365 EVM and da850 EVM started failing boot tests in today's linux-next. I haven't had the time to bisect, but it appears to be related to some devres failures in the EMAC driver. Full boot log below for the da850evm (the dm365 fault looks the same.) I too hit this issue, this was introduced with commit id: e194312854edc22a2faf1931b3c0608fe20cb969 (drivers: net: davinci_cpdma: Convert kzalloc() to devm_kzalloc().) Reverting this patch fixes it. From the outset patch looks good, not sure why exactly it is failing. Following patch seems to help. I will post it for review after some more analysis. I am not sure if you hit the following issue later fixing above one, I see following issue on DA850 evm, No, I am using ramdisk though. Are you using NFS? git bisect points me to commit id: 975c3a671f11279441006a29a19f55ccc15fb320 ( mm: non-atomically mark page accessed during page cache allocation where possible) Does reverting this cause the issue to disappear? Thanks, Sekhar ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
Re: davinci boot failures in next-20140519
On Tue, May 20, 2014 at 2:51 PM, Sekhar Nori nsek...@ti.com wrote: On Tuesday 20 May 2014 02:46 PM, Prabhakar Lad wrote: Hi Sekhar, On Tue, May 20, 2014 at 1:43 PM, Sekhar Nori nsek...@ti.com wrote: On Tuesday 20 May 2014 12:49 PM, Prabhakar Lad wrote: Hi, On Tue, May 20, 2014 at 12:08 AM, Kevin Hilman khil...@linaro.org wrote: As found by my automated boot tester[1], dm365 EVM and da850 EVM started failing boot tests in today's linux-next. I haven't had the time to bisect, but it appears to be related to some devres failures in the EMAC driver. Full boot log below for the da850evm (the dm365 fault looks the same.) I too hit this issue, this was introduced with commit id: e194312854edc22a2faf1931b3c0608fe20cb969 (drivers: net: davinci_cpdma: Convert kzalloc() to devm_kzalloc().) Reverting this patch fixes it. From the outset patch looks good, not sure why exactly it is failing. Following patch seems to help. I will post it for review after some more analysis. I am not sure if you hit the following issue later fixing above one, I see following issue on DA850 evm, No, I am using ramdisk though. Are you using NFS? Yes I am using NFS. git bisect points me to commit id: 975c3a671f11279441006a29a19f55ccc15fb320 ( mm: non-atomically mark page accessed during page cache allocation where possible) Does reverting this cause the issue to disappear? Yep reverting this patch fixes it up back again. Thanks, --Prabhakar Lad ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
Re: davinci boot failures in next-20140519
On Tue, May 20, 2014 at 02:46:47PM +0530, Prabhakar Lad wrote: Hi Sekhar, On Tue, May 20, 2014 at 1:43 PM, Sekhar Nori nsek...@ti.com wrote: On Tuesday 20 May 2014 12:49 PM, Prabhakar Lad wrote: Hi, On Tue, May 20, 2014 at 12:08 AM, Kevin Hilman khil...@linaro.org wrote: As found by my automated boot tester[1], dm365 EVM and da850 EVM started failing boot tests in today's linux-next. I haven't had the time to bisect, but it appears to be related to some devres failures in the EMAC driver. Full boot log below for the da850evm (the dm365 fault looks the same.) I too hit this issue, this was introduced with commit id: e194312854edc22a2faf1931b3c0608fe20cb969 (drivers: net: davinci_cpdma: Convert kzalloc() to devm_kzalloc().) Reverting this patch fixes it. From the outset patch looks good, not sure why exactly it is failing. Following patch seems to help. I will post it for review after some more analysis. I am not sure if you hit the following issue later fixing above one, I see following issue on DA850 evm, git bisect points me to commit id: 975c3a671f11279441006a29a19f55ccc15fb320 ( mm: non-atomically mark page accessed during page cache allocation where possible) Unable to handle kernel paging request at virtual address 30e03501 pgd = c68cc000 [30e03501] *pgd= Internal error: Oops: 1 [#1] PREEMPT ARM Modules linked in: CPU: 0 PID: 1015 Comm: network.sh Not tainted 3.15.0-rc5-00323-g975c3a6 #9 task: c70c4e00 ti: c73d task.ti: c73d PC is at init_page_accessed+0xc/0x24 LR is at shmem_write_begin+0x54/0x60 pc : [c0088aa0]lr : [c00923e8]psr: 2013 What line does this address correspond to according to addr2line? It's not a NULL pointer exception obviously because the data address does not match up and there is a check for NULL before calling init_page_accessed. The obvious guess would be that this is due to an uninitialised page pointer on the stack and shmem_getpage_gfp() returning before it gets initialised. Could you try this please? diff --git a/mm/filemap.c b/mm/filemap.c index 2a7b9d1..0691481 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -2459,7 +2459,7 @@ ssize_t generic_perform_write(struct file *file, flags |= AOP_FLAG_UNINTERRUPTIBLE; do { - struct page *page; + struct page *page = NULL; unsigned long offset; /* Offset into pagecache page */ unsigned long bytes;/* Bytes to write to page */ size_t copied; /* Bytes copied from user */ ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
Re: davinci boot failures in next-20140519
On Tuesday 20 May 2014 05:29 PM, Mel Gorman wrote: On Tue, May 20, 2014 at 02:46:47PM +0530, Prabhakar Lad wrote: Hi Sekhar, On Tue, May 20, 2014 at 1:43 PM, Sekhar Nori nsek...@ti.com wrote: On Tuesday 20 May 2014 12:49 PM, Prabhakar Lad wrote: Hi, On Tue, May 20, 2014 at 12:08 AM, Kevin Hilman khil...@linaro.org wrote: As found by my automated boot tester[1], dm365 EVM and da850 EVM started failing boot tests in today's linux-next. I haven't had the time to bisect, but it appears to be related to some devres failures in the EMAC driver. Full boot log below for the da850evm (the dm365 fault looks the same.) I too hit this issue, this was introduced with commit id: e194312854edc22a2faf1931b3c0608fe20cb969 (drivers: net: davinci_cpdma: Convert kzalloc() to devm_kzalloc().) Reverting this patch fixes it. From the outset patch looks good, not sure why exactly it is failing. Following patch seems to help. I will post it for review after some more analysis. I am not sure if you hit the following issue later fixing above one, I see following issue on DA850 evm, git bisect points me to commit id: 975c3a671f11279441006a29a19f55ccc15fb320 ( mm: non-atomically mark page accessed during page cache allocation where possible) Unable to handle kernel paging request at virtual address 30e03501 pgd = c68cc000 [30e03501] *pgd= Internal error: Oops: 1 [#1] PREEMPT ARM Modules linked in: CPU: 0 PID: 1015 Comm: network.sh Not tainted 3.15.0-rc5-00323-g975c3a6 #9 task: c70c4e00 ti: c73d task.ti: c73d PC is at init_page_accessed+0xc/0x24 LR is at shmem_write_begin+0x54/0x60 pc : [c0088aa0]lr : [c00923e8]psr: 2013 What line does this address correspond to according to addr2line? It's not addr2line shows mm/swap.c:622 objdump shows that page pointer is corrupt in init_page_accessed() c00805ec init_page_accessed: /* * Used to mark_page_accessed(page) that is not visible yet and when it is * still safe to use non-atomic ops */ void init_page_accessed(struct page *page) { c00805ec: e1a0c00dmov ip, sp c00805f0: e92dd800push{fp, ip, lr, pc} c00805f4: e24cb004sub fp, ip, #4 c00805f8: e5903000ldr r3, [r0] if (!PageReferenced(page)) c00805fc: e3130004tst r3, #4 When crash occurs, instruction at address c00805f8 crashes with r0 corrupt. Attached[1] is the corresponding oops message. Could you try this please? diff --git a/mm/filemap.c b/mm/filemap.c index 2a7b9d1..0691481 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -2459,7 +2459,7 @@ ssize_t generic_perform_write(struct file *file, flags |= AOP_FLAG_UNINTERRUPTIBLE; do { - struct page *page; + struct page *page = NULL; unsigned long offset; /* Offset into pagecache page */ unsigned long bytes;/* Bytes to write to page */ size_t copied; /* Bytes copied from user */ This definitely avoided the oops, but I am still not able to get nfsroot working (it starts to mount the filesystem and eventually timesout). It could be a different problem. Need to get to a known working setup and then bisect. Thanks, Sekhar [1] oops log that I observed. Unable to handle kernel NULL pointer dereference at virtual address 000b pgd = c703 [000b] *pgd=c7a9e831, *pte=, *ppte= Internal error: Oops: 1 [#1] PREEMPT ARM Modules linked in: CPU: 0 PID: 976 Comm: udevd Not tainted 3.15.0-rc5-next-20140519-07053-g0855e8f #384 task: c7a7d500 ti: c7ad6000 task.ti: c7ad6000 PC is at init_page_accessed+0xc/0x24 LR is at shmem_write_begin+0x58/0x64 pc : [c00805f8]lr : [c0089d5c]psr: 2013 sp : c7ad7da8 ip : c7ad7db8 fp : c7ad7db4 r10: c0312600 r9 : c7ad7ee8 r8 : r7 : 1000 r6 : c7ba365c r5 : ffe4 r4 : c7ad7e00 r3 : r2 : 0001 r1 : c7ad7d60 r0 : 000b Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user Control: 0005317f Table: c703 DAC: 0015 Process udevd (pid: 976, stack limit = 0xc7ad61c0) Stack: (0xc7ad7da8 to 0xc7ad8000) 7da0: c7ad7dd4 c7ad7db8 c0089d5c c00805fc 000200da 7dc0: 0005 c7ad7ed4 c7ad7e34 c7ad7dd8 c00751f0 c0089d14 0005 7de0: c7ad7e00 c7ad7e04 c7ad6000 c715e500 7e00: 000b 13ab6681 000b 0005 c715e500 c7ad6038 7e20: c7ad7ee8 c7ba365c c7ad7e8c c7ad7e38 c0077274 c007509c c0026850 c002648c 7e40: c7a7d7b4 c7ad7e90 c7ad7e74 c7ba35fc c7ad7ed4 c7ad7ed4 c7a7d500 7e60: beeffc58 c7ad7ee8 c7ba35fc c7ad7ed4 c715e500 c7a7d500 beeffc58 7e80: c7ad7ebc c7ad7e90 c0077568 c0077110 c7ad7ebc c7ad7ea0 c000c064 c000b118 7ea0: c7ad7f78 c715e500 c7ad7f44 c7ad7ec0 c00aedb8 c007753c 7ec0: 0005 c00af6b0 c7ad7f74 beeffc58 0005 0001 0005 7ee0: c7ad7ecc 0001
Re: davinci boot failures in next-20140519
Hi, On Tue, May 20, 2014 at 5:29 PM, Mel Gorman mgor...@suse.de wrote: On Tue, May 20, 2014 at 02:46:47PM +0530, Prabhakar Lad wrote: Hi Sekhar, On Tue, May 20, 2014 at 1:43 PM, Sekhar Nori nsek...@ti.com wrote: On Tuesday 20 May 2014 12:49 PM, Prabhakar Lad wrote: Hi, On Tue, May 20, 2014 at 12:08 AM, Kevin Hilman khil...@linaro.org wrote: As found by my automated boot tester[1], dm365 EVM and da850 EVM started failing boot tests in today's linux-next. I haven't had the time to bisect, but it appears to be related to some devres failures in the EMAC driver. Full boot log below for the da850evm (the dm365 fault looks the same.) I too hit this issue, this was introduced with commit id: e194312854edc22a2faf1931b3c0608fe20cb969 (drivers: net: davinci_cpdma: Convert kzalloc() to devm_kzalloc().) Reverting this patch fixes it. From the outset patch looks good, not sure why exactly it is failing. Following patch seems to help. I will post it for review after some more analysis. I am not sure if you hit the following issue later fixing above one, I see following issue on DA850 evm, git bisect points me to commit id: 975c3a671f11279441006a29a19f55ccc15fb320 ( mm: non-atomically mark page accessed during page cache allocation where possible) Unable to handle kernel paging request at virtual address 30e03501 pgd = c68cc000 [30e03501] *pgd= Internal error: Oops: 1 [#1] PREEMPT ARM Modules linked in: CPU: 0 PID: 1015 Comm: network.sh Not tainted 3.15.0-rc5-00323-g975c3a6 #9 task: c70c4e00 ti: c73d task.ti: c73d PC is at init_page_accessed+0xc/0x24 LR is at shmem_write_begin+0x54/0x60 pc : [c0088aa0]lr : [c00923e8]psr: 2013 What line does this address correspond to according to addr2line? It's not a NULL pointer exception obviously because the data address does not match up and there is a check for NULL before calling init_page_accessed. The obvious guess would be that this is due to an uninitialised page pointer on the stack and shmem_getpage_gfp() returning before it gets initialised. Could you try this please? diff --git a/mm/filemap.c b/mm/filemap.c index 2a7b9d1..0691481 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -2459,7 +2459,7 @@ ssize_t generic_perform_write(struct file *file, flags |= AOP_FLAG_UNINTERRUPTIBLE; do { - struct page *page; + struct page *page = NULL; unsigned long offset; /* Offset into pagecache page */ unsigned long bytes;/* Bytes to write to page */ size_t copied; /* Bytes copied from user */ This patch fixes the issue now I am able to boot it back again via NFS, you can add: Reported-and-Tested-by: Lad, Prabhakar prabhakar.cse...@gmail.com Sekhar, I am not sure why this didnt work on your side you can find the boot log at [1], I tested this on latest next. Regards, --Prabhakar Lad [1] Boot Log U-Boot SPL 2013.01-00010-g25dc42f (Jan 22 2013 - 12:26:23) SF: Detected M25P64 with page size 64 KiB, total 8 MiB U-Boot 2013.01-00010-g25dc42f (Jan 22 2013 - 12:26:23) I2C: ready DRAM: 128 MiB WARNING: Caches not enabled MMC: davinci: 0 SF: Detected M25P64 with page size 64 KiB, total 8 MiB In:serial Out: serial Err: serial SF: Detected M25P64 with page size 64 KiB, total 8 MiB Default using MAC address from environment Default using MAC address from environment Net: DaVinci-EMAC Hit any key to stop autoboot: 0 U-Boot U-Boot U-Boot U-Boot tftp uImage;bootm Using DaVinci-EMAC device TFTP from server 169.254.243.186; our IP address is 169.254.243.185 Filename 'uImage'. Load address: 0xc070 Loading: # # # # # # # 1.3 MiB/s done Bytes transferred = 2472672 (25bae0 hex) ## Booting kernel from Legacy Image at c070 ... Image Name: Linux-3.15.0-rc5-next-20140520-0 Image Type: ARM Linux Kernel Image (uncompressed) Data Size:2472608 Bytes = 2.4 MiB Load Address: c0008000 Entry Point: c0008000 Verifying Checksum ... OK Loading Kernel Image ... OK OK Starting kernel ... Uncompressing Linux... done, booting the kernel. Booting Linux on physical CPU 0x0 Linux version 3.15.0-rc5-next-20140520-1-g68d7f74-dirty (prabhakar@tango-charlie) (gcc version 4.4.1 (Sourcery G++ Lite 2009q3-67) ) #2 PREEM4 CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177 CPU: VIVT data cache,