From dhaigh@mail.com Tue May 4 11:08:45 2004 Received: with ECARTIS (v1.0.0; list kdb); Tue, 04 May 2004 11:08:50 -0700 (PDT) Received: from webmail-outgoing.us4.outblaze.com (webmail-outgoing.us4.outblaze.com [205.158.62.67]) by oss.sgi.com (8.12.10/8.12.9) with SMTP id i44I8iKO015151 for ; Tue, 4 May 2004 11:08:44 -0700 Received: from wfilter.us4.outblaze.com (wfilter.us4.outblaze.com [205.158.62.180]) by webmail-outgoing.us4.outblaze.com (Postfix) with QMQP id B36A818038F2 for ; Tue, 4 May 2004 18:08:36 +0000 (GMT) X-OB-Received: from unknown (205.158.62.178) by wfilter.us4.outblaze.com; 4 May 2004 18:06:37 -0000 Received: by ws1-14.us4.outblaze.com (Postfix, from userid 1001) id 9464479004E; Tue, 4 May 2004 18:08:36 +0000 (GMT) Content-type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit MIME-Version: 1.0 X-Mailer: MIME-tools 5.41 (Entity 5.404) Received: from [24.74.164.101] by ws1-14.us4.outblaze.com with http for dhaigh@mail.com; Tue, 04 May 2004 13:08:36 -0500 From: "Doug Haigh" To: kdb@oss.sgi.com Date: Tue, 04 May 2004 13:08:36 -0500 Subject: KDB and RedHat 9.0 - kernel version 2.4.20-8 X-Originating-Ip: 24.74.164.101 X-Originating-Server: ws1-14.us4.outblaze.com Message-Id: <20040504180836.9464479004E@ws1-14.us4.outblaze.com> X-archive-position: 657 X-ecartis-version: Ecartis v1.0.0 Sender: kdb-bounce@oss.sgi.com Errors-to: kdb-bounce@oss.sgi.com X-original-sender: dhaigh@mail.com Precedence: bulk X-list: kdb I have tried to download the 2.4.20 patch to apply to RedHat 9's 2.4.20-8 kernel, but run into problems. Most of the problems I can fix by hand (RedHat adds things that KDB does not expect to be there), but I cannot get past the 'for_each_task' macro in kdb that is not found in RedHat 9.0's 2.4.20-8 kernel. Is there another patch I should be using instead? -- ___________________________________________________________ Sign-up for Ads Free at Mail.com http://promo.mail.com/adsfreejump.htm --------------------------- Use http://oss.sgi.com/ecartis to modify your settings or to unsubscribe. From kstansel@us.ibm.com Tue May 4 11:51:10 2004 Received: with ECARTIS (v1.0.0; list kdb); Tue, 04 May 2004 11:51:14 -0700 (PDT) Received: from e33.co.us.ibm.com (e33.co.us.ibm.com [32.97.110.131]) by oss.sgi.com (8.12.10/8.12.9) with SMTP id i44Ip4KO015913; Tue, 4 May 2004 11:51:10 -0700 Received: from westrelay04.boulder.ibm.com (westrelay04.boulder.ibm.com [9.17.193.32]) by e33.co.us.ibm.com (8.12.10/8.12.2) with ESMTP id i44Io987691774; Tue, 4 May 2004 14:50:09 -0400 Received: from d03nm691.boulder.ibm.com (d03av04.boulder.ibm.com [9.17.195.170]) by westrelay04.boulder.ibm.com (8.12.10/NCO/VER6.6) with ESMTP id i44Io8WU180278; Tue, 4 May 2004 12:50:08 -0600 In-Reply-To: <20040504180836.9464479004E@ws1-14.us4.outblaze.com> To: "Doug Haigh" Cc: kdb@oss.sgi.com, kdb-bounce@oss.sgi.com MIME-Version: 1.0 Subject: Re: KDB and RedHat 9.0 - kernel version 2.4.20-8 X-Mailer: Lotus Notes Release 6.0.2CF1 June 9, 2003 From: Kevin Stansell Message-ID: Date: Tue, 4 May 2004 14:50:05 -0400 X-MIMETrack: Serialize by Router on D03NM691/03/M/IBM(Release 6.0.2CF2HF259 | March 11, 2004) at 05/04/2004 12:50:08, Serialize complete at 05/04/2004 12:50:08 Content-type: text/plain Content-Transfer-Encoding: 8bit X-archive-position: 658 X-ecartis-version: Ecartis v1.0.0 Sender: kdb-bounce@oss.sgi.com Errors-to: kdb-bounce@oss.sgi.com X-original-sender: kstansel@us.ibm.com Precedence: bulk X-list: kdb Their probably using 'for_each_process'. Regards, Kevin Stansell Software Engineer NOS Technology 919-543-1314 t/l: 441-1314 Email: kstansel@us.ibm.com "Doug Haigh" Sent by: kdb-bounce@oss.sgi.com 05/04/2004 02:08 PM To kdb@oss.sgi.com cc Subject KDB and RedHat 9.0 - kernel version 2.4.20-8 I have tried to download the 2.4.20 patch to apply to RedHat 9's 2.4.20-8 kernel, but run into problems. Most of the problems I can fix by hand (RedHat adds things that KDB does not expect to be there), but I cannot get past the 'for_each_task' macro in kdb that is not found in RedHat 9.0's 2.4.20-8 kernel. Is there another patch I should be using instead? -- ___________________________________________________________ Sign-up for Ads Free at Mail.com http://promo.mail.com/adsfreejump.htm --------------------------- Use http://oss.sgi.com/ecartis to modify your settings or to unsubscribe. --------------------------- Use http://oss.sgi.com/ecartis to modify your settings or to unsubscribe. From kaos@sgi.com Tue May 4 17:22:33 2004 Received: with ECARTIS (v1.0.0; list kdb); Tue, 04 May 2004 17:22:39 -0700 (PDT) Received: from mail.ocs.com.au (pr-117-210.ains.net.au [202.147.117.210] (may be forged)) by oss.sgi.com (8.12.10/8.12.9) with SMTP id i450MWKO031457 for ; Tue, 4 May 2004 17:22:32 -0700 Received: from ocs3.ocs.com.au (ocs3.ocs.com.au [192.168.255.3]) by mail.ocs.com.au (Postfix) with ESMTP id 793381800B1; Wed, 5 May 2004 10:22:25 +1000 (EST) Received: by ocs3.ocs.com.au (Postfix, from userid 16331) id 69C8DC00AC; Wed, 5 May 2004 10:22:23 +1000 (EST) Received: from ocs3.ocs.com.au (localhost [127.0.0.1]) by ocs3.ocs.com.au (Postfix) with ESMTP id 6682B14008F; Wed, 5 May 2004 10:22:23 +1000 (EST) X-Mailer: exmh version 2.6.3_20040314 03/14/2004 with nmh-1.0.4 From: Keith Owens To: "Doug Haigh" Cc: kdb@oss.sgi.com Subject: Re: KDB and RedHat 9.0 - kernel version 2.4.20-8 In-reply-to: Your message of "Tue, 04 May 2004 13:08:36 EST." <20040504180836.9464479004E@ws1-14.us4.outblaze.com> Mime-Version: 1.0 Content-type: text/plain; charset=us-ascii Date: Wed, 05 May 2004 10:22:22 +1000 Message-ID: <21074.1083716542@ocs3.ocs.com.au> Content-Transfer-Encoding: 8bit X-archive-position: 659 X-ecartis-version: Ecartis v1.0.0 Sender: kdb-bounce@oss.sgi.com Errors-to: kdb-bounce@oss.sgi.com X-original-sender: kaos@sgi.com Precedence: bulk X-list: kdb On Tue, 04 May 2004 13:08:36 -0500, "Doug Haigh" wrote: >I have tried to download the 2.4.20 patch to apply to RedHat 9's 2.4.20-8 kernel, but run into problems. Most of the problems I can fix by hand (RedHat adds things that KDB does not expect to be there), but I cannot get past the 'for_each_task' macro in kdb that is not found in RedHat 9.0's 2.4.20-8 kernel. Is there another patch I should be using instead? Long lines are hard to read. Please wrap your text. Newer kdb patches define kdb_do_each_thread and kdb_while_each_thread. See include/linux/kdbprivate.h and kdb/kdb_bt.c in kdb-v4.3-2.4.25-common-2. --------------------------- Use http://oss.sgi.com/ecartis to modify your settings or to unsubscribe. From ananth@in.ibm.com Wed May 5 06:39:36 2004 Received: with ECARTIS (v1.0.0; list kdb); Wed, 05 May 2004 06:39:48 -0700 (PDT) Received: from e6.ny.us.ibm.com (e6.ny.us.ibm.com [32.97.182.106]) by oss.sgi.com (8.12.10/8.12.9) with SMTP id i45DdZKO009955 for ; Wed, 5 May 2004 06:39:35 -0700 Received: from northrelay02.pok.ibm.com (northrelay02.pok.ibm.com [9.56.224.150]) by e6.ny.us.ibm.com (8.12.10/8.12.2) with ESMTP id i45DclfQ463238; Wed, 5 May 2004 09:38:48 -0400 Received: from jataayu.in.ibm.com (d01av02.pok.ibm.com [9.56.224.216]) by northrelay02.pok.ibm.com (8.12.10/NCO/VER6.6) with ESMTP id i45Dd1dS108428; Wed, 5 May 2004 09:39:07 -0400 Received: by jataayu.in.ibm.com (Postfix, from userid 500) id 43AE1B38B7; Wed, 5 May 2004 10:16:47 -0400 (EDT) Date: Wed, 5 May 2004 19:16:47 +0500 From: Ananth N Mavinakayanahalli To: anton@samba.org Cc: kdb@oss.sgi.com, linuxppc64-dev@lists.linuxppc.org, linas@austin.ibm.com Subject: [PATCH] fix KDB backtrace for ppc64 Message-ID: <20040505141647.GA4678@in.ibm.com> Reply-To: ananth@in.ibm.com Mime-Version: 1.0 Content-type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.4i Content-Transfer-Encoding: 8bit X-archive-position: 660 X-ecartis-version: Ecartis v1.0.0 Sender: kdb-bounce@oss.sgi.com Errors-to: kdb-bounce@oss.sgi.com X-original-sender: ananth@in.ibm.com Precedence: bulk X-list: kdb Hi Anton, Here is a patch that fixes backtracing in KDB for ppc64. We were not handling the link register and were missing an intermediate call during bt. The patch also contains updates to bring KDB in Ameslab to the latest SGI released level. Please apply! Thanks, Ananth -- Ananth Narayan Linux Technology Center, IBM Software Lab, INDIA diff -Naurp temp/ameslab/arch/ppc64/kdb/kdba_bt.c ameslab/arch/ppc64/kdb/kdba_bt.c --- temp/ameslab/arch/ppc64/kdb/kdba_bt.c 2004-04-22 21:52:09.000000000 -0700 +++ ameslab/arch/ppc64/kdb/kdba_bt.c 2004-05-05 02:51:12.321319240 -0700 @@ -101,17 +101,15 @@ kdba_bt_stack_ppc(struct pt_regs *regs, struct task_struct *p, int regs_esp) { - kdb_machreg_t esp,eip,ebp,old_esp; -/* kdb_symtab_t symtab, *sym; */ - kdbtbtable_t tbtab; + kdb_machreg_t esp, eip, ebp, old_esp; /* declare these as raw ptrs so we don't get func descriptors */ extern void *ret_from_except, *ret_from_syscall_1; -/* int do_bottom_half_ret=0; */ const char *name; - char namebuf[128]; - unsigned long symsize,symoffset; + unsigned long symsize, symoffset; char *symmodname; + int flag = 0; + char namebuf[128]; /* * The caller may have supplied an address at which the @@ -155,7 +153,8 @@ kdba_bt_stack_ppc(struct pt_regs *regs, kdb_printf(" SP(esp) PC(eip) Function(args)\n"); - /* (Ref: 64-bit PowerPC ELF ABI Spplement; Ian Lance Taylor, Zembu Labs). + /* (Ref: 64-bit PowerPC ELF ABI Supplement: + Ian Lance Taylor, Zembu Labs). A PPC stack frame looks like this: High Address @@ -180,18 +179,15 @@ kdba_bt_stack_ppc(struct pt_regs *regs, */ while (1) { kdb_printf("0x%016lx 0x%016lx ", esp, eip); - /* kdbnearsym(eip, &symtab); */ - kdba_find_tb_table(eip, &tbtab); - - /* sym = symtab.sym_name ? &symtab : &tbtab.symtab; */ - /* use fake symtab if necessary */ name = NULL; if (esp >= PAGE_OFFSET) { - /*if ((sym) )*/ - /* if this fails, eip is outside of kernel space, dont trust it. */ + /* + * if this fails, eip is outside of kernel space, + * dont trust it. + */ if (eip > PAGE_OFFSET) { - name = kallsyms_lookup(eip, &symsize, &symoffset, &symmodname, - namebuf); + name = kallsyms_lookup(eip, &symsize, + &symoffset, &symmodname, namebuf); } if (name) { kdb_printf("%s", name); @@ -200,25 +196,49 @@ kdba_bt_stack_ppc(struct pt_regs *regs, } } - /* if this fails, eip is outside of kernel space, dont trust data. */ + /* + * if this fails, eip is outside of kernel space, + * dont trust data. + */ if (eip > PAGE_OFFSET) { if (eip - symoffset > 0) { kdb_printf(" +0x%lx", /*eip -*/ symoffset); } } kdb_printf("\n"); + if (!flag && (task_curr(p))) { + kdb_machreg_t lr; + unsigned long start = 0, end = 0; + + flag++; + lr = regs->link; + if ((lr < PAGE_OFFSET) || (lr == eip)) + goto next_frame; + + start = eip - symoffset; + end = eip - symoffset + symsize; + if (lr >= start && lr < end) + goto next_frame; + + name = NULL; + name = kallsyms_lookup(lr, &symsize, + &symoffset, &symmodname, namebuf); + if (name) + kdb_printf("0x%016lx 0x%016lx (lr) %s +0x%lx\n", + esp, lr, name, symoffset); + } - /* ret_from_except=0xa5e0 ret_from_syscall_1=a378 do_bottom_half_ret=a5e0 */ +next_frame: if (esp < PAGE_OFFSET) { /* below kernelspace.. */ kdb_printf("\n", esp ); break; } else { if (eip == (kdb_machreg_t)ret_from_except || - eip == (kdb_machreg_t)ret_from_syscall_1 /* || - eip == (kdb_machreg_t)do_bottom_half_ret */) { + eip == (kdb_machreg_t)ret_from_syscall_1) { /* pull exception regs from the stack */ struct pt_regs eregs; - kdba_getmem(esp+STACK_FRAME_OVERHEAD, &eregs, sizeof(eregs)); + kdba_getmem(esp+STACK_FRAME_OVERHEAD, + &eregs, sizeof(eregs)); kdb_printf(" [exception: %lx:%s regs 0x%lx] " "nip:[0x%lx] gpr[1]:[0x%lx]\n", eregs.trap,getvecname(eregs.trap), @@ -236,7 +256,10 @@ kdba_bt_stack_ppc(struct pt_regs *regs, break; } } - /* we want to follow exception registers, not into user stack. ... */ + /* + * we want to follow exception registers, + * not into user stack. ... + */ esp = eregs.gpr[1]; eip = eregs.nip; } else { diff -Naurp temp/ameslab/kdb/ChangeLog ameslab/kdb/ChangeLog --- temp/ameslab/kdb/ChangeLog 2004-05-04 02:07:51.000000000 -0700 +++ ameslab/kdb/ChangeLog 2004-05-05 02:51:18.168228408 -0700 @@ -1,3 +1,8 @@ +2004-04-30 Keith Owens + + * Rewrite inode_pages command for new radix code in struct page. + * kdb v4.3-2.6.6-rc1-common-1. + 2004-04-11 Keith Owens * Unlock sn_sal_lock before entering kdb from sn_serial. diff -Naurp temp/ameslab/kdb/gen-kdb_cmds.c ameslab/kdb/gen-kdb_cmds.c --- temp/ameslab/kdb/gen-kdb_cmds.c 2004-04-22 21:54:41.000000000 -0700 +++ ameslab/kdb/gen-kdb_cmds.c 1969-12-31 16:00:00.000000000 -0800 @@ -1,4 +0,0 @@ -#include -char __initdata *kdb_cmds[] = { - 0 -}; diff -Naurp temp/ameslab/kdb/modules/kdbm_pg.c ameslab/kdb/modules/kdbm_pg.c --- temp/ameslab/kdb/modules/kdbm_pg.c 2004-05-04 02:07:51.000000000 -0700 +++ ameslab/kdb/modules/kdbm_pg.c 2004-05-05 03:07:16.033237072 -0700 @@ -151,42 +151,25 @@ kdbm_page(int argc, const char **argv, c long offset=0; int nextarg; int diag; - int lookup_page = 0; - if (argc == 2) { - if (strcmp(argv[1], "-s") != 0) { - return KDB_ARGCOUNT; - } - lookup_page = 1; - } else if (argc != 1) { + if (argc != 1) return KDB_ARGCOUNT; - } - nextarg = argc; + nextarg = 1; diag = kdbgetaddrarg(argc, argv, &nextarg, &addr, &offset, NULL, regs); if (diag) return diag; - /* Assume argument is a page number, not address */ if (addr < PAGE_OFFSET) addr = (unsigned long) &mem_map[addr]; - /* Get the struct page * that corresponds to this addr */ - if (lookup_page) - { - addr = (unsigned long) virt_to_page(addr); - } - if ((diag = kdb_getarea(page, addr))) return(diag); kdb_printf("struct page at 0x%lx\n", addr); -/* kdb_printf(" next 0x%p prev 0x%p addr space 0x%p index %lu (offset 0x%x)\n", - page.list.next, page.list.prev, page.mapping, page.index, - (int)(page.index << PAGE_CACHE_SHIFT)); */ - kdb_printf(" addr space 0x%p index %lu (offset 0x%x)\n", + kdb_printf(" addr space 0x%p index %lu (offset 0x%llx)\n", page.mapping, page.index, - (int)(page.index << PAGE_CACHE_SHIFT)); + (unsigned long long)page.index << PAGE_CACHE_SHIFT); kdb_printf(" count %d flags %s\n", page.count.counter, page_flags(page.flags)); kdb_printf(" virtual 0x%p\n", page_address((struct page *)addr)); @@ -276,7 +259,7 @@ kdbm_rqueue(int argc, const char **argv, return 0; } -/* routine not used currently.. sync with upstream later + static void do_buffer(unsigned long addr) { @@ -285,13 +268,54 @@ do_buffer(unsigned long addr) if (kdb_getarea(bh, addr)) return; - kdb_printf("bh 0x%lx bno %8llu [%s]\n", addr, + kdb_printf(" bh 0x%lx bno %8llu [%s]", addr, (unsigned long long)bh.b_blocknr, map_flags(bh.b_state, bh_state_vals)); } -*/ -/* inode_struct changed in 2.6.6-rc series.. sync with upstream later +static void +kdbm_show_page(struct page *page, int first) +{ + if (first) + kdb_printf("page_struct index cnt zone nid flags\n"); + kdb_printf("%p%s %6lu %5d %3ld %3ld 0x%lx", + page_address(page), sizeof(void *) == 4 ? " " : "", + page->index, atomic_read(&(page->count)), + page_zonenum(page), page_to_nid(page), + page->flags & (~0UL >> ZONES_SHIFT)); +#define kdb_page_flags(page, type) if (Page ## type(page)) kdb_printf(" " #type); + kdb_page_flags(page, Locked); + kdb_page_flags(page, Error); + kdb_page_flags(page, Referenced); + kdb_page_flags(page, Uptodate); + kdb_page_flags(page, Dirty); + kdb_page_flags(page, LRU); + kdb_page_flags(page, Active); + kdb_page_flags(page, Slab); + kdb_page_flags(page, HighMem); + kdb_page_flags(page, Checked); + if (page->flags & (1UL << PG_arch_1)) + kdb_printf(" arch_1"); + kdb_page_flags(page, Reserved); + kdb_page_flags(page, Private); + kdb_page_flags(page, Writeback); + kdb_page_flags(page, Nosave); + if (page->flags & (1UL << PG_maplock)) + kdb_printf(" maplock"); + kdb_page_flags(page, Direct); + kdb_page_flags(page, MappedToDisk); + kdb_page_flags(page, Reclaim); + kdb_page_flags(page, Compound); + kdb_page_flags(page, Anon); + kdb_page_flags(page, SwapCache); + if (page_has_buffers(page)) + do_buffer((unsigned long) page_buffers(page)); + else if (page->private) + kdb_printf(" private=0x%lx", page->private); + kdb_printf("\n"); +#undef kdb_page_flags +} + static int kdbm_inode_pages(int argc, const char **argv, const char **envp, struct pt_regs *regs) @@ -302,12 +326,9 @@ kdbm_inode_pages(int argc, const char ** long offset=0; int nextarg; int diag; - int which=0; - - struct list_head *head, *curr; - - if (argc < 1) - return KDB_ARGCOUNT; + pgoff_t next = 0; + struct page *page; + int first; nextarg = 1; diag = kdbgetaddrarg(argc, argv, &nextarg, &addr, &offset, NULL, regs); @@ -321,6 +342,7 @@ kdbm_inode_pages(int argc, const char ** if (diag) goto out; kdb_printf("Looking for page index 0x%lx ... \n", addr1); + next = addr1; } if (!(inode = kmalloc(sizeof(*inode), GFP_ATOMIC))) { @@ -340,58 +362,23 @@ kdbm_inode_pages(int argc, const char ** if ((diag = kdb_getarea(*ap, (unsigned long) inode->i_mapping))) goto out; - again: - if (which == 0){ - which=1; - head = &inode->i_mapping->clean_pages; - kdb_printf("CLEAN page_struct index cnt flags\n"); - } else if (which == 1) { - which=2; - head = &inode->i_mapping->dirty_pages; - kdb_printf("DIRTY page_struct index cnt flags\n"); - } else if (which == 2) { - which=3; - head = &inode->i_mapping->locked_pages; - kdb_printf("LOCKED page_struct index cnt flags\n"); - } else { - goto out; + /* Run the pages in the radix tree, printing the state of each page */ + first = 1; + while (radix_tree_gang_lookup(&ap->page_tree, (void **)&page, next, 1)) { + kdbm_show_page(page, first); + if (addr1) + break; + first = 0; + next = page->index + 1; } - - curr = head->next; - while (curr != head) { - struct page page; - struct list_head curr_struct; - - addr = (unsigned long) list_entry(curr, struct page, list); - if ((diag = kdb_getarea(page, addr))) - goto out; - - if (!addr1 || page.index == addr1 || - (addr1 == -1 && (page.flags & ( 1 << PG_locked)))) - { - kdb_printf(" 0x%lx %6lu %5d 0x%lx ", - addr, page.index, page.count.counter, - page.flags); - if (page_has_buffers(&page)) - do_buffer((unsigned long) page_buffers(&page)); - else - kdb_printf("bh [NULL]\n"); - } - - if ((diag = kdb_getarea(curr_struct, (unsigned long) curr))) - goto out; - - curr = curr_struct.next; - } - goto again; - out: + +out: if (inode) kfree(inode); if (ap) kfree(ap); return diag; } -*/ static int kdbm_inode(int argc, const char **argv, const char **envp, @@ -567,13 +554,12 @@ kdbm_memmap(int argc, const char **argv, static int __init kdbm_pg_init(void) { #ifndef CONFIG_DISCONTIGMEM - kdb_register("page", kdbm_page, "[-s] ", "Display page [or page of addr]", 0); + kdb_register("page", kdbm_page, "", "Display page", 0); #endif kdb_register("inode", kdbm_inode, "", "Display inode", 0); kdb_register("sb", kdbm_sb, "", "Display super_block", 0); kdb_register("bh", kdbm_buffers, "", "Display buffer", 0); -/* inode struct changed in 2.6.6-rc series.. sync with upstream later - kdb_register("inode_pages", kdbm_inode_pages, "", "Display pages in an inode", 0); */ + kdb_register("inode_pages", kdbm_inode_pages, "", "Display pages in an inode", 0); kdb_register("req", kdbm_request, "", "dump request struct", 0); kdb_register("rqueue", kdbm_rqueue, "", "dump request queue", 0); #if defined(CONFIG_X86) | defined(CONFIG_PPC64) --------------------------- Use http://oss.sgi.com/ecartis to modify your settings or to unsubscribe. From dhaigh@mail.com Wed May 5 06:51:47 2004 Received: with ECARTIS (v1.0.0; list kdb); Wed, 05 May 2004 06:51:50 -0700 (PDT) Received: from webmail-outgoing.us4.outblaze.com (webmail-outgoing.us4.outblaze.com [205.158.62.67]) by oss.sgi.com (8.12.10/8.12.9) with SMTP id i45DpkKO010199 for ; Wed, 5 May 2004 06:51:46 -0700 Received: from wfilter.us4.outblaze.com (wfilter.us4.outblaze.com [205.158.62.180]) by webmail-outgoing.us4.outblaze.com (Postfix) with QMQP id 53BE41800AD2 for ; Wed, 5 May 2004 13:51:41 +0000 (GMT) X-OB-Received: from unknown (205.158.62.178) by wfilter.us4.outblaze.com; 5 May 2004 13:49:40 -0000 Received: by ws1-14.us4.outblaze.com (Postfix, from userid 1001) id 3D4E879004C; Wed, 5 May 2004 13:51:41 +0000 (GMT) Content-type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit MIME-Version: 1.0 X-Mailer: MIME-tools 5.41 (Entity 5.404) Received: from [24.74.164.101] by ws1-14.us4.outblaze.com with http for dhaigh@mail.com; Wed, 05 May 2004 08:51:41 -0500 From: "Doug Haigh" To: kdb@oss.sgi.com Date: Wed, 05 May 2004 08:51:41 -0500 Subject: Re: KDB and RedHat 9.0 - kernel version 2.4.20-8 X-Originating-Ip: 24.74.164.101 X-Originating-Server: ws1-14.us4.outblaze.com Message-Id: <20040505135141.3D4E879004C@ws1-14.us4.outblaze.com> X-archive-position: 661 X-ecartis-version: Ecartis v1.0.0 Sender: kdb-bounce@oss.sgi.com Errors-to: kdb-bounce@oss.sgi.com X-original-sender: dhaigh@mail.com Precedence: bulk X-list: kdb for_eack_process did the trick. Thanks ----- Original Message ----- From: Kevin Stansell Date: Tue, 4 May 2004 14:50:05 -0400 To: "Doug Haigh" Subject: Re: KDB and RedHat 9.0 - kernel version 2.4.20-8 Their probably using 'for_each_process'. Regards, Kevin Stansell Software Engineer NOS Technology 919-543-1314 t/l: 441-1314 Email: kstansel@us.ibm.com "Doug Haigh" Sent by: kdb-bounce@oss.sgi.com 05/04/2004 02:08 PM To kdb@oss.sgi.com cc Subject KDB and RedHat 9.0 - kernelversion 2.4.20-8 I have tried to download the 2.4.20 patch to apply to RedHat 9's 2.4.20-8 kernel, but run into problems. Most of the problems I can fix by hand (RedHatadds things that KDB does not expect to be there), but I cannot get past the 'for_each_task' macro in kdb that is not found in RedHat 9.0's 2.4.20-8 kernel. Is there another patch I should be using instead? -- ___________________________________________________________ Sign-up for Ads Free at Mail.com http://promo.mail.com/adsfreejump.htm --------------------------- Use http://oss.sgi.com/ecartis to modify your settings or to unsubscribe. -- ___________________________________________________________ Sign-up for Ads Free at Mail.com http://www.mail.com/?sr=signup[1] --- Links --- 1 http://mail01.mail.com/scripts/payment/adtracking.cgi?bannercode=adsfreejump01 --------------------------- Use http://oss.sgi.com/ecartis to modify your settings or to unsubscribe. From linas@austin.ibm.com Wed May 5 11:21:00 2004 Received: with ECARTIS (v1.0.0; list kdb); Wed, 05 May 2004 11:21:02 -0700 (PDT) Received: from e34.co.us.ibm.com (e34.co.us.ibm.com [32.97.110.132]) by oss.sgi.com (8.12.10/8.12.9) with SMTP id i45IKsKO001908 for ; Wed, 5 May 2004 11:21:00 -0700 Received: from westrelay03.boulder.ibm.com (westrelay03.boulder.ibm.com [9.17.195.12]) by e34.co.us.ibm.com (8.12.10/8.12.2) with ESMTP id i45IKlMS450646; Wed, 5 May 2004 14:20:47 -0400 Received: from austin.ibm.com (d03av01.boulder.ibm.com [9.17.195.167]) by westrelay03.boulder.ibm.com (8.12.10/NCO/VER6.6) with ESMTP id i45IKhWp472714; Wed, 5 May 2004 12:20:46 -0600 Received: from forte.austin.ibm.com (forte.austin.ibm.com [9.53.85.27]) by austin.ibm.com (8.12.9/8.12.9.virt) with ESMTP id i45IKhYL034244; Wed, 5 May 2004 13:20:43 -0500 Received: (from linas@localhost) by forte.austin.ibm.com (AIX4.3/8.9.3/8.9.3-client1.01) id NAA54172; Wed, 5 May 2004 13:20:42 -0500 Date: Wed, 5 May 2004 13:20:42 -0500 From: linas@austin.ibm.com To: Ananth N Mavinakayanahalli Cc: anton@samba.org, kdb@oss.sgi.com, linuxppc64-dev@lists.linuxppc.org Subject: Re: [PATCH] fix KDB backtrace for ppc64 Message-ID: <20040505132042.J30266@forte.austin.ibm.com> References: <20040505141647.GA4678@in.ibm.com> Mime-Version: 1.0 Content-type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5.1i In-Reply-To: <20040505141647.GA4678@in.ibm.com>; from ananth@in.ibm.com on Wed, May 05, 2004 at 07:16:47PM +0500 Content-Transfer-Encoding: 8bit X-archive-position: 662 X-ecartis-version: Ecartis v1.0.0 Sender: kdb-bounce@oss.sgi.com Errors-to: kdb-bounce@oss.sgi.com X-original-sender: linas@austin.ibm.com Precedence: bulk X-list: kdb On Wed, May 05, 2004 at 07:16:47PM +0500, Ananth N Mavinakayanahalli wrote: > @@ -200,25 +196,49 @@ kdba_bt_stack_ppc(struct pt_regs *regs, > + if (!flag && (task_curr(p))) { > + > + lr = regs->link; Its not obvious that regs might not be a null pointer. Code higher up tries to make sure that regs is set to something, but its not clear that every branch is correctly handled. Other than that, the patch looks reasonable. --linas --------------------------- Use http://oss.sgi.com/ecartis to modify your settings or to unsubscribe. From hbabu@us.ibm.com Wed May 5 12:56:05 2004 Received: with ECARTIS (v1.0.0; list kdb); Wed, 05 May 2004 12:56:14 -0700 (PDT) Received: from e34.co.us.ibm.com (e34.co.us.ibm.com [32.97.110.132]) by oss.sgi.com (8.12.10/8.12.9) with SMTP id i45JtwKO013713 for ; Wed, 5 May 2004 12:56:05 -0700 Received: from westrelay04.boulder.ibm.com (westrelay04.boulder.ibm.com [9.17.193.32]) by e34.co.us.ibm.com (8.12.10/8.12.2) with ESMTP id i45JtFMS320030; Wed, 5 May 2004 15:55:16 -0400 Received: from d03nm121.boulder.ibm.com (d03av02.boulder.ibm.com [9.17.195.168]) by westrelay04.boulder.ibm.com (8.12.10/NCO/VER6.6) with ESMTP id i45JtBSA161656; Wed, 5 May 2004 13:55:14 -0600 Importance: Normal MIME-Version: 1.0 Sensitivity: To: linas@austin.ibm.com Cc: Ananth N Mavinakayanahalli , anton@samba.org, kdb@oss.sgi.com, linuxppc64-dev@lists.linuxppc.org Subject: Re: [PATCH] fix KDB backtrace for ppc64 X-Mailer: Lotus Notes Release 5.0.11 July 24, 2002 Message-ID: From: Haren Myneni Date: Wed, 5 May 2004 12:54:59 -0700 X-MIMETrack: Serialize by Router on D03NM121/03/M/IBM(Release 6.0.2CF2HF168 | December 5, 2003) at 05/05/2004 13:55:14, Serialize complete at 05/05/2004 13:55:14 Content-type: text/plain Content-Transfer-Encoding: 8bit X-archive-position: 663 X-ecartis-version: Ecartis v1.0.0 Sender: kdb-bounce@oss.sgi.com Errors-to: kdb-bounce@oss.sgi.com X-original-sender: hbabu@us.ibm.com Precedence: bulk X-list: kdb regs will be NULL if we use sysrq-trigger to invoke SysRq key. Noticed on LKCD, but not sure whether it could apply on KDB. Example: echo 'd' > /proc/sysrq-trigger. Sent by: kdb-bounce@oss.sgi.com To: Ananth N Mavinakayanahalli cc: anton@samba.org, kdb@oss.sgi.com, linuxppc64-dev@lists.linuxppc.org Subject: Re: [PATCH] fix KDB backtrace for ppc64 On Wed, May 05, 2004 at 07:16:47PM +0500, Ananth N Mavinakayanahalli wrote: > @@ -200,25 +196,49 @@ kdba_bt_stack_ppc(struct pt_regs *regs, > + if (!flag && (task_curr(p))) { > + > + lr = regs->link; Its not obvious that regs might not be a null pointer. Code higher up tries to make sure that regs is set to something, but its not clear that every branch is correctly handled. Other than that, the patch looks reasonable. --linas --------------------------- Use http://oss.sgi.com/ecartis to modify your settings or to unsubscribe. --------------------------- Use http://oss.sgi.com/ecartis to modify your settings or to unsubscribe. From kaos@sgi.com Wed May 5 15:50:56 2004 Received: with ECARTIS (v1.0.0; list kdb); Wed, 05 May 2004 15:51:10 -0700 (PDT) Received: from mail.ocs.com.au (pr-117-210.ains.net.au [202.147.117.210] (may be forged)) by oss.sgi.com (8.12.10/8.12.9) with SMTP id i45MotKO019685 for ; Wed, 5 May 2004 15:50:56 -0700 Received: from ocs3.ocs.com.au (ocs3.ocs.com.au [192.168.255.3]) by mail.ocs.com.au (Postfix) with ESMTP id 2A68F1800B1; Thu, 6 May 2004 08:50:48 +1000 (EST) Received: by ocs3.ocs.com.au (Postfix, from userid 16331) id 99C88C2163; Thu, 6 May 2004 08:50:47 +1000 (EST) Received: from ocs3.ocs.com.au (localhost [127.0.0.1]) by ocs3.ocs.com.au (Postfix) with ESMTP id 5EB88140082; Thu, 6 May 2004 08:50:47 +1000 (EST) X-Mailer: exmh version 2.6.3_20040314 03/14/2004 with nmh-1.0.4 From: Keith Owens To: Haren Myneni Cc: linas@austin.ibm.com, Ananth N Mavinakayanahalli , anton@samba.org, kdb@oss.sgi.com, linuxppc64-dev@lists.linuxppc.org Subject: Re: [PATCH] fix KDB backtrace for ppc64 In-reply-to: Your message of "Wed, 05 May 2004 12:54:59 MST." Mime-Version: 1.0 Content-type: text/plain; charset=us-ascii Date: Thu, 06 May 2004 08:50:46 +1000 Message-ID: <18056.1083797446@ocs3.ocs.com.au> Content-Transfer-Encoding: 8bit X-archive-position: 664 X-ecartis-version: Ecartis v1.0.0 Sender: kdb-bounce@oss.sgi.com Errors-to: kdb-bounce@oss.sgi.com X-original-sender: kaos@sgi.com Precedence: bulk X-list: kdb On Wed, 5 May 2004 12:54:59 -0700, Haren Myneni wrote: >regs will be NULL if we use sysrq-trigger to invoke SysRq key. Noticed on >LKCD, but not sure whether it could apply on KDB. >Example: echo 'd' > /proc/sysrq-trigger. IA64 SN2 console had the same problem, not running in the interrupt handler so no registers. drivers/char/sn_serial.c uses KDB_ENTER() to get registers. #ifdef CONFIG_KDB if (kdb_on) { if (ch == *kdb_serial_ptr) { if (!(*++kdb_serial_ptr)) { spin_unlock_irqrestore(&sn_sal_lock, *flags); if (!regs) KDB_ENTER(); /* to get some registers */ else kdb(KDB_REASON_KEYBOARD, 0, regs); kdb_serial_ptr = (char *)kdb_serial_str; spin_lock_irqsave(&sn_sal_lock, *flags); break; } } else kdb_serial_ptr = (char *)kdb_serial_str; } #endif /* CONFIG_KDB */ --------------------------- Use http://oss.sgi.com/ecartis to modify your settings or to unsubscribe. From aj2002@263.net Wed May 5 18:52:18 2004 Received: with ECARTIS (v1.0.0; list kdb); Wed, 05 May 2004 18:52:19 -0700 (PDT) Received: from ANGEL ([220.185.157.170]) by oss.sgi.com (8.12.10/8.12.9) with SMTP id i461qAKO000533 for ; Wed, 5 May 2004 18:52:12 -0700 Message-ID: <002501c432ff$5c1b5180$0200a8c0@ANGEL> From: To: "kdb@oss.sgi.com" Subject: Inquire Date: Thu, 6 May 2004 08:16:21 +0800 MIME-Version: 1.0 Content-type: text/plain X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2800.1409 X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2800.1409 Content-Transfer-Encoding: 8bit X-archive-position: 665 X-ecartis-version: Ecartis v1.0.0 Sender: kdb-bounce@oss.sgi.com Errors-to: kdb-bounce@oss.sgi.com X-original-sender: aj2002@263.net Precedence: bulk X-list: kdb Dear General Manager , How are you? We are professional manufacturer and exporter in the range of portable petrol generator,petrol engine,water pump in china. We would like to offer the best quality and competitive price.We assure it is very absorbing business and we would like to establish long-time cooperate relation with you.If you need, We can offer OEM service. Our compay is consist of three wholly-owned subsidiaries: Shanghai Robot Machinery Co., Ltd , Zhejiang Robot Power Machinery Co., Ltd and Zhejiang New Mainland Machinery Co., Ltd. Shanghai Robot Machinery Co., Ltd is specializing in designing products and developing market ; Zhejiang Robot Power Machinery Co., Ltd specializes in researching, developing and producing the general gasoline engine ,generator sets, water pump , gardens machine and agriculture machine, while Zhejiang New Mainland Machinery Co., Ltd design manufacture accessories for series of cars and motors. We are insisting on the product-developing principle of ¡°Innovative, Economic, Durable and No pollution¡±, has developed 5 series£¬more than 10 kinds of general gasoline engines and various patterns of gasoline generators, having formed an annual throughput of 300000 general machines. With the managing idea of ¡°Customer first, Customer satisfied¡±, we can develop all kinds of products settle for the market and customer at rapid speed, depending on the special requests or rules differing from the countries or regions. Oue company have direct export power in china,so we assure we can offer the best quality and service. Gasoline engine series: 1. Gasoline engine Max. Out Power (HP): 5.0-13.6 HP 2. Gasoline water pump Suc. & Discharge Dia: 2¡±-4¡± 3. Gasoline generator Rated Output (KW): 0.45-6.50 KW 4. Brush cutter series Discharging capacity: 30.5CC-41.5CC Blade length: 230 MM/ 306 MM More details are showing in our website. Should you are in need, please contact with us. More details, if required, we are too glad to satisfy you. We are very happy to cooperate with you and your prompt reply would be high appreciated. Best Regards, Mr. Andy liu ------------------------------------ New Mainland Co., Ltd Zhejiang Robot Power Machinery Co.,ltd Add: Damaiyu Economic Investment Zone, Yuhuan, Zheijiang, China P.O.: 317604 Tel: (00)86-576-7377996 Fax: (00)86-576-7377989 E-mail: andy@cnxdl.com ICQ: 289358893 MSN messenger ID: robotandy@hotmail.com Web: http://www.hardwaretoday.com/en/freemember/index.jsp?M_ID=HWT0010654&P_ID=&T_ID=null http://www.made-in-china.com/showroom/anjier http://www.robotgenerator.com http://www.cn-xdl.com SPECIFICATION WP40 WP50 WP80 WP100 Water Pump Type Self-suction Vacuum Pump Self-suction Vacuum Pump Outlet Diameter (mm) 40 50 80 100 Head (m) 25 26 30 30 Lift (m) 8 8 8 8 Displacement (L/min) 400 550 950 1500 Engine Model 152F A168F B168F 173F Type Air-Cooled, 4 Stroke,Single Cylinder Air-Cooled, 4 Stroke,Single Cylinder Bore¡ÁStroke (mm) 52¡Á38 68¡Á45 68¡Á54 68¡Á54 Displacement (ml) 80.7 163 196 196 Rate Power 1.20kw/3000rpm 1.32kw/3600rpm 3.1kw/3000rpm 3.5kw/3600rpm 3.8kw/3000rpm 4.1kw/3600rpm 5.1kw/3000rpm 5.5kw/3600rpm Max.Power 1.8kw/3000rpm 4.1kw/4000rpm 4.8kw/4000rpm 4.8kw/4000rpm Max.Torque 4.13N.m/3000rpm 10N.m/2500rpm 11N.m/2500rpm 16.7N.m/2500rpm Start Mode Recoil and hand-operated Recoil and hand-operated Fuel tank capacity (L) 1.5 3.6 3.6 3.6 Set Net Dimension (L¡ÁW¡ÁH) (mm) 445¡Á350¡Á360 475¡Á365¡Á405 515¡Á420¡Á440 625¡Á470¡Á580 Packing Dimension (L¡ÁW¡ÁH) (mm) 455¡Á360¡Á370 485¡Á 375 ¡Á415 525¡Á 430 ¡Á450 635¡Á 480 ¡Á590 Net Weight (kg) 19 24.5 30 48 Gross Weight (kg) 20 26 32 50 Standard Features Engine Switch ¡ñ ¡ñ ¡ñ ¡ñ Oil Alert ¡ñ ¡ñ ¡ñ ¡ñ Quantity (SET) Per 20' GP CNT 486 360 275 144 Per 40' GP CNT 972 720 575 288 Unit Price FOB Ningbo(US $) 74 78 81 Model W152F 152F WA168F A168F WB168F B168F W173F 173F W177F 177F W182F 182F W188F 188F Type Air-cooled, 4 stroke,OHV, single cylinder Air-cooled, 4 stroke,OHV, single cylinder Bore¡ÁStroke (mm) 52¡Á38 68¡Á45 68¡Á54 73¡Á58 77¡Á58 82¡Á64 88¡Á64 Displacement (ml) 80.7 163 196 242 270 337 389 Compression Ratio 7:1 8.5:1 8.5:1 8.2:1 8.2:1 8:1 8:1 Rate Power 1.20kw/3000rpm 1.32kw/3600rpm 3.1kw/3000rpm 3.5kw/3600rpm 3.8kw/3000rpm 4.1kw/3600rpm 5.1kw/3000rpm 5.5kw/3600rpm 5.8kw/3000rpm 6.1kw/3600rpm 7.0kw/3000rpm 7.3kw/3600rpm 8.3kw/3000rpm 8.5kw/3600rpm Max.Power 1.8kw/3000rpm 4.1kw/4000rpm 4.8kw/4000rpm 6.0kw/4000rpm 6.6kw/4000rpm 8.1kw/4000rpm 9.6kw/4000rpm Max.Torque 4.13N.m/3000rpm 10N.m/2500rpm 11N.m/2500rpm 16.7N.m/2500rpm 19N.m/2500rpm 23.5N.m/2500rpm 26.5N.m/2500rpm Ignition System Non-contact transistorized ignition(TCI) Non-contact transistorized ignition(TCI) Air Cleaner Semi-dry, oil bath Semi-dry, oil bath Semi-dry, oil bath Semi-dry, oil bath Semi-dry, oil bath Semi-dry, oil bath Semi-dry, oil bath Fuel tank capacity 3.6L ¡ª 3.6L ¡ª 3.6L ¡ª 6L ¡ª 6L ¡ª 6.5L ¡ª 6.5L ¡ª Fuel consumption 450g/kw-hour 380g/kw-hour 380g/kw-hour 290g/kw-hour 290g/kw-hour 290g/kw-hour 290g/kw-hour Engine Oil Capacity 0.4L 0.6L 0.6L 1.1L 1.1L 1.1L 1.1L Start Mode Recoil and hand-operated Recoil and hand-operated Recoil and hand-operated Net Dimension (L¡ÁW¡ÁH) (mm) 380¡Á286¡Á285 395¡Á345¡Á375 395¡Á345¡Á375 370¡Á420¡Á400 370¡Á420¡Á400 395¡Á440¡Á433 395¡Á440¡Á433 Packing Dimension (L¡ÁW¡ÁH) (mm) 390¡Á296¡Á295 405¡Á355¡Á385 405¡Á355¡Á385 380¡Á430¡Á410 380¡Á430¡Á410 405¡Á450¡Á443 405¡Á450¡Á443 Net Weight (kg) 8.5 15 15 25 25 31 31 Gross Weight (kg£© 10 16 16 26 26 32 32 Fuel Tank ¡ñ ¡ð ¡ñ ¡ð ¡ñ ¡ð ¡ñ ¡ð ¡ñ ¡ð ¡ñ ¡ð ¡ñ ¡ð Silencer ¡ñ ¡ð ¡ñ ¡ð ¡ñ ¡ð ¡ñ ¡ð ¡ñ ¡ð ¡ñ ¡ð ¡ñ ¡ð Quantity (SET) Per 20' GP CNT 912 552 552 400 400 350 350 Per 40' GP CNT 1920 1140 1140 830 830 725 725 Unit Price FOB Ningbo(US $) 54 50 58 53 61 56 90 86 101 97 121 116 121 116 SPECIFICATION RBT1000A RBT2000A RBT2500A RBT3000A RBT5000A RBT5000B RBT5000C Generator Type Brush Less Brush, Revolving Magnetic Field, 2 Poles, Single-Phase Brush, Revolving Magnetic Field, 2 Poles, Single-Phase Rate AC Output 0.90kw/50Hz 2.0kw/50Hz 2.5kw/50Hz 3.0kw/50Hz 5.0kw/50Hz 5.0kw/50Hz 5.0kw/50Hz 0.95kw/60Hz 2.5kw/60Hz 2.8kw/50Hz 3.5kw/60Hz 5.5kw/60Hz 5.5kw/60Hz 5.5kw/60Hz Max.AC Output 1.0kw/50Hz 2.3kw/50Hz 2.8kw/50Hz 3.3kw/50Hz 5.5kw/50Hz 5.3kw/50Hz 5.3kw/50Hz 1.2kw/60Hz 3.0kw/60Hz 3.2kw/60Hz 4.0kw/60Hz 6.0kw/60Hz 6.0kw/60Hz 6.0kw/60Hz Frequency (Hz) 50/60 50/60 50/60 50/60 50/60 50/60 50/60 Voltage£¨v£© 220/110 220/110 220/110 220/110 220/110 220/110 380 Voltage Regulator Capacitor AVR System AVR System AVR System AVR System AVR System AVR System Engine Type Air-cooled, 4 stroke,OHV, single cylinder Air-cooled, 4 stroke,OHV, single cylinder Model 152F A168F B168F 173F 188F 188F 188F Bore¡ÁStroke (mm) 52¡Á38 68¡Á45 68¡Á54 73¡Á58 88¡Á64 88¡Á64 88¡Á64 Displacement (ml) 80.7 163 196 242 389 389 389 Compression Ratio 07:01 8.5:1 8.5:1 8.2:1 08:01 08:01 08:01 Rate Power (kw) 1.2/3000rpm 3.1kw/3000rpm 3.8kw/3000rpm 5.1kw/3000rpm 8.3kw/3000rpm 8.3kw/3000rpm 8.3kw/3000rpm 1.32/3600rpm 3.5kw/3600rpm 4.1kw/3600rpm 5.5kw/3600rpm 8.5kw/3600rpm 8.5kw/3600rpm 8.5kw/3600rpm Max.Power (kw) 1.8/3000rpm 4.1/4000rpm 4.8/4000rpm 6.0/4000rpm 9.6kw/4000rpm 9.6kw/4000rpm 9.6kw/4000rpm Max.Torque 4.13N.m/3000rpm 10N.m/2500rpm 11N.m/2500pm 16.7N.m/2500rpm 26.5N.m/2500rpm 26.5N.m/2500rpm 26.5N.m/2500rpm Ignition System Non-contact transistorized ignition(TCI) Non-contact transistorized ignition(TCI) Non-contact transistorized ignition(TCI) Air Cleaner Semi-dry, oil bath Semi-dry, oil bath Semi-dry, oil bath Semi-dry, oil bath Semi-dry, oil bath Semi-dry, oil bath Semi-dry, oil bath Fuel tank capacity (L) 5.5 16 16 25 25 25 25 Fuel consumption 450g/kw-hour 380g/kw-hour 380g/kw-hour 290g/kw-hour 290g/kw-hour 290g/kw-hour 290g/kw-hour Right Crankcase Form Crankcase Cover Trunk Case Trunk Case Trunk Case Trunk Case Trunk Case Trunk Case Engine Oil Capacity (L) 0.4 0.6 0.6 1.1 1.1 1.1 1.1 Start Mode Recoil and Recoil and Recoil and Recoil and Recoil and Manual and Recoil and hand-operated hand-operated hand-operated hand-operated hand-operated Electric start hand-operated Set Net Dimension 450¡Á350¡Á360 580¡Á420¡Á430 580¡Á425¡Á430 660¡Á490¡Á520 660¡Á490¡Á520 830¡Á490¡Á520 830¡Á490¡Á520 (L¡ÁW¡ÁH) (mm) Packing Dimension 460¡Á360¡Á370 605¡Á440¡Á455 605¡Á440¡Á455 680¡Á510¡Á540 680¡Á510¡Á540 850¡Á510¡Á540 850¡Á510¡Á540 (L¡ÁW¡ÁH) (mm) Net Weight (kg) 30 45 45 70 83 88 83 Gross Weight (kg£© 31 47 47 72 85 90 85 Standard AC Socket ¡ñ ¡ñ ¡ñ ¡ñ ¡ñ ¡ñ ¡ñ Features AC Circuit Breaker ¡ñ ¡ñ ¡ñ ¡ñ ¡ñ ¡ñ ¡ñ ¡¡ Engine Switch ¡ñ ¡ñ ¡ñ ¡ñ ¡ñ ¡ñ ¡ñ ¡¡ AC Voltmeter ¡ñ ¡ñ ¡ñ ¡ñ ¡ñ ¡ñ ¡ñ ¡¡ Indicator Light ¡ñ ¡ñ ¡ñ ¡ñ ¡ñ ¡ñ ¡ñ ¡¡ Oil Alert ¡ñ ¡ñ ¡ñ ¡ñ ¡ñ ¡ñ ¡ñ Option DC socket (12v/10A) ¡ð ¡ð ¡ð ¡ð ¡ð ¡ð ¡ð DC Circuit Breaker ¡ð ¡ð ¡ð ¡ð ¡ð ¡ð ¡ð Quantity Per 20' GP CNT 486 240 240 140 140 96 96 (SET) Per 40' GP CNT 966 475 475 296 296 208 208 Unit Price FOB Ningbo(US $) 79 118 125 218 250 260 357 The RBT1000A gasoline generator is similar to Mitsubishi,is very popular in world,other products are similar to Honda. ROBOT 950w price is 46.00$.All the price is very competitory.Guarantee period will be one year.All the products with some spare parts and tools. --------------------------- Use http://oss.sgi.com/ecartis to modify your settings or to unsubscribe. From ananth@in.ibm.com Wed May 5 22:56:35 2004 Received: with ECARTIS (v1.0.0; list kdb); Wed, 05 May 2004 22:56:47 -0700 (PDT) Received: from e35.co.us.ibm.com (e35.co.us.ibm.com [32.97.110.133]) by oss.sgi.com (8.12.10/8.12.9) with SMTP id i465uYKO007904 for ; Wed, 5 May 2004 22:56:35 -0700 Received: from westrelay02.boulder.ibm.com (westrelay02.boulder.ibm.com [9.17.195.11]) by e35.co.us.ibm.com (8.12.10/8.12.2) with ESMTP id i465tvYm287118; Thu, 6 May 2004 01:55:57 -0400 Received: from jataayu.in.ibm.com (d03av02.boulder.ibm.com [9.17.195.168]) by westrelay02.boulder.ibm.com (8.12.10/NCO/VER6.6) with ESMTP id i465tlko379674; Wed, 5 May 2004 23:55:51 -0600 Received: by jataayu.in.ibm.com (Postfix, from userid 500) id E549FB38B6; Thu, 6 May 2004 02:34:09 -0400 (EDT) Date: Thu, 6 May 2004 11:34:09 +0500 From: Ananth N Mavinakayanahalli To: linas@austin.ibm.com Cc: anton@samba.org, kdb@oss.sgi.com, linuxppc64-dev@lists.linuxppc.org Subject: Re: [PATCH] fix KDB backtrace for ppc64 (reworked) Message-ID: <20040506063409.GA6068@in.ibm.com> Reply-To: ananth@in.ibm.com References: <20040505141647.GA4678@in.ibm.com> <20040505132042.J30266@forte.austin.ibm.com> Mime-Version: 1.0 Content-type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20040505132042.J30266@forte.austin.ibm.com> User-Agent: Mutt/1.4i Content-Transfer-Encoding: 8bit X-archive-position: 666 X-ecartis-version: Ecartis v1.0.0 Sender: kdb-bounce@oss.sgi.com Errors-to: kdb-bounce@oss.sgi.com X-original-sender: ananth@in.ibm.com Precedence: bulk X-list: kdb On Wed, May 05, 2004 at 01:20:42PM -0500, linas@austin.ibm.com wrote: > > On Wed, May 05, 2004 at 07:16:47PM +0500, Ananth N Mavinakayanahalli wrote: > > @@ -200,25 +196,49 @@ kdba_bt_stack_ppc(struct pt_regs *regs, > > + if (!flag && (task_curr(p))) { > > + > > + lr = regs->link; > > Its not obvious that regs might not be a null pointer. Code > higher up tries to make sure that regs is set to something, > but its not clear that every branch is correctly handled. > Right.. Here is a reworked patch that handles NULL regs. Anton, Please consider this patch for inclusion to Ameslab. Thanks, Ananth -- Ananth Narayan Linux Technology Center, IBM Software Lab, INDIA diff -Naurp temp/ameslab/arch/ppc64/kdb/kdba_bt.c ameslab/arch/ppc64/kdb/kdba_bt.c --- temp/ameslab/arch/ppc64/kdb/kdba_bt.c 2004-04-22 21:52:09.000000000 -0700 +++ ameslab/arch/ppc64/kdb/kdba_bt.c 2004-05-05 22:06:39.401239784 -0700 @@ -101,17 +101,15 @@ kdba_bt_stack_ppc(struct pt_regs *regs, struct task_struct *p, int regs_esp) { - kdb_machreg_t esp,eip,ebp,old_esp; -/* kdb_symtab_t symtab, *sym; */ - kdbtbtable_t tbtab; + kdb_machreg_t esp, eip, ebp, old_esp; /* declare these as raw ptrs so we don't get func descriptors */ extern void *ret_from_except, *ret_from_syscall_1; -/* int do_bottom_half_ret=0; */ const char *name; - char namebuf[128]; - unsigned long symsize,symoffset; + unsigned long symsize, symoffset; char *symmodname; + int flag = 0; + char namebuf[128]; /* * The caller may have supplied an address at which the @@ -155,7 +153,8 @@ kdba_bt_stack_ppc(struct pt_regs *regs, kdb_printf(" SP(esp) PC(eip) Function(args)\n"); - /* (Ref: 64-bit PowerPC ELF ABI Spplement; Ian Lance Taylor, Zembu Labs). + /* (Ref: 64-bit PowerPC ELF ABI Supplement: + Ian Lance Taylor, Zembu Labs). A PPC stack frame looks like this: High Address @@ -180,18 +179,15 @@ kdba_bt_stack_ppc(struct pt_regs *regs, */ while (1) { kdb_printf("0x%016lx 0x%016lx ", esp, eip); - /* kdbnearsym(eip, &symtab); */ - kdba_find_tb_table(eip, &tbtab); - - /* sym = symtab.sym_name ? &symtab : &tbtab.symtab; */ - /* use fake symtab if necessary */ name = NULL; if (esp >= PAGE_OFFSET) { - /*if ((sym) )*/ - /* if this fails, eip is outside of kernel space, dont trust it. */ + /* + * if this fails, eip is outside of kernel space, + * dont trust it. + */ if (eip > PAGE_OFFSET) { - name = kallsyms_lookup(eip, &symsize, &symoffset, &symmodname, - namebuf); + name = kallsyms_lookup(eip, &symsize, + &symoffset, &symmodname, namebuf); } if (name) { kdb_printf("%s", name); @@ -200,25 +196,50 @@ kdba_bt_stack_ppc(struct pt_regs *regs, } } - /* if this fails, eip is outside of kernel space, dont trust data. */ + /* + * if this fails, eip is outside of kernel space, + * dont trust data. + */ if (eip > PAGE_OFFSET) { if (eip - symoffset > 0) { kdb_printf(" +0x%lx", /*eip -*/ symoffset); } } kdb_printf("\n"); + if (!flag && (task_curr(p))) { + kdb_machreg_t lr; + unsigned long start = 0, end = 0; + + flag++; + if ((!regs) || (regs->link < PAGE_OFFSET) || + (regs->link == eip)) + goto next_frame; + + lr = regs->link; + start = eip - symoffset; + end = eip - symoffset + symsize; + if (lr >= start && lr < end) + goto next_frame; + + name = NULL; + name = kallsyms_lookup(lr, &symsize, + &symoffset, &symmodname, namebuf); + if (name) + kdb_printf("0x%016lx 0x%016lx (lr) %s +0x%lx\n", + esp, lr, name, symoffset); + } - /* ret_from_except=0xa5e0 ret_from_syscall_1=a378 do_bottom_half_ret=a5e0 */ +next_frame: if (esp < PAGE_OFFSET) { /* below kernelspace.. */ kdb_printf("\n", esp ); break; } else { if (eip == (kdb_machreg_t)ret_from_except || - eip == (kdb_machreg_t)ret_from_syscall_1 /* || - eip == (kdb_machreg_t)do_bottom_half_ret */) { + eip == (kdb_machreg_t)ret_from_syscall_1) { /* pull exception regs from the stack */ struct pt_regs eregs; - kdba_getmem(esp+STACK_FRAME_OVERHEAD, &eregs, sizeof(eregs)); + kdba_getmem(esp+STACK_FRAME_OVERHEAD, + &eregs, sizeof(eregs)); kdb_printf(" [exception: %lx:%s regs 0x%lx] " "nip:[0x%lx] gpr[1]:[0x%lx]\n", eregs.trap,getvecname(eregs.trap), @@ -236,7 +257,10 @@ kdba_bt_stack_ppc(struct pt_regs *regs, break; } } - /* we want to follow exception registers, not into user stack. ... */ + /* + * we want to follow exception registers, + * not into user stack. ... + */ esp = eregs.gpr[1]; eip = eregs.nip; } else { diff -Naurp temp/ameslab/kdb/ChangeLog ameslab/kdb/ChangeLog --- temp/ameslab/kdb/ChangeLog 2004-05-04 02:07:51.000000000 -0700 +++ ameslab/kdb/ChangeLog 2004-05-05 02:51:18.168228408 -0700 @@ -1,3 +1,8 @@ +2004-04-30 Keith Owens + + * Rewrite inode_pages command for new radix code in struct page. + * kdb v4.3-2.6.6-rc1-common-1. + 2004-04-11 Keith Owens * Unlock sn_sal_lock before entering kdb from sn_serial. diff -Naurp temp/ameslab/kdb/gen-kdb_cmds.c ameslab/kdb/gen-kdb_cmds.c --- temp/ameslab/kdb/gen-kdb_cmds.c 2004-04-22 21:54:41.000000000 -0700 +++ ameslab/kdb/gen-kdb_cmds.c 1969-12-31 16:00:00.000000000 -0800 @@ -1,4 +0,0 @@ -#include -char __initdata *kdb_cmds[] = { - 0 -}; diff -Naurp temp/ameslab/kdb/modules/kdbm_pg.c ameslab/kdb/modules/kdbm_pg.c --- temp/ameslab/kdb/modules/kdbm_pg.c 2004-05-04 02:07:51.000000000 -0700 +++ ameslab/kdb/modules/kdbm_pg.c 2004-05-05 03:07:16.033237072 -0700 @@ -151,42 +151,25 @@ kdbm_page(int argc, const char **argv, c long offset=0; int nextarg; int diag; - int lookup_page = 0; - if (argc == 2) { - if (strcmp(argv[1], "-s") != 0) { - return KDB_ARGCOUNT; - } - lookup_page = 1; - } else if (argc != 1) { + if (argc != 1) return KDB_ARGCOUNT; - } - nextarg = argc; + nextarg = 1; diag = kdbgetaddrarg(argc, argv, &nextarg, &addr, &offset, NULL, regs); if (diag) return diag; - /* Assume argument is a page number, not address */ if (addr < PAGE_OFFSET) addr = (unsigned long) &mem_map[addr]; - /* Get the struct page * that corresponds to this addr */ - if (lookup_page) - { - addr = (unsigned long) virt_to_page(addr); - } - if ((diag = kdb_getarea(page, addr))) return(diag); kdb_printf("struct page at 0x%lx\n", addr); -/* kdb_printf(" next 0x%p prev 0x%p addr space 0x%p index %lu (offset 0x%x)\n", - page.list.next, page.list.prev, page.mapping, page.index, - (int)(page.index << PAGE_CACHE_SHIFT)); */ - kdb_printf(" addr space 0x%p index %lu (offset 0x%x)\n", + kdb_printf(" addr space 0x%p index %lu (offset 0x%llx)\n", page.mapping, page.index, - (int)(page.index << PAGE_CACHE_SHIFT)); + (unsigned long long)page.index << PAGE_CACHE_SHIFT); kdb_printf(" count %d flags %s\n", page.count.counter, page_flags(page.flags)); kdb_printf(" virtual 0x%p\n", page_address((struct page *)addr)); @@ -276,7 +259,7 @@ kdbm_rqueue(int argc, const char **argv, return 0; } -/* routine not used currently.. sync with upstream later + static void do_buffer(unsigned long addr) { @@ -285,13 +268,54 @@ do_buffer(unsigned long addr) if (kdb_getarea(bh, addr)) return; - kdb_printf("bh 0x%lx bno %8llu [%s]\n", addr, + kdb_printf(" bh 0x%lx bno %8llu [%s]", addr, (unsigned long long)bh.b_blocknr, map_flags(bh.b_state, bh_state_vals)); } -*/ -/* inode_struct changed in 2.6.6-rc series.. sync with upstream later +static void +kdbm_show_page(struct page *page, int first) +{ + if (first) + kdb_printf("page_struct index cnt zone nid flags\n"); + kdb_printf("%p%s %6lu %5d %3ld %3ld 0x%lx", + page_address(page), sizeof(void *) == 4 ? " " : "", + page->index, atomic_read(&(page->count)), + page_zonenum(page), page_to_nid(page), + page->flags & (~0UL >> ZONES_SHIFT)); +#define kdb_page_flags(page, type) if (Page ## type(page)) kdb_printf(" " #type); + kdb_page_flags(page, Locked); + kdb_page_flags(page, Error); + kdb_page_flags(page, Referenced); + kdb_page_flags(page, Uptodate); + kdb_page_flags(page, Dirty); + kdb_page_flags(page, LRU); + kdb_page_flags(page, Active); + kdb_page_flags(page, Slab); + kdb_page_flags(page, HighMem); + kdb_page_flags(page, Checked); + if (page->flags & (1UL << PG_arch_1)) + kdb_printf(" arch_1"); + kdb_page_flags(page, Reserved); + kdb_page_flags(page, Private); + kdb_page_flags(page, Writeback); + kdb_page_flags(page, Nosave); + if (page->flags & (1UL << PG_maplock)) + kdb_printf(" maplock"); + kdb_page_flags(page, Direct); + kdb_page_flags(page, MappedToDisk); + kdb_page_flags(page, Reclaim); + kdb_page_flags(page, Compound); + kdb_page_flags(page, Anon); + kdb_page_flags(page, SwapCache); + if (page_has_buffers(page)) + do_buffer((unsigned long) page_buffers(page)); + else if (page->private) + kdb_printf(" private=0x%lx", page->private); + kdb_printf("\n"); +#undef kdb_page_flags +} + static int kdbm_inode_pages(int argc, const char **argv, const char **envp, struct pt_regs *regs) @@ -302,12 +326,9 @@ kdbm_inode_pages(int argc, const char ** long offset=0; int nextarg; int diag; - int which=0; - - struct list_head *head, *curr; - - if (argc < 1) - return KDB_ARGCOUNT; + pgoff_t next = 0; + struct page *page; + int first; nextarg = 1; diag = kdbgetaddrarg(argc, argv, &nextarg, &addr, &offset, NULL, regs); @@ -321,6 +342,7 @@ kdbm_inode_pages(int argc, const char ** if (diag) goto out; kdb_printf("Looking for page index 0x%lx ... \n", addr1); + next = addr1; } if (!(inode = kmalloc(sizeof(*inode), GFP_ATOMIC))) { @@ -340,58 +362,23 @@ kdbm_inode_pages(int argc, const char ** if ((diag = kdb_getarea(*ap, (unsigned long) inode->i_mapping))) goto out; - again: - if (which == 0){ - which=1; - head = &inode->i_mapping->clean_pages; - kdb_printf("CLEAN page_struct index cnt flags\n"); - } else if (which == 1) { - which=2; - head = &inode->i_mapping->dirty_pages; - kdb_printf("DIRTY page_struct index cnt flags\n"); - } else if (which == 2) { - which=3; - head = &inode->i_mapping->locked_pages; - kdb_printf("LOCKED page_struct index cnt flags\n"); - } else { - goto out; + /* Run the pages in the radix tree, printing the state of each page */ + first = 1; + while (radix_tree_gang_lookup(&ap->page_tree, (void **)&page, next, 1)) { + kdbm_show_page(page, first); + if (addr1) + break; + first = 0; + next = page->index + 1; } - - curr = head->next; - while (curr != head) { - struct page page; - struct list_head curr_struct; - - addr = (unsigned long) list_entry(curr, struct page, list); - if ((diag = kdb_getarea(page, addr))) - goto out; - - if (!addr1 || page.index == addr1 || - (addr1 == -1 && (page.flags & ( 1 << PG_locked)))) - { - kdb_printf(" 0x%lx %6lu %5d 0x%lx ", - addr, page.index, page.count.counter, - page.flags); - if (page_has_buffers(&page)) - do_buffer((unsigned long) page_buffers(&page)); - else - kdb_printf("bh [NULL]\n"); - } - - if ((diag = kdb_getarea(curr_struct, (unsigned long) curr))) - goto out; - - curr = curr_struct.next; - } - goto again; - out: + +out: if (inode) kfree(inode); if (ap) kfree(ap); return diag; } -*/ static int kdbm_inode(int argc, const char **argv, const char **envp, @@ -567,13 +554,12 @@ kdbm_memmap(int argc, const char **argv, static int __init kdbm_pg_init(void) { #ifndef CONFIG_DISCONTIGMEM - kdb_register("page", kdbm_page, "[-s] ", "Display page [or page of addr]", 0); + kdb_register("page", kdbm_page, "", "Display page", 0); #endif kdb_register("inode", kdbm_inode, "", "Display inode", 0); kdb_register("sb", kdbm_sb, "", "Display super_block", 0); kdb_register("bh", kdbm_buffers, "", "Display buffer", 0); -/* inode struct changed in 2.6.6-rc series.. sync with upstream later - kdb_register("inode_pages", kdbm_inode_pages, "", "Display pages in an inode", 0); */ + kdb_register("inode_pages", kdbm_inode_pages, "", "Display pages in an inode", 0); kdb_register("req", kdbm_request, "", "dump request struct", 0); kdb_register("rqueue", kdbm_rqueue, "", "dump request queue", 0); #if defined(CONFIG_X86) | defined(CONFIG_PPC64) --------------------------- Use http://oss.sgi.com/ecartis to modify your settings or to unsubscribe. From ken.hwang@zyxel.com Thu May 6 16:50:04 2004 Received: with ECARTIS (v1.0.0; list kdb); Thu, 06 May 2004 16:50:06 -0700 (PDT) Received: from zyxel.com ([65.170.185.70]) by oss.sgi.com (8.12.10/8.12.9) with SMTP id i46NnxKO010108 for ; Thu, 6 May 2004 16:50:02 -0700 Received: from dns.zyxel.com (mail@localhost) by zyxel.com (8.12.9/8.12.5) with SMTP id i46NUBV1018394 for ; Thu, 6 May 2004 16:30:11 -0700 X-Authentication-Warning: localhost.localdomain: Processed by mail with -C /etc/mail/sendmail.cf Received: from KenHwang (adsl-64-165-213-114.dsl.snfc21.pacbell.net [64.165.213.114]) (authenticated bits=0) by zyxel.com (8.12.9/8.12.5) with ESMTP id i46NU9BN018374 for ; Thu, 6 May 2004 16:30:11 -0700 Reply-To: From: "Ken Hwang" To: Subject: KDB work on other architecture such as IOP80321? Date: Thu, 6 May 2004 16:30:09 -0700 Message-ID: MIME-Version: 1.0 Content-type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2911.0) x-mimeole: Produced By Microsoft MimeOLE V6.00.2800.1165 Importance: Normal X-archive-position: 667 X-ecartis-version: Ecartis v1.0.0 Sender: kdb-bounce@oss.sgi.com Errors-to: kdb-bounce@oss.sgi.com X-original-sender: ken.hwang@zyxel.com Precedence: bulk X-list: kdb Hi, I could only find x86 and ia64 folders in the KDB download site. I wonder KDB work on other HW platform architecture such Intel IOP80321/331? If yes, do I use the same patch as in x86? Thanks, Ken Hwang ZyXEL Communications (408)735-9736 x108 ken.hwang@zyxel.com --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.516 / Virus Database: 313 - Release Date: 9/1/2003 --------------------------- Use http://oss.sgi.com/ecartis to modify your settings or to unsubscribe. From kaos@sgi.com Thu May 6 18:47:16 2004 Received: with ECARTIS (v1.0.0; list kdb); Thu, 06 May 2004 18:47:20 -0700 (PDT) Received: from omx2.sgi.com (mtvcafw.sgi.com [192.48.171.6]) by oss.sgi.com (8.12.10/8.12.9) with SMTP id i471lGKO012535 for ; Thu, 6 May 2004 18:47:16 -0700 Received: from larry.melbourne.sgi.com (larry.melbourne.sgi.com [134.14.52.130]) by omx2.sgi.com (8.12.11/8.12.9/linux-outbound_gateway-1.1) with SMTP id i471nRc9004988 for ; Thu, 6 May 2004 18:49:28 -0700 Received: from kao2.melbourne.sgi.com (kao2.melbourne.sgi.com [134.14.55.180]) by larry.melbourne.sgi.com (950413.SGI.8.6.12/950213.SGI.AUTOCF) via ESMTP id LAA24127 for ; Fri, 7 May 2004 11:47:08 +1000 Received: by kao2.melbourne.sgi.com (Postfix, from userid 16331) id D6FD5C2162; Fri, 7 May 2004 11:47:07 +1000 (EST) Received: from kao2.melbourne.sgi.com (localhost [127.0.0.1]) by kao2.melbourne.sgi.com (Postfix) with ESMTP id BEA0914071A; Fri, 7 May 2004 11:47:07 +1000 (EST) X-Mailer: exmh version 2.6.3_20040314 03/14/2004 with nmh-1.0.4 From: Keith Owens To: ken.hwang@zyxel.com Cc: kdb@oss.sgi.com Subject: Re: KDB work on other architecture such as IOP80321? In-reply-to: Your message of "Thu, 06 May 2004 16:30:09 MST." Mime-Version: 1.0 Content-type: text/plain; charset=us-ascii Date: Fri, 07 May 2004 11:47:06 +1000 Message-ID: <2389.1083894426@kao2.melbourne.sgi.com> Content-Transfer-Encoding: 8bit X-archive-position: 668 X-ecartis-version: Ecartis v1.0.0 Sender: kdb-bounce@oss.sgi.com Errors-to: kdb-bounce@oss.sgi.com X-original-sender: kaos@sgi.com Precedence: bulk X-list: kdb On Thu, 6 May 2004 16:30:09 -0700, "Ken Hwang" wrote: >I could only find x86 and ia64 folders in the KDB download site. I wonder >KDB work on other HW platform architecture such Intel IOP80321/331? If yes, >do I use the same patch as in x86? The i386/ia64 folders are for very old versions of kdb, which had one big patch for each architecture. Later versions of kdb have an architecture independent common patch plus an architecture specific patch. See ftp://oss.sgi.com/projects/kdb/download/v4.3/README. There is an xscale patch against kernel 2.4.20, done by Eddie Dong of Intel. Ask Intel if they have a more recent xscale architecture specific patch for kdb. --------------------------- Use http://oss.sgi.com/ecartis to modify your settings or to unsubscribe. From anton@ozlabs.org Fri May 7 00:17:06 2004 Received: with ECARTIS (v1.0.0; list kdb); Fri, 07 May 2004 00:17:35 -0700 (PDT) Received: from ozlabs.org (ozlabs.org [203.10.76.45]) by oss.sgi.com (8.12.10/8.12.9) with SMTP id i477H3KO022706 for ; Fri, 7 May 2004 00:17:06 -0700 Received: by ozlabs.org (Postfix, from userid 1010) id 41FBE2BD71; Fri, 7 May 2004 17:16:57 +1000 (EST) Date: Fri, 7 May 2004 17:15:32 +1000 From: Anton Blanchard To: Ananth N Mavinakayanahalli Cc: kdb@oss.sgi.com, linuxppc64-dev@lists.linuxppc.org, linas@austin.ibm.com Subject: Re: [PATCH] fix KDB backtrace for ppc64 Message-ID: <20040507071532.GJ10918@krispykreme> References: <20040505141647.GA4678@in.ibm.com> Mime-Version: 1.0 Content-type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20040505141647.GA4678@in.ibm.com> User-Agent: Mutt/1.5.5.1+cvs20040105i Content-Transfer-Encoding: 8bit X-archive-position: 669 X-ecartis-version: Ecartis v1.0.0 Sender: kdb-bounce@oss.sgi.com Errors-to: kdb-bounce@oss.sgi.com X-original-sender: anton@samba.org Precedence: bulk X-list: kdb Hi Ananth, > Here is a patch that fixes backtracing in KDB for ppc64. We were not > handling the link register and were missing an intermediate call > during bt. Have you seen Pauls changes to arch/ppc64/kernel/process.c:show_stack in ameslab-2.5? It uses a trick to find exception frames and dump them correctly. I think it would be good to get the same magic into kdb. Anton --------------------------- Use http://oss.sgi.com/ecartis to modify your settings or to unsubscribe. From kaos@sgi.com Fri May 7 00:50:48 2004 Received: with ECARTIS (v1.0.0; list kdb); Fri, 07 May 2004 00:50:51 -0700 (PDT) Received: from omx2.sgi.com (mtvcafw.sgi.com [192.48.171.6]) by oss.sgi.com (8.12.10/8.12.9) with SMTP id i477ojKO026385 for ; Fri, 7 May 2004 00:50:48 -0700 Received: from larry.melbourne.sgi.com (larry.melbourne.sgi.com [134.14.52.130]) by omx2.sgi.com (8.12.11/8.12.9/linux-outbound_gateway-1.1) with SMTP id i477r0qh029001 for ; Fri, 7 May 2004 00:53:00 -0700 Received: from kao2.melbourne.sgi.com (kao2.melbourne.sgi.com [134.14.55.180]) by larry.melbourne.sgi.com (950413.SGI.8.6.12/950213.SGI.AUTOCF) via ESMTP id RAA00293 for ; Fri, 7 May 2004 17:50:37 +1000 Received: by kao2.melbourne.sgi.com (Postfix, from userid 16331) id C98D0C2162; Fri, 7 May 2004 17:50:37 +1000 (EST) Received: from kao2.melbourne.sgi.com (localhost [127.0.0.1]) by kao2.melbourne.sgi.com (Postfix) with ESMTP id C707B14071C; Fri, 7 May 2004 17:50:37 +1000 (EST) X-Mailer: exmh version 2.6.3_20040314 03/14/2004 with nmh-1.0.4 From: Keith Owens To: Anton Blanchard Cc: kdb@oss.sgi.com, linuxppc64-dev@lists.linuxppc.org Subject: Re: [PATCH] fix KDB backtrace for ppc64 In-reply-to: Your message of "Fri, 07 May 2004 17:15:32 +1000." <20040507071532.GJ10918@krispykreme> Mime-Version: 1.0 Content-type: text/plain; charset=us-ascii Date: Fri, 07 May 2004 17:50:36 +1000 Message-ID: <11328.1083916236@kao2.melbourne.sgi.com> Content-Transfer-Encoding: 8bit X-archive-position: 670 X-ecartis-version: Ecartis v1.0.0 Sender: kdb-bounce@oss.sgi.com Errors-to: kdb-bounce@oss.sgi.com X-original-sender: kaos@sgi.com Precedence: bulk X-list: kdb On Fri, 7 May 2004 17:15:32 +1000, Anton Blanchard wrote: > >Hi Ananth, > >> Here is a patch that fixes backtracing in KDB for ppc64. We were not >> handling the link register and were missing an intermediate call >> during bt. > >Have you seen Pauls changes to arch/ppc64/kernel/process.c:show_stack in >ameslab-2.5? It uses a trick to find exception frames and dump them >correctly. I think it would be good to get the same magic into kdb. No, but even without seeing the code, I can state that it will be arch specific. There is no way to find the exception frame in ia64 when starting without registers, the unwind code requires the exception frame just to get started. It is better for the common code to detect the condition of no registers and use KDB_ENTER() instead of a direct call to kdb(). --------------------------- Use http://oss.sgi.com/ecartis to modify your settings or to unsubscribe. From eddie.dong@intel.com Sat May 8 02:36:14 2004 Received: with ECARTIS (v1.0.0; list kdb); Sat, 08 May 2004 02:36:27 -0700 (PDT) Received: from caduceus.jf.intel.com (fmr06.intel.com [134.134.136.7]) by oss.sgi.com (8.12.10/8.12.9) with SMTP id i489aDKO031047 for ; Sat, 8 May 2004 02:36:13 -0700 Received: from petasus.jf.intel.com (petasus.jf.intel.com [10.7.209.6]) by caduceus.jf.intel.com (8.12.9-20030918-01/8.12.9/d: major-outer.mc,v 1.15 2004/01/30 18:16:28 root Exp $) with ESMTP id i489aRWo032304; Sat, 8 May 2004 09:36:27 GMT Received: from pdsmsxvs01.pd.intel.com (pdsmsxvs01.pd.intel.com [172.16.12.122]) by petasus.jf.intel.com (8.12.9-20030918-01/8.12.9/d: major-inner.mc,v 1.10 2004/03/01 19:21:36 root Exp $) with SMTP id i489aXQF030441; Sat, 8 May 2004 09:36:34 GMT Received: from pdsmsx331.ccr.corp.intel.com ([172.16.12.58]) by pdsmsxvs01.pd.intel.com (SAVSMTP 3.1.2.35) with SMTP id M2004050817360502702 ; Sat, 08 May 2004 17:36:05 +0800 Received: from pdsmsx403.ccr.corp.intel.com ([172.16.12.55]) by pdsmsx331.ccr.corp.intel.com with Microsoft SMTPSVC(5.0.2195.6713); Sat, 8 May 2004 17:36:05 +0800 content-class: urn:content-classes:message MIME-Version: 1.0 Content-type: text/plain; charset=iso-2022-jp Content-Transfer-Encoding: 8bit Subject: RE: KDB work on other architecture such as IOP80321? X-MimeOLE: Produced By Microsoft Exchange V6.0.6487.1 Date: Sat, 8 May 2004 17:36:05 +0800 Message-ID: <37FBBA5F3A361C41AB7CE44558C3448E03486A73@PDSMSX403.ccr.corp.intel.com> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: KDB work on other architecture such as IOP80321? Thread-Index: AcQzxi91/IGCV5fhSSiF4yANuY62wQBGZplA From: "Dong, Eddie" To: , X-OriginalArrivalTime: 08 May 2004 09:36:05.0148 (UTC) FILETIME=[E24105C0:01C434DF] X-Scanned-By: MIMEDefang 2.31 (www . roaringpenguin . com / mimedefang) X-archive-position: 671 X-ecartis-version: Ecartis v1.0.0 Sender: kdb-bounce@oss.sgi.com Errors-to: kdb-bounce@oss.sgi.com X-original-sender: eddie.dong@intel.com Precedence: bulk X-list: kdb It should be OK for IOP80321 but I didn't try it. eddie -----Original Message----- From: kdb-bounce@oss.sgi.com [mailto:kdb-bounce@oss.sgi.com] On Behalf Of Ken Hwang Sent: 2004$BG/(J5$B7n(J7$BF|(J 7:30 To: kdb@oss.sgi.com Subject: KDB work on other architecture such as IOP80321? Hi, I could only find x86 and ia64 folders in the KDB download site. I wonder KDB work on other HW platform architecture such Intel IOP80321/331? If yes, do I use the same patch as in x86? Thanks, Ken Hwang ZyXEL Communications (408)735-9736 x108 ken.hwang@zyxel.com --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.516 / Virus Database: 313 - Release Date: 9/1/2003 --------------------------- Use http://oss.sgi.com/ecartis to modify your settings or to unsubscribe. --------------------------- Use http://oss.sgi.com/ecartis to modify your settings or to unsubscribe. From ananth@in.ibm.com Tue May 11 03:33:53 2004 Received: with ECARTIS (v1.0.0; list kdb); Tue, 11 May 2004 03:34:05 -0700 (PDT) Received: from e2.ny.us.ibm.com (e2.ny.us.ibm.com [32.97.182.102]) by oss.sgi.com (8.12.10/8.12.9) with SMTP id i4BAXpKO009862 for ; Tue, 11 May 2004 03:33:52 -0700 Received: from northrelay02.pok.ibm.com (northrelay02.pok.ibm.com [9.56.224.150]) by e2.ny.us.ibm.com (8.12.10/8.12.2) with ESMTP id i4BAXE5I442816; Tue, 11 May 2004 06:33:14 -0400 Received: from jataayu.in.ibm.com (d01av02.pok.ibm.com [9.56.224.216]) by northrelay02.pok.ibm.com (8.12.10/NCO/VER6.6) with ESMTP id i4BAXbKC103756; Tue, 11 May 2004 06:33:40 -0400 Received: by jataayu.in.ibm.com (Postfix, from userid 500) id 35213B38B6; Tue, 11 May 2004 07:13:23 -0400 (EDT) Date: Tue, 11 May 2004 16:13:23 +0500 From: Ananth N Mavinakayanahalli To: Anton Blanchard Cc: kdb@oss.sgi.com, linuxppc64-dev@lists.linuxppc.org, linas@austin.ibm.com Subject: Re: [PATCH] fix KDB backtrace for ppc64 Message-ID: <20040511111323.GA24854@in.ibm.com> Reply-To: ananth@in.ibm.com References: <20040505141647.GA4678@in.ibm.com> <20040507071532.GJ10918@krispykreme> Mime-Version: 1.0 Content-type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20040507071532.GJ10918@krispykreme> User-Agent: Mutt/1.4i Content-Transfer-Encoding: 8bit X-archive-position: 672 X-ecartis-version: Ecartis v1.0.0 Sender: kdb-bounce@oss.sgi.com Errors-to: kdb-bounce@oss.sgi.com X-original-sender: ananth@in.ibm.com Precedence: bulk X-list: kdb On Fri, May 07, 2004 at 05:15:32PM +1000, Anton Blanchard wrote: Hi Anton, > > > Here is a patch that fixes backtracing in KDB for ppc64. We were not > > handling the link register and were missing an intermediate call > > during bt. > > Have you seen Pauls changes to arch/ppc64/kernel/process.c:show_stack in > ameslab-2.5? It uses a trick to find exception frames and dump them > correctly. I think it would be good to get the same magic into kdb. Here is Paul's show_stack() retrofitted to be used with kdb's arch specific backtrace. This patch applies on my earlier reworked backtrace patch. Here is a sample trace: kdb> g Instruction(i) breakpoint #0 at 0xc00000000004cc9c (adjusted) 0xc00000000004cc9c .__do_softirq trap Entering kdb (current=0xc00000003d323690, pid 652) due to Breakpoint @ 0xc00000c kdb> bt Stack traceback for pid 652 0xc00000003d323690 652 1 1 0 R 0xc00000003d323af8 *master SP(esp) PC(eip) Function(args) 0xc00000003d31f3e0 0xc00000000004cc9c .__do_softirq +0x0 0xc00000003d31f3e0 0xc00000000004ce44 (lr) .do_softirq +0x6c 0xc00000003d31f460 0xc000000000013fac .timer_interrupt +0x2a0 0xc00000003d31f540 0xc00000000000a2c0 Decrementer_common +0xe8 --- Exception: 900: (Decrementer) at .__d_lookup +0x8c 0xc00000003d31f830 0xc0000000000a22cc .__d_lookup +0x8c 0xc00000003d31f830 0xc00000000009643c (lr) .do_lookup +0x48 0xc00000003d31f900 0xc00000000009643c .do_lookup +0x48 0xc00000003d31f9b0 0xc0000000000986a4 .link_path_walk +0x654 0xc00000003d31fa70 0xc0000000000991f4 .path_lookup +0xc0 0xc00000003d31faf0 0xc0000000000993bc .open_namei +0xc0 0xc00000003d31fbc0 0xc000000000083324 .filp_open +0x38 0xc00000003d31fc70 0xc00000000001d670 .sys32_open +0x90 0xc00000003d31fd10 0xc00000000000fe8c .ret_from_syscall_1 +0x0 --- Exception: c00: (System Call) NO_SYMBOL or Userspace 0x00000000ffffe8c0 0x000000000fbf8208 kdb> Thanks, Ananth -- Ananth Narayan Linux Technology Center, IBM Software Lab, INDIA diff -Naur --exclude=BitKeeper --exclude=SCCS temp/ameslab/arch/ppc64/kdb/kdba_bt.c ameslab/arch/ppc64/kdb/kdba_bt.c --- temp/ameslab/arch/ppc64/kdb/kdba_bt.c 2004-05-11 02:19:27.576319008 -0700 +++ ameslab/arch/ppc64/kdb/kdba_bt.c 2004-05-11 02:04:51.837327584 -0700 @@ -68,22 +68,8 @@ return ret; } - extern unsigned long kdba_getword(unsigned long addr, size_t width); -/* Copy a block of memory using kdba_getword(). - * This is not efficient. - */ -static void kdba_getmem(unsigned long addr, void *p, int size) -{ - unsigned char *dst = (unsigned char *)p; - while (size > 0) { - *dst++ = kdba_getword(addr++, 1); - size--; - } -} - - /* * kdba_bt_stack_ppc * @@ -102,13 +88,12 @@ { kdb_machreg_t esp, eip, ebp, old_esp; - /* declare these as raw ptrs so we don't get func descriptors */ - extern void *ret_from_except, *ret_from_syscall_1; const char *name; unsigned long symsize, symoffset; char *symmodname; int flag = 0; + kdb_machreg_t lr; char namebuf[128]; /* @@ -207,7 +192,6 @@ } kdb_printf("\n"); if (!flag && (task_curr(p))) { - kdb_machreg_t lr; unsigned long start = 0, end = 0; flag++; @@ -234,35 +218,36 @@ kdb_printf("\n", esp ); break; } else { - if (eip == (kdb_machreg_t)ret_from_except || - eip == (kdb_machreg_t)ret_from_syscall_1) { - /* pull exception regs from the stack */ - struct pt_regs eregs; - kdba_getmem(esp+STACK_FRAME_OVERHEAD, - &eregs, sizeof(eregs)); - kdb_printf(" [exception: %lx:%s regs 0x%lx] " - "nip:[0x%lx] gpr[1]:[0x%lx]\n", - eregs.trap,getvecname(eregs.trap), - esp+STACK_FRAME_OVERHEAD, - (unsigned long int)eregs.nip, - (unsigned long int)eregs.gpr[1]); - old_esp = esp; - esp = kdba_getword(esp, 8); - if (!esp) - break; - eip = kdba_getword(esp+16, 8); /* saved lr */ - if (esp < PAGE_OFFSET) { /* userspace... */ - if (old_esp > PAGE_OFFSET) { - kdb_printf("\n",esp); - break; - } - } - /* - * we want to follow exception registers, - * not into user stack. ... - */ - esp = eregs.gpr[1]; - eip = eregs.nip; + unsigned long *sp = (unsigned long *)esp; + if (esp <= (unsigned long) p->thread_info + THREAD_SIZE + + sizeof(struct pt_regs) + 400 + && sp[12] == 0x7265677368657265) { + struct pt_regs *eregs = (struct pt_regs *) + (esp + STACK_FRAME_OVERHEAD); + kdb_printf("--- Exception: %lx: %s ", + eregs->trap, getvecname(eregs->trap)); + name = kallsyms_lookup(eregs->nip, &symsize, + &symoffset, &symmodname, namebuf); + if (name) { + kdb_printf("at %s +0x%lx\n", + name, symoffset); + } else { + kdb_printf("NO_SYMBOL or Userspace\n"); + } + flag = 0; + if (esp < PAGE_OFFSET) { /* userspace... */ + if (old_esp > PAGE_OFFSET) { + kdb_printf("\n",esp); + break; + } + } + /* + * we want to follow exception registers, + * not into user stack. ... + */ + esp = eregs->gpr[1]; + eip = eregs->nip; + regs = eregs; } else { esp = kdba_getword(esp, 8); if (!esp) --------------------------- Use http://oss.sgi.com/ecartis to modify your settings or to unsubscribe. From linas@austin.ibm.com Wed May 12 20:45:10 2004 Received: with ECARTIS (v1.0.0; list kdb); Wed, 12 May 2004 20:45:12 -0700 (PDT) Received: from e31.co.us.ibm.com (e31.co.us.ibm.com [32.97.110.129]) by oss.sgi.com (8.12.10/8.12.9) with SMTP id i4D3j3KO000534 for ; Wed, 12 May 2004 20:45:10 -0700 Received: from westrelay02.boulder.ibm.com (westrelay02.boulder.ibm.com [9.17.195.11]) by e31.co.us.ibm.com (8.12.10/8.12.2) with ESMTP id i4D3ivpj332814 for ; Wed, 12 May 2004 23:44:57 -0400 Received: from austin.ibm.com (d03av02.boulder.ibm.com [9.17.195.168]) by westrelay02.boulder.ibm.com (8.12.10/NCO/VER6.6) with ESMTP id i4D3deQ4326616 for ; Wed, 12 May 2004 21:44:57 -0600 Received: from forte.austin.ibm.com (forte.austin.ibm.com [9.53.85.27]) by austin.ibm.com (8.12.9/8.12.9.virt) with ESMTP id i4CHGERS150306 for ; Wed, 12 May 2004 12:16:14 -0500 Received: (from linas@localhost) by forte.austin.ibm.com (AIX4.3/8.9.3/8.9.3-client1.01) id MAA55158 for kdb@oss.sgi.com; Wed, 12 May 2004 12:16:14 -0500 Date: Wed, 12 May 2004 12:16:13 -0500 From: linas@austin.ibm.com To: kdb@oss.sgi.com Subject: KDB re-entered during boot ... Message-ID: <20040512121613.A46898@forte.austin.ibm.com> Mime-Version: 1.0 Content-type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5.1i Content-Transfer-Encoding: 8bit X-archive-position: 673 X-ecartis-version: Ecartis v1.0.0 Sender: kdb-bounce@oss.sgi.com Errors-to: kdb-bounce@oss.sgi.com X-original-sender: linas@austin.ibm.com Precedence: bulk X-list: kdb Hi, I just noticed that the new KDB boot messages seem to be different than before, and the new messages alarmed me a bit: Memory: 235008k available (0k kernel code, 0k data, 0k init) [c000000000000000,c000000010000000] Calibrating delay loop... 131.07 BogoMIPS kdb version 4.3 by Keith Owens, Scott Lurndal. Copyright SGI, All Rights Reserved kdb: Debugger re-entered on cpu 0, new reason = 12 Not executing a kdb command No longjmp available for recovery Cannot recover, allowing event to proceed Security Scaffold v1.0.0 initialized SELinux: Initializing. I lost a bit of time thinking that the 're-entered' message meant something is broken ... and actually, I still can't tell if it is or not. ?? --linas --------------------------- Use http://oss.sgi.com/ecartis to modify your settings or to unsubscribe. From ananth@in.ibm.com Tue May 18 06:25:53 2004 Received: with ECARTIS (v1.0.0; list kdb); Tue, 18 May 2004 06:26:09 -0700 (PDT) Received: from e35.co.us.ibm.com (e35.co.us.ibm.com [32.97.110.133]) by oss.sgi.com (8.12.10/8.12.9) with SMTP id i4IDPqKO028637 for ; Tue, 18 May 2004 06:25:52 -0700 Received: from westrelay02.boulder.ibm.com (westrelay02.boulder.ibm.com [9.17.195.11]) by e35.co.us.ibm.com (8.12.10/8.12.2) with ESMTP id i4IDPFYm332830; Tue, 18 May 2004 09:25:15 -0400 Received: from jataayu.in.ibm.com (d03av02.boulder.ibm.com [9.17.195.168]) by westrelay02.boulder.ibm.com (8.12.10/NCO/VER6.6) with ESMTP id i4IDP6fw375132; Tue, 18 May 2004 07:25:14 -0600 Received: by jataayu.in.ibm.com (Postfix, from userid 500) id D0291B38B6; Tue, 18 May 2004 10:07:54 -0400 (EDT) Date: Tue, 18 May 2004 19:07:54 +0500 From: Ananth N Mavinakayanahalli To: anton@samba.org Cc: kdb@oss.sgi.com, linuxppc64-dev@lists.linuxppc.org, linas@austin.ibm.com, olof@austin.ibm.com, vosburgh@us.ibm.com Subject: [PATCH] KDB for ppc64 - write to OF stdout instead of console Message-ID: <20040518140754.GA19828@in.ibm.com> Reply-To: ananth@in.ibm.com Mime-Version: 1.0 Content-type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.4i Content-Transfer-Encoding: 8bit X-archive-position: 674 X-ecartis-version: Ecartis v1.0.0 Sender: kdb-bounce@oss.sgi.com Errors-to: kdb-bounce@oss.sgi.com X-original-sender: ananth@in.ibm.com Precedence: bulk X-list: kdb Hi Anton, KDB on ppc64 currently reads input from the OF-stdout (udbg_getc_poll) while the output (kdb_printf) is through the registered consoles. This leads to problems when working on LPAR mode, where, input is accepted through the hmc vterm while output is displayed on the serial console. Patch inlined removes KDB's dependency on consoles completely for I/O. With this patch, we use the OF stdout for both input and output. This should fix the KDB configuration/usage confusions on ppc64 for both LPAR and non-LPAR modes. Please apply! Thanks, Ananth -- Ananth Narayan Linux Technology Center, IBM Software Lab, INDIA diff -Naurp temp/ameslab/kdb/kdb_io.c ameslab/kdb/kdb_io.c --- temp/ameslab/kdb/kdb_io.c 2004-05-04 02:07:51.000000000 -0700 +++ ameslab/kdb/kdb_io.c 2004-05-17 23:37:11.373470688 -0700 @@ -55,6 +55,9 @@ static struct console *kdbcons; #endif +#ifdef CONFIG_PPC64 +#include +#endif #define CMD_BUFLEN 256 char kdb_prompt_str[CMD_BUFLEN]; @@ -521,6 +524,13 @@ kdb_printf(const char *fmt, ...) prom_printf("%s", kdb_buffer); else #endif + +#ifdef CONFIG_PPC64 + if (udbg_write) + udbg_write(kdb_buffer, strlen(kdb_buffer)); + else +#endif + while (c) { c->write(c, kdb_buffer, strlen(kdb_buffer)); c = c->next; @@ -569,6 +579,13 @@ kdb_printf(const char *fmt, ...) prom_printf("%s", moreprompt); else #endif + +#ifdef CONFIG_PPC64 + if (udbg_write) + udbg_write(moreprompt, strlen(moreprompt)); + else +#endif + while (c) { c->write(c, moreprompt, strlen(moreprompt)); c = c->next; --------------------------- Use http://oss.sgi.com/ecartis to modify your settings or to unsubscribe. From kaos@sgi.com Tue May 18 19:11:28 2004 Received: with ECARTIS (v1.0.0; list kdb); Tue, 18 May 2004 19:11:45 -0700 (PDT) Received: from zok.sgi.com (mtvcafw.sgi.com [192.48.171.6]) by oss.sgi.com (8.12.10/8.12.9) with SMTP id i4J2BHKO026735 for ; Tue, 18 May 2004 19:11:17 -0700 Received: from larry.melbourne.sgi.com (larry.melbourne.sgi.com [134.14.52.130]) by zok.sgi.com (8.12.9/8.12.9/linux-outbound_gateway-1.1) with SMTP id i4J2B6hv030722 for ; Tue, 18 May 2004 19:11:07 -0700 Received: from kao2.melbourne.sgi.com (kao2.melbourne.sgi.com [134.14.55.180]) by larry.melbourne.sgi.com (950413.SGI.8.6.12/950213.SGI.AUTOCF) via ESMTP id MAA26057 for ; Wed, 19 May 2004 12:11:04 +1000 Received: by kao2.melbourne.sgi.com (Postfix, from userid 16331) id 6CE6EC216D; Wed, 19 May 2004 12:11:05 +1000 (EST) Received: from kao2.melbourne.sgi.com (localhost [127.0.0.1]) by kao2.melbourne.sgi.com (Postfix) with ESMTP id 6A6C0140678; Wed, 19 May 2004 12:11:05 +1000 (EST) X-Mailer: exmh version 2.6.3_20040314 03/14/2004 with nmh-1.0.4 From: Keith Owens To: ananth@in.ibm.com Cc: anton@samba.org, kdb@oss.sgi.com, linuxppc64-dev@lists.linuxppc.org, linas@austin.ibm.com, olof@austin.ibm.com, vosburgh@us.ibm.com Subject: Re: [PATCH] KDB for ppc64 - write to OF stdout instead of console In-reply-to: Your message of "Tue, 18 May 2004 19:07:54 +0500." <20040518140754.GA19828@in.ibm.com> Mime-Version: 1.0 Content-type: text/plain; charset=us-ascii Date: Wed, 19 May 2004 12:11:04 +1000 Message-ID: <4871.1084932664@kao2.melbourne.sgi.com> Content-Transfer-Encoding: 8bit X-archive-position: 675 X-ecartis-version: Ecartis v1.0.0 Sender: kdb-bounce@oss.sgi.com Errors-to: kdb-bounce@oss.sgi.com X-original-sender: kaos@sgi.com Precedence: bulk X-list: kdb On Tue, 18 May 2004 19:07:54 +0500, Ananth N Mavinakayanahalli wrote: >Hi Anton, > >KDB on ppc64 currently reads input from the OF-stdout (udbg_getc_poll) >while the output (kdb_printf) is through the registered consoles. This >leads to problems when working on LPAR mode, where, input is accepted >through the hmc vterm while output is displayed on the serial console. > >Patch inlined removes KDB's dependency on consoles completely for I/O. >With this patch, we use the OF stdout for both input and output. > >This should fix the KDB configuration/usage confusions on ppc64 for >both LPAR and non-LPAR modes. > >Please apply! Added to my kdb v4.4 tree. --------------------------- Use http://oss.sgi.com/ecartis to modify your settings or to unsubscribe. From segher@kernel.crashing.org Wed May 19 05:50:53 2004 Received: with ECARTIS (v1.0.0; list kdb); Wed, 19 May 2004 05:51:09 -0700 (PDT) Received: from mtagate1.de.ibm.com (mtagate1.de.ibm.com [195.212.29.150]) by oss.sgi.com (8.12.10/8.12.9) with SMTP id i4JCoqKO027343 for ; Wed, 19 May 2004 05:50:52 -0700 Received: from d12nrmr1507.megacenter.de.ibm.com (d12nrmr1507.megacenter.de.ibm.com [9.149.167.1]) by mtagate1.de.ibm.com (8.12.10/8.12.10) with ESMTP id i4JCoEGP047072; Wed, 19 May 2004 12:50:14 GMT Received: from d12ml064.megacenter.de.ibm.com (d12av02.megacenter.de.ibm.com [9.149.165.228]) by d12nrmr1507.megacenter.de.ibm.com (8.12.10/NCO/VER6.6) with ESMTP id i4JCnCYB229116; Wed, 19 May 2004 14:50:10 +0200 Received: from [9.152.222.87] ([9.152.222.87]) by d12ml064.megacenter.de.ibm.com (Lotus Domino Release 6.0.2CF2) with ESMTP id 2004051914490981-7469 ; Wed, 19 May 2004 14:49:09 +0200 In-Reply-To: <20040518140754.GA19828@in.ibm.com> References: <20040518140754.GA19828@in.ibm.com> Mime-Version: 1.0 (Apple Message framework v613) Message-Id: Cc: kdb@oss.sgi.com, vosburgh@us.ibm.com, anton@samba.org, linuxppc64-dev@lists.linuxppc.org, linas@austin.ibm.com, olof@austin.ibm.com From: Segher Boessenkool Subject: Re: [PATCH] KDB for ppc64 - write to OF stdout instead of console Date: Wed, 19 May 2004 14:49:10 +0200 To: ananth@in.ibm.com X-Mailer: Apple Mail (2.613) X-MIMETrack: Itemize by SMTP Server on D12ML064/12/M/IBM(Release 6.0.2CF2|July 23, 2003) at 19/05/2004 14:49:09, Serialize by Router on D12ML064/12/M/IBM(Release 6.0.2CF2|July 23, 2003) at 19/05/2004 14:50:10, Serialize complete at 19/05/2004 14:50:10 Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=US-ASCII X-archive-position: 676 X-ecartis-version: Ecartis v1.0.0 Sender: kdb-bounce@oss.sgi.com Errors-to: kdb-bounce@oss.sgi.com X-original-sender: segher@kernel.crashing.org Precedence: bulk X-list: kdb > Patch inlined removes KDB's dependency on consoles completely for I/O. > With this patch, we use the OF stdout for both input and output. OF stdout is not necessarily the same thing as OF stdin (and, in fact, very often isn't) -- please use stdin for input? Segher --------------------------- Use http://oss.sgi.com/ecartis to modify your settings or to unsubscribe. From ananth@in.ibm.com Wed May 19 06:14:44 2004 Received: with ECARTIS (v1.0.0; list kdb); Wed, 19 May 2004 06:15:13 -0700 (PDT) Received: from e31.co.us.ibm.com (e31.co.us.ibm.com [32.97.110.129]) by oss.sgi.com (8.12.10/8.12.9) with SMTP id i4JDEhKO027843 for ; Wed, 19 May 2004 06:14:43 -0700 Received: from westrelay02.boulder.ibm.com (westrelay02.boulder.ibm.com [9.17.195.11]) by e31.co.us.ibm.com (8.12.10/8.12.2) with ESMTP id i4JDDupj417484; Wed, 19 May 2004 09:13:56 -0400 Received: from jataayu.in.ibm.com (d03av02.boulder.ibm.com [9.17.195.168]) by westrelay02.boulder.ibm.com (8.12.10/NCO/VER6.6) with ESMTP id i4JDDoF3384280; Wed, 19 May 2004 07:13:54 -0600 Received: by jataayu.in.ibm.com (Postfix, from userid 500) id 8727DB38B6; Wed, 19 May 2004 09:57:00 -0400 (EDT) Date: Wed, 19 May 2004 18:57:00 +0500 From: Ananth N Mavinakayanahalli To: Segher Boessenkool Cc: kdb@oss.sgi.com, vosburgh@us.ibm.com, anton@samba.org, linuxppc64-dev@lists.linuxppc.org, linas@austin.ibm.com, olof@austin.ibm.com Subject: Re: [PATCH] KDB for ppc64 - write to OF stdout instead of console Message-ID: <20040519135700.GA22401@in.ibm.com> Reply-To: ananth@in.ibm.com References: <20040518140754.GA19828@in.ibm.com> Mime-Version: 1.0 Content-type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4i Content-Transfer-Encoding: 8bit X-archive-position: 677 X-ecartis-version: Ecartis v1.0.0 Sender: kdb-bounce@oss.sgi.com Errors-to: kdb-bounce@oss.sgi.com X-original-sender: ananth@in.ibm.com Precedence: bulk X-list: kdb On Wed, May 19, 2004 at 02:49:10PM +0200, Segher Boessenkool wrote: Hi Segher, > >Patch inlined removes KDB's dependency on consoles completely for I/O. > >With this patch, we use the OF stdout for both input and output. > > OF stdout is not necessarily the same thing as OF stdin > (and, in fact, very often isn't) -- please use stdin for > input? Well, my mistake in stating OF stdout. Rather - - KDB used console->write() rather than udbg_write() to print data. The patch changes _just_ that (makes it similar to xmon). - Reading in data has always been through ppc_md.udbg_getc_poll() which should take care of the stdin problem. (Pls correct me if I am wrong! :)) Thanks, Ananth -- Ananth Narayan Linux Technology Center, IBM Software Lab, INDIA --------------------------- Use http://oss.sgi.com/ecartis to modify your settings or to unsubscribe. From linas@austin.ibm.com Wed May 19 10:03:42 2004 Received: with ECARTIS (v1.0.0; list kdb); Wed, 19 May 2004 10:04:09 -0700 (PDT) Received: from e32.co.us.ibm.com (e32.co.us.ibm.com [32.97.110.130]) by oss.sgi.com (8.12.10/8.12.9) with SMTP id i4JH3ZKO020077 for ; Wed, 19 May 2004 10:03:42 -0700 Received: from westrelay04.boulder.ibm.com (westrelay04.boulder.ibm.com [9.17.193.32]) by e32.co.us.ibm.com (8.12.10/8.12.2) with ESMTP id i4JH2ex2197156; Wed, 19 May 2004 13:02:40 -0400 Received: from austin.ibm.com (d03av02.boulder.ibm.com [9.17.195.168]) by westrelay04.boulder.ibm.com (8.12.10/NCO/VER6.6) with ESMTP id i4JH2dwp202590; Wed, 19 May 2004 11:02:40 -0600 Received: from forte.austin.ibm.com (forte.austin.ibm.com [9.41.94.118]) by austin.ibm.com (8.12.9/8.12.9.virt) with ESMTP id i4JH2Kng050232; Wed, 19 May 2004 12:02:20 -0500 Received: (from linas@localhost) by forte.austin.ibm.com (AIX4.3/8.9.3/8.9.3-client1.01) id MAA58498; Wed, 19 May 2004 12:02:19 -0500 Date: Wed, 19 May 2004 12:02:19 -0500 From: linas@austin.ibm.com To: Segher Boessenkool Cc: ananth@in.ibm.com, kdb@oss.sgi.com, vosburgh@us.ibm.com, anton@samba.org, linuxppc64-dev@lists.linuxppc.org, olof@austin.ibm.com Subject: Re: [PATCH] KDB for ppc64 - write to OF stdout instead of console Message-ID: <20040519120219.B39874@forte.austin.ibm.com> References: <20040518140754.GA19828@in.ibm.com> Mime-Version: 1.0 Content-type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5.1i In-Reply-To: ; from segher@kernel.crashing.org on Wed, May 19, 2004 at 02:49:10PM +0200 Content-Transfer-Encoding: 8bit X-archive-position: 678 X-ecartis-version: Ecartis v1.0.0 Sender: kdb-bounce@oss.sgi.com Errors-to: kdb-bounce@oss.sgi.com X-original-sender: linas@austin.ibm.com Precedence: bulk X-list: kdb On Wed, May 19, 2004 at 02:49:10PM +0200, Segher Boessenkool wrote: > > Patch inlined removes KDB's dependency on consoles completely for I/O. > > With this patch, we use the OF stdout for both input and output. > > OF stdout is not necessarily the same thing as OF stdin > (and, in fact, very often isn't) -- please use stdin for > input? The problem was actually with output, not input. People were seeing the KDB prompt on the serial console, and so they would assume they had input, when in fact they didn't. And so this insane dance would start, "KDB is hung, @#$%^& KDB". --linas --------------------------- Use http://oss.sgi.com/ecartis to modify your settings or to unsubscribe. From segher@kernel.crashing.org Fri May 21 05:52:48 2004 Received: with ECARTIS (v1.0.0; list kdb); Fri, 21 May 2004 05:53:06 -0700 (PDT) Received: from mtagate2.de.ibm.com (mtagate2.de.ibm.com [195.212.29.151]) by oss.sgi.com (8.12.10/8.12.9) with SMTP id i4LCqlKO025742 for ; Fri, 21 May 2004 05:52:47 -0700 Received: from d12nrmr1607.megacenter.de.ibm.com (d12nrmr1607.megacenter.de.ibm.com [9.149.167.49]) by mtagate2.de.ibm.com (8.12.10/8.12.10) with ESMTP id i4LCq9lg082470; Fri, 21 May 2004 12:52:09 GMT Received: from d12ml064.megacenter.de.ibm.com (d12av02.megacenter.de.ibm.com [9.149.165.228]) by d12nrmr1607.megacenter.de.ibm.com (8.12.10/NCO/VER6.6) with ESMTP id i4LCpxmo149332; Fri, 21 May 2004 14:52:00 +0200 Received: from [9.152.222.87] ([9.152.222.87]) by d12ml064.megacenter.de.ibm.com (Lotus Domino Release 6.0.2CF2) with ESMTP id 2004052114515824-4695 ; Fri, 21 May 2004 14:51:58 +0200 In-Reply-To: <20040519120219.B39874@forte.austin.ibm.com> References: <20040518140754.GA19828@in.ibm.com> <20040519120219.B39874@forte.austin.ibm.com> Mime-Version: 1.0 (Apple Message framework v613) Message-Id: Cc: kdb@oss.sgi.com, ananth@in.ibm.com, vosburgh@us.ibm.com, anton@samba.org, linuxppc64-dev@lists.linuxppc.org, olof@austin.ibm.com From: Segher Boessenkool Subject: Re: [PATCH] KDB for ppc64 - write to OF stdout instead of console Date: Fri, 21 May 2004 14:52:01 +0200 To: linas@austin.ibm.com X-Mailer: Apple Mail (2.613) X-MIMETrack: Itemize by SMTP Server on D12ML064/12/M/IBM(Release 6.0.2CF2|July 23, 2003) at 21/05/2004 14:51:58, Serialize by Router on D12ML064/12/M/IBM(Release 6.0.2CF2|July 23, 2003) at 21/05/2004 14:52:04, Serialize complete at 21/05/2004 14:52:04 Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=US-ASCII X-archive-position: 679 X-ecartis-version: Ecartis v1.0.0 Sender: kdb-bounce@oss.sgi.com Errors-to: kdb-bounce@oss.sgi.com X-original-sender: segher@kernel.crashing.org Precedence: bulk X-list: kdb On 19-mei-04, at 19:02, linas@austin.ibm.com wrote: > On Wed, May 19, 2004 at 02:49:10PM +0200, Segher Boessenkool wrote: >>> Patch inlined removes KDB's dependency on consoles completely for >>> I/O. >>> With this patch, we use the OF stdout for both input and output. >> >> OF stdout is not necessarily the same thing as OF stdin >> (and, in fact, very often isn't) -- please use stdin for >> input? > > The problem was actually with output, not input. People were seeing > the KDB prompt on the serial console, and so they would assume they > had input, when in fact they didn't. And so this insane dance would > start, "KDB is hung, @#$%^& KDB". I didn't read the actual patch, just the description. And that set off some alarms here ;-) I guess what the patch actually does is "use OF stdout for output, and OF stdin for input", which is fine fine fine. Segher --------------------------- Use http://oss.sgi.com/ecartis to modify your settings or to unsubscribe. From kaos@sgi.com Sun May 23 22:48:26 2004 Received: with ECARTIS (v1.0.0; list kdb); Sun, 23 May 2004 22:48:40 -0700 (PDT) Received: from zok.sgi.com (mtvcafw.sgi.com [192.48.171.6]) by oss.sgi.com (8.12.10/8.12.9) with SMTP id i4O5mQKO003453 for ; Sun, 23 May 2004 22:48:26 -0700 Received: from larry.melbourne.sgi.com (larry.melbourne.sgi.com [134.14.52.130]) by zok.sgi.com (8.12.9/8.12.9/linux-outbound_gateway-1.1) with SMTP id i4O5mJhv032308 for ; Sun, 23 May 2004 22:48:20 -0700 Received: from kao2.melbourne.sgi.com (kao2.melbourne.sgi.com [134.14.55.180]) by larry.melbourne.sgi.com (950413.SGI.8.6.12/950213.SGI.AUTOCF) via ESMTP id PAA09624 for ; Mon, 24 May 2004 15:48:18 +1000 Received: by kao2.melbourne.sgi.com (Postfix, from userid 16331) id DA903C216D; Mon, 24 May 2004 15:48:18 +1000 (EST) Received: from kao2.melbourne.sgi.com (localhost [127.0.0.1]) by kao2.melbourne.sgi.com (Postfix) with ESMTP id C86AB140112; Mon, 24 May 2004 15:48:18 +1000 (EST) X-Mailer: exmh version 2.6.3_20040314 03/14/2004 with nmh-1.0.4 From: Keith Owens To: kdb@oss.sgi.com, linux-kernel@vger.kernel.org Cc: linux-ia64@vger.kernel.org Subject: Announce: kdb v4.4 is available for kernel 2.6.6 Date: Mon, 24 May 2004 15:48:17 +1000 Message-ID: <12956.1085377697@kao2.melbourne.sgi.com> X-archive-position: 680 X-ecartis-version: Ecartis v1.0.0 Sender: kdb-bounce@oss.sgi.com Errors-to: kdb-bounce@oss.sgi.com X-original-sender: kaos@sgi.com Precedence: bulk X-list: kdb -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 KDB (Linux Kernel Debugger) has been updated. ftp://oss.sgi.com/projects/kdb/download/v4.4/ Current versions are :- kdb-v4.4-2.6.6-common-1.bz2 kdb-v4.4-2.6.6-i386-1.bz2 kdb-v4.4-2.6.6-ia64-1.bz2 There are some user and developer changes in this release, hence the bump from kdb v4.3 to v4.4. User visible changes: The sequence to enter kdb from a serial console is now KDB. The old A sequence caused problems for people using editors and GNU readline over a seral link. Edit kdb_serial_str in kdb/kdbmain.c if you do not like KDB. New summary command. The cpu command distinguishes between cpus that are in kdb control, cpus that have some kdb data but are not in kdb control ('+') and cpus with no kdb data ('*'). Also the format of the output has changed, to make it more readable on big systems. New process states, 'I' for idle and 'M' for sleeping system daemons. By default tasks in states I and M are not printed, they rarely contribute anything to problem diagnosis. Use ps IM or ps A to see them. dmesg can print any part of the log, not just the end. The md command will suppress a run of zeroes. Section data is suppressed by default. Pity, it can be useful when debugging modules, but the in kernel module loader in 2.6 does not maintain section data. Developer visible changes: arch/$(ARCH)/kdb/{ansidecl,bfd}.h have been moved to include/asm-$(ARCH). Makefiles used to add -I $(TOPDIR) arch/$(ARCH)/kdb to CFLAGS, this is no longer required. #include "bfd.h" or "ansidecl.h" replaced by and . Some kdb fields have moved from kdb.h to kdbprivate.h. You need to use #include in code that uses kdb internals. If you maintain an architecture specific kdb patch, please upgrade to kdb v4.4 and send it to me. Changelog extract since kdb-v4.3-2.6.6-common-1. 2004-05-23 Keith Owens * Shrink the output from the cpu command. * Add cpu state 'I', the cpu is idle. * Add cpu state '+', some kdb data is available but the cpu is not responding. * Do not print tasks in state I or M by default in ps and bta commands. * Add states I (idle task) and M (sleeping system daemon) to ps and bta commands. * Delete unused variables. * Move private kdb fields from kdb.h to kdbprivate.h. * Print 'for keyboard entry' for the special cases when KDB_ENTER() is used to get registers. * Move bfd.h and ansidecl.h from arch/$(ARCH)/kdb to include/asm-$(ARCH) and remove -I arch/$(ARCH)/kdb. * dmesg command now prints from either the start or end of dmesg, or at an arbitrary point in the middle of the kernel log buffer. * Sensible string dump for multi byte md commands. * 'page' command handles ia64 correctly. * Show some activity when waiting for cpus to enter kdb. * Change the KDB entry code to KDB. * Allow comment commands, starting with '#'. * Commands defined using defcmd from kdb_cmds are not printed as they are entered, use defcmd with no parameters to print all the defined commands. * Add summary command. * Update copyright notices. * Zero suppression on md command. * Make set NOSECT=1 the default. * PPC64 uses OF-stdout instead of console. Ananth N Mavinakayanahalli. * kdb v4.4-2.6.6-common-1. Changelog extract since kdb-v4.3-2.6.6-i386-1. 2004-05-23 Keith Owens * Move bfd.h and ansidecl.h from arch/$(ARCH)/kdb to include/asm-$(ARCH). * Update copyright notices. * kdb v4.4-2.6.6-i386-1. Changelog extract since kdb v4.3-2.6.6-rc3-ia64-1. 2004-05-23 Keith Owens * Move bfd.h and ansidecl.h from arch/$(ARCH)/kdb to include/asm-$(ARCH). * ia64-opc.c needs kdbprivate.h after common reorganisation. * Update copyright notices. * kdb v4.4-2.6.6-ia64-1. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (GNU/Linux) Comment: Exmh version 2.1.1 10/15/1999 iD8DBQFAsYyhi4UHNye0ZOoRAuopAKCzXUXdb1ZAXgNRVgh3A1Ae6NqrwACgjAKt qlT0gcdOIS4Hx3usoGyLTGM= =aqHg -----END PGP SIGNATURE----- --------------------------- Use http://oss.sgi.com/ecartis to modify your settings or to unsubscribe. From Thomas.Duffy.99@alumni.brown.edu Mon May 24 15:26:19 2004 Received: with ECARTIS (v1.0.0; list kdb); Mon, 24 May 2004 15:26:21 -0700 (PDT) Received: from brmea-mail-4.sun.com (brmea-mail-4.Sun.COM [192.18.98.36]) by oss.sgi.com (8.12.10/8.12.9) with SMTP id i4OMQIKO024927 for ; Mon, 24 May 2004 15:26:19 -0700 Received: from phys-bos-2.sfbay.sun.com ([129.146.14.24]) by brmea-mail-4.sun.com (8.12.10/8.12.9) with ESMTP id i4OMOmMP016815 for ; Mon, 24 May 2004 16:24:48 -0600 (MDT) Received: from [10.6.98.30] (repaper.SFBay.Sun.COM [10.6.98.30]) by bos-mail1.sfbay.sun.com (Sun Java System Messaging Server 6.1 (built Feb 6 2004)) with ESMTP id <0HY800BWLOZUGC90@bos-mail1.sfbay.sun.com> for kdb@oss.sgi.com; Mon, 24 May 2004 15:26:18 -0700 (PDT) Date: Mon, 24 May 2004 15:20:38 -0700 From: Thomas Duffy Subject: Re: Announce: kdb v4.4 is available for kernel 2.6.6 In-reply-to: <12956.1085377697@kao2.melbourne.sgi.com> To: kdb@oss.sgi.com Reply-to: kdb@oss.sgi.com Message-id: <1085437238.17498.30.camel@repaper> MIME-version: 1.0 X-Mailer: Evolution 1.5.8 (1.5.8-1) Content-type: text/plain References: <12956.1085377697@kao2.melbourne.sgi.com> Content-Transfer-Encoding: 8bit X-archive-position: 681 X-ecartis-version: Ecartis v1.0.0 Sender: kdb-bounce@oss.sgi.com Errors-to: kdb-bounce@oss.sgi.com X-original-sender: Thomas.Duffy.99@alumni.brown.edu Precedence: bulk X-list: kdb On Mon, 2004-05-24 at 15:48 +1000, Keith Owens wrote: > The sequence to enter kdb from a serial console is now KDB. > The old A sequence caused problems for people using editors > and GNU readline over a seral link. Edit kdb_serial_str in > kdb/kdbmain.c if you do not like KDB. One small nit: this change is not reflected in the Kconfig help section for either the i386 or ia64 patch. -tduffy -- Attached file included as plaintext by Ecartis -- -- File: signature.asc -- Desc: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (GNU/Linux) iD8DBQBAsnU2dY502zjzwbwRAmdzAJ9mWZ11FYpGSlClOk+ZX23AgjnjwACeIEDe XCm26+P85MbSORRyRpd8IeU= =QhBk -----END PGP SIGNATURE----- --------------------------- Use http://oss.sgi.com/ecartis to modify your settings or to unsubscribe. From ananth@in.ibm.com Fri May 28 07:03:53 2004 Received: with ECARTIS (v1.0.0; list kdb); Fri, 28 May 2004 07:04:02 -0700 (PDT) Received: from e32.co.us.ibm.com (e32.co.us.ibm.com [32.97.110.130]) by oss.sgi.com (8.12.10/8.12.9) with SMTP id i4SE3rgi016491 for ; Fri, 28 May 2004 07:03:53 -0700 Received: from westrelay02.boulder.ibm.com (westrelay02.boulder.ibm.com [9.17.195.11]) by e32.co.us.ibm.com (8.12.10/8.12.2) with ESMTP id i4SE3iY0756102; Fri, 28 May 2004 10:03:44 -0400 Received: from jataayu.in.ibm.com (d03av02.boulder.ibm.com [9.17.195.168]) by westrelay02.boulder.ibm.com (8.12.10/NCO/VER6.6) with ESMTP id i4SE3eIb375122; Fri, 28 May 2004 08:03:42 -0600 Received: by jataayu.in.ibm.com (Postfix, from userid 500) id 6AD6FB38B6; Fri, 28 May 2004 10:50:04 -0400 (EDT) Date: Fri, 28 May 2004 19:50:04 +0500 From: Ananth N Mavinakayanahalli To: kaos@sgi.com Cc: linas@austin.ibm.com, kdb@oss.sgi.com Subject: Incorrect handling when RECURSE is set during kdb_init()? Message-ID: <20040528145003.GA26220@in.ibm.com> Reply-To: ananth@in.ibm.com Mime-Version: 1.0 Content-type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.4i Content-Transfer-Encoding: 8bit X-archive-position: 682 X-ecartis-version: Ecartis v1.0.0 Sender: kdb-bounce@oss.sgi.com Errors-to: kdb-bounce@oss.sgi.com X-original-sender: ananth@in.ibm.com Precedence: bulk X-list: kdb Hi Keith, While working on a ppc64 issue, I hit a problem where we hit the BUG in kmem_cache_create() when RECURSE is set to a positive value. This looks to be due to _local_bh_enable() not being called when the RECURSE flag is set. However, when kdb_init() calls kdb() and RECURSE flag is set, the system goes (incorrectly?) into recursive mode since kdb_initial_cpu is set upon kdb_init() entry. Here is a log illustrating the problem: -------------------- Calibrating delay loop... 189.44 BogoMIPS kdb version 4.3 by Keith Owens, Scott Lurndal. Copyright SGI, All Rights Reserved kdb: Debugger re-entered on cpu 0, new reason = 12 Not executing a kdb command No longjmp available for recovery Attempting recursive mode Entering kdb (current=0xc0000000003ba298, pid 0) due to Recursion @ 0xc00000000012e800 kdb> bt Stack traceback for pid 0 0xc0000000003ba298 0 0 1 0 R 0xc0000000003ba700 *swapper SP(esp) PC(eip) Function(args) 0xc00000000032bd80 0xc00000000012e800 .kdb +0x440 0xc00000000032be50 0xc0000000002d9e5c .kdb_init +0x4ec 0xc00000000032bef0 0xc0000000002c6564 .start_kernel +0x16c 0xc00000000032bf90 0xc00000000000c098 .__setup_cpu_power3 +0x0 kmem_cache_create: Early error in slab task_struct kernel BUG in kmem_cache_create at mm/slab.c:1121! Entering kdb (current=0xc0000000003ba298, pid 0) due to KDB_ENTER() kdb> bt Stack traceback for pid 0 0xc0000000003ba298 0 0 1 0 R 0xc0000000003ba700 *swapper SP(esp) PC(eip) Function(args) 0xc00000000032bd70 0xc00000000006ca04 .kmem_cache_create +0xcc 0xc00000000032be60 0xc0000000002d4bb0 .fork_init +0x3c 0xc00000000032bef0 0xc0000000002c6584 .start_kernel +0x18c 0xc00000000032bf90 0xc00000000000c098 .__setup_cpu_power3 +0x0 kdb> ----------------- Verified that the issue exists on x86 too. I worked around this problem by using a KDB_STATE_INITIALIZE flag which I use to take care of the recursion during intialization. Inlined is the patch (against kdb-v4.3 sources). Is there a better way of doing this? Am I missing something here? Thanks, Ananth -- Ananth Narayan Linux Technology Center, IBM Software Lab, INDIA --- temp/ameslab/kdb/kdbmain.c 2004-05-04 02:07:51.000000000 -0700 +++ ameslab/kdb/kdbmain.c 2004-05-28 06:34:08.826005680 -0700 @@ -1242,6 +1242,10 @@ } break; case KDB_REASON_RECURSE: + if (KDB_STATE(INITIALIZE)) { + kdb_printf("due to recursion during initialization.. ignoring\n"); + return 1; + } kdb_printf("due to Recursion @ " kdb_machreg_fmt "\n", kdba_getpc(regs)); break; case KDB_REASON_SILENT: @@ -1969,7 +1973,8 @@ #endif /* Only do this work if we are really leaving kdb */ - if (!(KDB_STATE(DOING_SS) || KDB_STATE(SSBPT) || KDB_STATE(RECURSE))) { + if (KDB_STATE(INITIALIZE) || + !(KDB_STATE(DOING_SS) || KDB_STATE(SSBPT) || KDB_STATE(RECURSE))) { KDB_DEBUG_STATE("kdb 15", result); kdb_bp_install_local(regs); kdba_enable_lbr(); @@ -3498,7 +3503,9 @@ KDB_MAJOR_VERSION, KDB_MINOR_VERSION, KDB_TEST_VERSION); kdb_cmd_init(); /* Preset commands from kdb_cmds */ + KDB_STATE_SET(INITIALIZE); kdb(KDB_REASON_SILENT, 0, 0); /* Activate any preset breakpoints on boot cpu */ + KDB_STATE_CLEAR(INITIALIZE); notifier_chain_register(&panic_notifier_list, &kdb_block); #ifdef KDB_HAVE_LONGJMP --- temp/ameslab/include/linux/kdb.h 2004-05-04 02:07:51.000000000 -0700 +++ ameslab/include/linux/kdb.h 2004-05-28 06:29:30.912053560 -0700 @@ -143,6 +143,7 @@ #define KDB_STATE_RECURSE 0x00004000 /* Recursive entry to kdb */ #define KDB_STATE_IP_ADJUSTED 0x00008000 /* Restart IP has been adjusted */ #define KDB_STATE_GO1 0x00010000 /* go only releases one cpu */ +#define KDB_STATE_INITIALIZE 0x00020000 /* called from kdb_init */ #define KDB_STATE_ARCH 0xff000000 /* Reserved for arch specific use */ #define KDB_STATE_CPU(flag,cpu) (kdb_state[cpu] & KDB_STATE_##flag) --------------------------- Use http://oss.sgi.com/ecartis to modify your settings or to unsubscribe. From HIPFNEXBNVLY@yahoo.com Sat May 29 08:03:36 2004 Received: with ECARTIS (v1.0.0; list kdb); Sat, 29 May 2004 08:03:37 -0700 (PDT) Received: from 192.48.159.27 ([211.224.79.225]) by oss.sgi.com (8.12.10/8.12.9) with SMTP id i4TF3Ugi031315 for ; Sat, 29 May 2004 08:03:34 -0700 Received: from 0.116.16.92 by 82.166.167.91; Sun, 30 May 2004 10:57:21 -0500 Message-ID: From: "Gerald Plummer" Reply-To: "Gerald Plummer" To: kdb@oss.sgi.com Subject: If you like BIG B.O.O.B.S, this mail is for you Date: Sun, 30 May 2004 17:01:21 +0100 MIME-Version: 1.0 Content-type: text/plain X-Priority: 3 X-IP: 94.37.27.30 Content-Transfer-Encoding: 8bit X-archive-position: 683 X-ecartis-version: Ecartis v1.0.0 Sender: kdb-bounce@oss.sgi.com Errors-to: kdb-bounce@oss.sgi.com X-original-sender: HIPFNEXBNVLY@yahoo.com Precedence: bulk X-list: kdb ---- Content-Type: text/html; Content-Transfer-Encoding: quoted-printable DO YOU LIKE BIG TITS

