Aron Griffis wrote on Tue, March 09, 2004 1:36 PM > > Looks like it passed beyond show_free_areas(), faulting IP was > > in the while loop accessing mem_map variable. > How did you determine that? Do objdump on vmlinux, then look at the disassembled code at faulting IP: Show_mem+0x100 a00000010003cd00: [MMI] ld4.acq r21=[r16];; It is page faulting on r16, lookup r16 in the panic dump, it shows: r16 : a0007fffff0fffb0, which basically points to a page struct in the mem_map array, you might want to verify whether that address is valid or not. Exam the code up/down a little bit, you would realize the while loop is in between show_mem+0xe0 and show_mem+0x1dc, variable i is stored in r17/r3, lookup up these instructions to see how the pointer is calculated with index i: (i*5*16 + base mem_map, sizeof(struct page) = 80). a00000010003cce6: sxt4 r23=r17;; a00000010003ccec: shladd r22=r23,2,r23;; a00000010003ccf0: [MMI] shladd r16=r22,4,r19;; Anyway, hope you get the idea .... - Ken - To unsubscribe from this list: send the line "unsubscribe linux-ia64" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.htmlReceived on Tue Mar 9 17:51:21 2004
This archive was generated by hypermail 2.1.8 : 2005-08-02 09:20:24 EST