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=00000000 >> 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: c73d0000 task.ti: c73d0000 >> PC is at init_page_accessed+0xc/0x24 >> LR is at shmem_write_begin+0x54/0x60 >> pc : [<c0088aa0>] lr : [<c00923e8>] psr: 20000013 > > 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: 0xc0700000 Loading: ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ############################ 1.3 MiB/s done Bytes transferred = 2472672 (25bae0 hex) ## Booting kernel from Legacy Image at c0700000 ... 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-00001-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, VIVT instruction cache Machine: DaVinci DA850/OMAP-L138/AM18x EVM Memory policy: Data cache writethrough DaVinci da850/omap-l138 variant 0x0 Built 1 zonelists in Zone order, mobility grouping on. Total pages: 30480 Kernel command line: mem=120M console=ttyS2,115200n8 root=/dev/nfs rw nfsroot=169.254.243.186:/home/prabhakar/work/ti/nfs/da850 ip=169.254.243.185 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: 116948K/122880K available (3323K kernel code, 191K rwdata, 948K rodata, 151K init, 174K bss, 5932K reserved) Virtual kernel memory layout: vector : 0xffff0000 - 0xffff1000 ( 4 kB) fixmap : 0xffc00000 - 0xffe00000 (2048 kB) vmalloc : 0xc8000000 - 0xff000000 ( 880 MB) lowmem : 0xc0000000 - 0xc7800000 ( 120 MB) modules : 0xbf000000 - 0xc0000000 ( 16 MB) .text : 0xc0008000 - 0xc0434014 (4273 kB) .init : 0xc0435000 - 0xc045adc4 ( 152 kB) .data : 0xc045c000 - 0xc048bec0 ( 192 kB) .bss : 0xc048becc - 0xc04b7998 ( 175 kB) SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 Preemptible hierarchical RCU implementation. NR_IRQS:245 sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956969942ns Console: colour dummy device 80x30 Calibrating delay loop... 148.88 BogoMIPS (lpj=744448) pid_max: default: 32768 minimum: 301 Mount-cache hash table entries: 1024 (order: 0, 4096 bytes) Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes) CPU: Testing write buffer coherency: ok Setting up static identity map for 0xc0345168 - 0xc03451c0 devtmpfs: initialized pinctrl core: initialized pinctrl subsystem regulator-dummy: no parameters NET: Registered protocol family 16 DMA: preallocated 256 KiB pool for atomic coherent allocations cpuidle: using governor ladder cpuidle: using governor menu MUX: initialized GPIO4_0 MUX: Setting register GPIO4_0 PINMUX10 (0x00000028) = 0x00222222 -> 0x80222222 MUX: initialized GPIO4_1 MUX: Setting register GPIO4_1 PINMUX10 (0x00000028) = 0x80222222 -> 0x88222222 MUX: initialized AHCLKX MUX: Setting register AHCLKX PINMUX0 (0x00000000) = 0x44080000 -> 0x44180000 MUX: initialized ACLKX MUX: Setting register ACLKX PINMUX0 (0x00000000) = 0x44180000 -> 0x44180010 MUX: initialized AFSX MUX: Setting register AFSX PINMUX0 (0x00000000) = 0x44180010 -> 0x44181010 MUX: initialized AHCLKR MUX: Setting register AHCLKR PINMUX0 (0x00000000) = 0x44181010 -> 0x44111010 MUX: initialized ACLKR MUX: Setting register ACLKR PINMUX0 (0x00000000) = 0x44111010 -> 0x44111011 MUX: initialized AFSR MUX: Setting register AFSR PINMUX0 (0x00000000) = 0x44111011 -> 0x44111111 MUX: initialized AMUTE MUX: Setting register AMUTE PINMUX0 (0x00000000) = 0x44111111 -> 0x41111111 MUX: initialized AXR_11 MUX: Setting register AXR_11 PINMUX1 (0x00000004) = 0x00000000 -> 0x00010000 MUX: initialized AXR_12 MUX: Setting register AXR_12 PINMUX1 (0x00000004) = 0x00010000 -> 0x00011000 MUX: initialized LCD_D_0 MUX: Setting register LCD_D_0 PINMUX17 (0x00000044) = 0x00000000 -> 0x00000020 MUX: initialized LCD_D_1 MUX: Setting register LCD_D_1 PINMUX17 (0x00000044) = 0x00000020 -> 0x00000022 MUX: initialized LCD_D_2 MUX: Setting register LCD_D_2 PINMUX16 (0x00000040) = 0x00000000 -> 0x20000000 MUX: initialized LCD_D_3 MUX: Setting register LCD_D_3 PINMUX16 (0x00000040) = 0x20000000 -> 0x22000000 MUX: initialized LCD_D_4 MUX: Setting register LCD_D_4 PINMUX16 (0x00000040) = 0x22000000 -> 0x22200000 MUX: initialized LCD_D_5 MUX: Setting register LCD_D_5 PINMUX16 (0x00000040) = 0x22200000 -> 0x22220000 MUX: initialized LCD_D_6 MUX: Setting register LCD_D_6 PINMUX16 (0x00000040) = 0x22220000 -> 0x22222000 MUX: initialized LCD_D_7 MUX: Setting register LCD_D_7 PINMUX16 (0x00000040) = 0x22222000 -> 0x22222200 MUX: initialized LCD_D_8 MUX: Setting register LCD_D_8 PINMUX18 (0x00000048) = 0x00000000 -> 0x00000020 MUX: initialized LCD_D_9 MUX: Setting register LCD_D_9 PINMUX18 (0x00000048) = 0x00000020 -> 0x00000022 MUX: initialized LCD_D_10 MUX: Setting register LCD_D_10 PINMUX17 (0x00000044) = 0x00000022 -> 0x20000022 MUX: initialized LCD_D_11 MUX: Setting register LCD_D_11 PINMUX17 (0x00000044) = 0x20000022 -> 0x22000022 MUX: initialized LCD_D_12 MUX: Setting register LCD_D_12 PINMUX17 (0x00000044) = 0x22000022 -> 0x22200022 MUX: initialized LCD_D_13 MUX: Setting register LCD_D_13 PINMUX17 (0x00000044) = 0x22200022 -> 0x22220022 MUX: initialized LCD_D_14 MUX: Setting register LCD_D_14 PINMUX17 (0x00000044) = 0x22220022 -> 0x22222022 MUX: initialized LCD_D_15 MUX: Setting register LCD_D_15 PINMUX17 (0x00000044) = 0x22222022 -> 0x22222222 MUX: initialized LCD_PCLK MUX: Setting register LCD_PCLK PINMUX18 (0x00000048) = 0x00000022 -> 0x02000022 MUX: initialized LCD_HSYNC MUX: Setting register LCD_HSYNC PINMUX19 (0x0000004c) = 0x00000000 -> 0x00000002 MUX: initialized LCD_VSYNC MUX: Setting register LCD_VSYNC PINMUX19 (0x0000004c) = 0x00000002 -> 0x00000022 MUX: initialized NLCD_AC_ENB_CS MUX: Setting register NLCD_AC_ENB_CS PINMUX19 (0x0000004c) = 0x00000022 -> 0x02000022 MUX: initialized GPIO2_8 MUX: Setting register GPIO2_8 PINMUX5 (0x00000014) = 0x00110110 -> 0x80110110 MUX: initialized GPIO2_15 MUX: Setting register GPIO2_15 PINMUX5 (0x00000014) = 0x80110110 -> 0x80110118 MUX: initialized RTC_ALARM MUX: Setting register RTC_ALARM PINMUX0 (0x00000000) = 0x41111111 -> 0x21111111 edma-dma-engine edma-dma-engine.0: TI EDMA DMA engine driver edma-dma-engine edma-dma-engine.1: TI EDMA DMA engine driver VDCDC1: 3200 <--> 3300 mV at 3300 mV VDCDC2: 1750 <--> 3300 mV at 3300 mV VDCDC3: 950 <--> 1350 mV at 1200 mV LDO1: 1800 mV LDO2: 1150 <--> 1300 mV at 1200 mV pca953x 1-0020: failed reading register pca953x: probe of 1-0020 failed with error -121 pca953x 1-0021: interrupt support not compiled in Switched to clocksource timer0_1 NET: Registered protocol family 2 TCP established hash table entries: 1024 (order: 0, 4096 bytes) TCP bind hash table entries: 1024 (order: 0, 4096 bytes) TCP: Hash tables configured (established 1024 bind 1024) TCP: reno registered UDP hash table entries: 256 (order: 0, 4096 bytes) UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) NET: Registered protocol family 1 RPC: Registered named UNIX socket transport module. RPC: Registered udp transport module. RPC: Registered tcp transport module. RPC: Registered tcp NFSv4.1 backchannel transport module. EMAC: MII PHY configured, RMII PHY will not be functional MUX: initialized GPIO2_6 MUX: Setting register GPIO2_6 PINMUX6 (0x00000018) = 0x00000000 -> 0x00000080 futex hash table entries: 256 (order: -1, 3072 bytes) msgmni has been set to 228 io scheduler noop registered (default) da8xx_lcdc da8xx_lcdc.0: found Sharp_LK043T1DG01 panel Console: switching to colour frame buffer device 60x34 Serial: 8250/16550 driver, 3 ports, IRQ sharing disabled serial8250.0: ttyS0 at MMIO 0x1c42000 (irq = 25, base_baud = 9375000) is a 16550A serial8250.1: ttyS1 at MMIO 0x1d0c000 (irq = 53, base_baud = 8250000) is a 16550A console [ttyS2] disabled serial8250.2: ttyS2 at MMIO 0x1d0d000 (irq = 61, base_baud = 8250000) is a 16550A console [ttyS2] enabled brd: module loaded davinci_mdio davinci_mdio.0: davinci mdio revision 1.5 davinci_mdio davinci_mdio.0: detected phy mask fffffffe libphy: davinci_mdio.0: probed davinci_mdio davinci_mdio.0: phy[0]: device davinci_mdio-0:00, driver unknown input: gpio-keys-polled as /devices/platform/gpio-keys-polled.1/input/input0 i2c /dev entries driver TCP: cubic registered NET: Registered protocol family 17 LDO2: incomplete constraints, leaving on LDO1: incomplete constraints, leaving on VDCDC3: incomplete constraints, leaving on VDCDC2: incomplete constraints, leaving on VDCDC1: incomplete constraints, leaving on console [netcon0] enabled netconsole: network logging started davinci_emac davinci_emac.1: using random MAC addr: 56:35:07:3f:48:19 drivers/rtc/hctosys.c: unable to open rtc device (rtc0) net eth0: Request IRQ 33 net eth0: Request IRQ 34 net eth0: Request IRQ 35 net eth0: Request IRQ 36 davinci_mdio davinci_mdio.0: resetting idled controller net eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr=davinci_mdio-0:00, id=7c0f1) davinci_emac davinci_emac.1 eth0: Link is Up - 100Mbps/Full - flow control rx/tx IP-Config: Guessing netmask 255.255.0.0 IP-Config: Complete: device=eth0, hwaddr=56:35:07:3f:48:19, ipaddr=169.254.243.185, mask=255.255.0.0, gw=255.255.255.255 host=169.254.243.185, domain=, nis-domain=(none) bootserver=255.255.255.255, rootserver=169.254.243.186, rootpath= VFS: Mounted root (nfs filesystem) on device 0:13. devtmpfs: mounted Freeing unused kernel memory: 148K (c0435000 - c045a000) INIT: version 2.86 booting Please wait: booting... Starting udev random: nonblocking pool is initialized udevd (975): /proc/975/oom_adj is deprecated, please use /proc/975/oom_score_adj instead. udev: starting version 141 udevd[975]: inotify_add_watch(3, (null), 10) failed: Bad address Root filesystem already rw, not remounting WARNING: Couldn't open directory /lib/modules/3.15.0-rc5-next-20140520-00001-g68d7f74-dirty: No such file or directory FATAL: Could not open /lib/modules/3.15.0-rc5-next-20140520-00001-g68d7f74-dirty/modules.dep.temp for writing: No such file or directory modprobe: FATAL: Could not load /lib/modules/3.15.0-rc5-next-20140520-00001-g68d7f74-dirty/modules.dep: No such file or directory modprobe: FATAL: Could not load /lib/modules/3.15.0-rc5-next-20140520-00001-g68d7f74-dirty/modules.dep: No such file or directory root: mount: mounting rootfs on / failed: No such file or directory root: mount: mounting usbfs on /proc/bus/usb failed: No such file or directory Setting up IP spoofing protection: rp_filter. Configuring network interfaces... done. Sat Dec 12 20:53:00 UTC 2009 INIT: Entering runlevel: 5 Starting telnet daemon. modprobe: FATAL: Could not load /lib/modules/3.15.0-rc5-next-20140520-00001-g68d7f74-dirty/modules.dep: No such file or directory Starting syslogd/klogd: done Starting thttpd. _____ _____ _ _ | _ |___ ___ ___ ___ | _ |___ ___ |_|___ ___| |_ | | _| .'| . | . | | __| _| . | | | -_| _| _| |__|__|_| |__,|_ |___| |__| |_| |___|_| |___|___|_| |___| |___| Arago Project http://arago-project.org da850-omapl138-evm ttyS2 Arago 2009.11 da850-omapl138-evm ttyS2 da850-omapl138-evm login: root _______________________________________________ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source