DO YOU LIKE BIG TITS ???
I'M A BIG BOOBS LOVER TOO AND JUST FOUND MY PARADISE ....

Alicia

Blonde haired Alicia used to pray for big tits when she = was a little girl. Well we're here to tell you her prayers wer= e answered in a big way. Alicia uses her best assets to sl= ide a hard cock between them, and then she's ready for a good,= hard fucking.

All  natural boobs bouncy juicy suckable titties!
The biggest tits fucked hard! Watch free sample vids HERE!

------ --------------------------- Use http://oss.sgi.com/ecartis to modify your settings or to unsubscribe. From janeth@wideopenwest.com Sat May 29 08:14:35 2004 Received: with ECARTIS (v1.0.0; list kdb); Sat, 29 May 2004 08:14:36 -0700 (PDT) Received: from dsl212-235-24-250.bb.netvision.net.il (DSL212-235-24-250.bb.netvision.net.il [212.235.24.250]) by oss.sgi.com (8.12.10/8.12.9) with SMTP id i4TFESgi031679 for ; Sat, 29 May 2004 08:14:32 -0700 Date: Sat, 29 May 2004 08:14:29 -0700 Message-Id: <200405291514.i4TFESgi031679@oss.sgi.com> X-Message-Info: URV/jmex/04/p/DH+738/937538759840054 Received: from earsplitting.jade@swbell.net ([128.191.71.57]) by wo6-xhs76.teeterjade@swbell.net with Microsoft SMTPSVC(5.0.1617.6355); Sat, 29 May 2004 02:09:28 -0200 Received: from chemistry.jade.teeter@swbell.net ([39.181.224.78]) by ness.teeterjade@swbell.net with MailEnable ESMTP; Sat, 29 May 2004 09:03:28 +0500 From: "jade teeter" To: "Kdb" Subject: Fwd: V|Agr@ - Xan@x _ Vali+u+m $ V^|cod|n :P:ntermin & Som+a+ exbamzvtmoyr MIME-Version: 1.0 (produced by diophantinephysiotherapist 8.2) Content-type: text/plain Content-Transfer-Encoding: 8bit X-archive-position: 684 X-ecartis-version: Ecartis v1.0.0 Sender: kdb-bounce@oss.sgi.com Errors-to: kdb-bounce@oss.sgi.com X-original-sender: teeter@swbell.net Precedence: bulk X-list: kdb ----44076881692320579 Content-Type: text/html; charset="iso-0194-3" Content-Transfer-Encoding: quoted-printable Content-Description: perusal molybdenum ecumenist personalhealthzone.biz

Hi Kdb,

We believe order= ing medication should be = as simple as ordering a= nything else on the Internet: Private, secure, and easy.

Quality Meds we offer: ~ So:m:a $ X/A/NAX ; Pn/t/ermin & V1AGR@ = % Vali+u+m % At|v@:n

Plus: Tram@d`o|, U|tr@.m, L3v|t:ra, Pr:0p3cia, Acyc|0vi:r, P.r0z@c, P, Bu'= sp@r, Ad.ipex, I0na`m|n, M'3ridia, X3:nica|, A.mbi3n, S0n.aTa, Fl3xe`ril, = Ce|3br:ex, Fi'0ric3t

No complicated formalities of any kind.

Because you can add more to your life. shop Now. www.personalhealthzone.biz.

Best Regards,

jade teeter <= kdb@oss.sgi.com><= chunk>= <= rembrandt>= <= Kdb><= benz>= <= gloat>= <= neuroses><= librarian> ----44076881692320579-- --------------------------- Use http://oss.sgi.com/ecartis to modify your settings or to unsubscribe. From maund@blag.com Mon May 31 14:58:49 2004 Received: with ECARTIS (v1.0.0; list kdb); Mon, 31 May 2004 14:58:51 -0700 (PDT) Received: from blag.com ([218.72.108.77]) by oss.sgi.com (8.12.10/8.12.9) with SMTP id i4VLwigi003397 for ; Mon, 31 May 2004 14:58:47 -0700 Message-ID: Date: Mon, 31 May 2004 11:51:51 -0900 From: "kasie morris" User-Agent: mPOP Web-Mail 2.19 MIME-Version: 1.0 To: "Halley Stevens" Subject: Your Friends Will Envy You Content-type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit X-archive-position: 685 X-ecartis-version: Ecartis v1.0.0 Sender: kdb-bounce@oss.sgi.com Errors-to: kdb-bounce@oss.sgi.com X-original-sender: maund@blag.com Precedence: bulk X-list: kdb "I've been using your product for 4 months now. I've increased my length from 2" to nearly 6" . Your product has saved my sex life." -Matt, FL "My girlfriend loves the results, but she doesn't know what I do. She thinks it's natural" -Thomas, CA Pleasure your partner every time with a bigger, longer, stronger Unit Realistic gains quickly to be a stud press here[1] So he moved over the hill, the top of which proved to be a flat, grass-covered plateau about fifty feet in diameter Oranjestad, Aruba, po b 1200[2] How old is your mother? asked the girl Finding it could not be easily reachedfrom below, on account of its steep sides, and contained neither men nor animals, he alighted on the hill-top and touched his feet to the earth for the first time in twenty-four hours --- Links --- 1 http://www.glorioussales.com/5/ 2 http://www.glorioussales.com/5/ --------------------------- Use http://oss.sgi.com/ecartis to modify your settings or to unsubscribe.