public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Re: silly [< >] and other excess
@ 2000-11-22 19:00 Andries.Brouwer
  2000-11-22 23:16 ` Russell King
  0 siblings, 1 reply; 35+ messages in thread
From: Andries.Brouwer @ 2000-11-22 19:00 UTC (permalink / raw)
  To: rmk; +Cc: linux-kernel

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1374 bytes --]

    From rmk@flint.arm.linux.org.uk Wed Nov 22 19:20:52 2000

    > Andries.Brouwer@cwi.nl a écrit :
    > >  I also left something else
    > > that always annoyed me: valuable screen space (on a 24x80 vt)
    > > is lost by these silly [< >] around addresses in an Oops.
    > > They provide no information at all, but on the other hand
    > > cause loss of information because these lines no longer
    > > fit in 80 columns causing line wrap and the loss of the
    > > top of the Oops.]

    They provide no information to the human reader, but they tell klogd
    (and other tools) that the enclosed value is a kernel address that
    should be looked up in the System.map file and decoded into name +
    offset.

Of course. But since there is no information in [< >]
(their presence is syntactically determined, not semantically)
the tools you mention can be trivially patched to work without
this [< >] kludge. On the other hand, when the system panics
often klogd and similar nice programs do not run at all, and
hence are unable to do any good. All information available
is the information on the screen, and it is really a pity
to lose EIP and get a few parentheses instead.

Andries

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

^ permalink raw reply	[flat|nested] 35+ messages in thread
* Re: silly [< >] and other excess
@ 2000-11-23  2:24 Andries.Brouwer
  2000-11-23 14:29 ` Charles Cazabon
  0 siblings, 1 reply; 35+ messages in thread
From: Andries.Brouwer @ 2000-11-23  2:24 UTC (permalink / raw)
  To: Andries.Brouwer, alan; +Cc: linux-kernel, rmk

> Thats because too many things get put on a line then.
> And because we do [<foo>] [<bar>]  not   [<foo>][<bar>] ?

In the good old times we had  foo bar  for a total of 8*(8+1) = 72
positions. Now we have [<foo>] [<bar>] which takes 8*(8+1+4) = 104
positions. If you turned this into 6 items per line instead of 8,
it would certainly improve matters a bit.
Still..

Andries
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

^ permalink raw reply	[flat|nested] 35+ messages in thread
* Re: silly [< >] and other excess
@ 2000-11-23  0:38 Andries.Brouwer
  2000-11-23  0:51 ` Alan Cox
  0 siblings, 1 reply; 35+ messages in thread
From: Andries.Brouwer @ 2000-11-23  0:38 UTC (permalink / raw)
  To: Andries.Brouwer, rmk; +Cc: linux-kernel

    From rmk@caramon.arm.linux.org.uk Thu Nov 23 00:17:21 2000

    Well, in my experience, values of PC (or EIP is x86 speak) rarely
    appear over column 50 on the screen.  Therefore, removing them is
    only going to save width, not height.

The EIP is not pushed out of sight horizontally, but vertically.
(Maybe you never saw a i386 oops. With [<>] the call trace takes
twice as many lines (on a 25x80 screen) as without.)

    Also, have you considered that not every oops is formatted exactly
    the same way on every architecture?

    Do you propose to teach klogd and ksymoops every single oops format style?

It is a triviality.
Besides, the patch only modified i386.

Andries
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

^ permalink raw reply	[flat|nested] 35+ messages in thread
* [PATCH] isofs/inode.c
@ 2000-11-22 13:20 Andries.Brouwer
  2000-11-22 13:42 ` silly [< >] and other excess Christian Gennerat
  0 siblings, 1 reply; 35+ messages in thread
From: Andries.Brouwer @ 2000-11-22 13:20 UTC (permalink / raw)
  To: linux-kernel, torvalds

Here the second patch in the isofs series.
inode.c:isofs_read_super() dereferences the variable pri
that need not be set in case of a Joliet CD, causing an Oops.
Patch below.

Andries

[While editing the diff, I left a fix for aha1542.c,
maybe you got it already.  I also left something else
that always annoyed me: valuable screen space (on a 24x80 vt)
is lost by these silly [< >] around addresses in an Oops.
They provide no information at all, but on the other hand
cause loss of information because these lines no longer
fit in 80 columns causing line wrap and the loss of the
top of the Oops.]

diff -u --recursive --new-file ../linux-2.4.0-test11/linux/arch/i386/kernel/traps.c ./linux/arch/i386/kernel/traps.c
--- ../linux-2.4.0-test11/linux/arch/i386/kernel/traps.c	Tue Nov 21 21:44:05 2000
+++ ./linux/arch/i386/kernel/traps.c	Mon Nov 20 12:17:11 2000
@@ -146,7 +146,7 @@
 		    ((addr >= module_start) && (addr <= module_end))) {
 			if (i && ((i % 8) == 0))
 				printk("\n       ");
-			printk("[<%08lx>] ", addr);
+			printk("%08lx ", addr);	/* not [<...>] */
 			i++;
 		}
 	}
@@ -166,7 +166,7 @@
 		esp = regs->esp;
 		ss = regs->xss & 0xffff;
 	}
-	printk("CPU:    %d\nEIP:    %04x:[<%08lx>]\nEFLAGS: %08lx\n",
+	printk("CPU:    %d\nEIP:    %04x:%08lx\nEFLAGS: %08lx\n",
 		smp_processor_id(), 0xffff & regs->xcs, regs->eip, regs->eflags);
 	printk("eax: %08lx   ebx: %08lx   ecx: %08lx   edx: %08lx\n",
 		regs->eax, regs->ebx, regs->ecx, regs->edx);
diff -u --recursive --new-file ../linux-2.4.0-test11/linux/drivers/scsi/aha1542.c ./linux/drivers/scsi/aha1542.c
--- ../linux-2.4.0-test11/linux/drivers/scsi/aha1542.c	Tue Nov 21 21:44:10 2000
+++ ./linux/drivers/scsi/aha1542.c	Tue Nov 21 18:01:57 2000
@@ -1416,6 +1416,7 @@
 			SCtmp = HOSTDATA(SCpnt->host)->SCint[i];
 			if (SCtmp->host_scribble) {
 				scsi_free(SCtmp->host_scribble, 512);
+				SCtmp->host_scribble = NULL;
 			}
 			HOSTDATA(SCpnt->host)->SCint[i] = NULL;
 			HOSTDATA(SCpnt->host)->mb[i].status = 0;
@@ -1478,6 +1479,7 @@
 			}
 			if (SCtmp->host_scribble) {
 				scsi_free(SCtmp->host_scribble, 512);
+				SCtmp->host_scribble = NULL;
 			}
 			HOSTDATA(SCpnt->host)->SCint[i] = NULL;
 			HOSTDATA(SCpnt->host)->mb[i].status = 0;
@@ -1546,6 +1548,7 @@
 			}
 			if (SCtmp->host_scribble) {
 				scsi_free(SCtmp->host_scribble, 512);
+				SCtmp->host_scribble = NULL;
 			}
 			HOSTDATA(SCpnt->host)->SCint[i] = NULL;
 			HOSTDATA(SCpnt->host)->mb[i].status = 0;
@@ -1681,8 +1684,10 @@
 				Scsi_Cmnd *SCtmp;
 				SCtmp = HOSTDATA(SCpnt->host)->SCint[i];
 				SCtmp->result = DID_RESET << 16;
-				if (SCtmp->host_scribble)
+				if (SCtmp->host_scribble) {
 					scsi_free(SCtmp->host_scribble, 512);
+					SCtmp->host_scribble = NULL;
+				}
 				printk(KERN_WARNING "Sending DID_RESET for target %d\n", SCpnt->target);
 				SCtmp->scsi_done(SCpnt);
 
@@ -1725,8 +1730,10 @@
 						Scsi_Cmnd *SCtmp;
 						SCtmp = HOSTDATA(SCpnt->host)->SCint[i];
 						SCtmp->result = DID_RESET << 16;
-						if (SCtmp->host_scribble)
+						if (SCtmp->host_scribble) {
 							scsi_free(SCtmp->host_scribble, 512);
+							SCtmp->host_scribble = NULL;
+						}
 						printk(KERN_WARNING "Sending DID_RESET for target %d\n", SCpnt->target);
 						SCtmp->scsi_done(SCpnt);
 
diff -u --recursive --new-file ../linux-2.4.0-test11/linux/fs/isofs/inode.c ./linux/fs/isofs/inode.c
--- ../linux-2.4.0-test11/linux/fs/isofs/inode.c	Tue Nov 21 21:44:14 2000
+++ ./linux/fs/isofs/inode.c	Wed Nov 22 13:22:09 2000
@@ -500,15 +500,13 @@
  	 * that value.
  	 */
  	blocksize = get_hardblocksize(dev);
- 	if(    (blocksize != 0)
- 	    && (blocksize > opt.blocksize) )
- 	  {
+ 	if(blocksize > opt.blocksize) {
  	    /*
  	     * Force the blocksize we are going to use to be the
  	     * hardware blocksize.
  	     */
  	    opt.blocksize = blocksize;
- 	  }
+	}
  
 	blocksize_bits = 0;
 	{
@@ -594,6 +592,7 @@
 	    brelse(bh);
 	    bh = NULL;
 	}
+
 	/*
 	 * If we fall through, either no volume descriptor was found,
 	 * or else we passed a primary descriptor looking for others.
@@ -605,9 +604,7 @@
 	pri_bh = NULL;
 
 root_found:
-	brelse(pri_bh);
-
-	if (joliet_level && opt.rock == 'n') {
+	if (joliet_level && (pri == NULL || opt.rock == 'n')) {
 	    /* This is the case of Joliet with the norock mount flag.
 	     * A disc with both Joliet and Rock Ridge is handled later
 	     */
@@ -704,6 +701,7 @@
 	 * We're all done using the volume descriptor, and may need
 	 * to change the device blocksize, so release the buffer now.
 	 */
+	brelse(pri_bh);
 	brelse(bh);
 
 	/*
@@ -873,8 +871,8 @@
 /* Life is simpler than for other filesystem since we never
  * have to create a new block, only find an existing one.
  */
-int isofs_get_block(struct inode *inode, long iblock,
-		    struct buffer_head *bh_result, int create)
+static int isofs_get_block(struct inode *inode, long iblock,
+			   struct buffer_head *bh_result, int create)
 {
 	unsigned long b_off;
 	unsigned offset, sect_size;
diff -u --recursive --new-file ../linux-2.4.0-test11/linux/include/linux/iso_fs.h ./linux/include/linux/iso_fs.h
--- ../linux-2.4.0-test11/linux/include/linux/iso_fs.h	Tue Nov 21 21:44:16 2000
+++ ./linux/include/linux/iso_fs.h	Tue Nov 21 13:39:44 2000
@@ -185,7 +185,6 @@
 int get_acorn_filename(struct iso_directory_record *, char *, struct inode *);
 
 extern struct dentry *isofs_lookup(struct inode *, struct dentry *);
-extern int isofs_get_block(struct inode *, long, struct buffer_head *, int);
 extern int isofs_bmap(struct inode *, int);
 extern struct buffer_head *isofs_bread(struct inode *, unsigned int, unsigned int);
 
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

^ permalink raw reply	[flat|nested] 35+ messages in thread

end of thread, other threads:[~2000-11-28  9:47 UTC | newest]

Thread overview: 35+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2000-11-22 19:00 silly [< >] and other excess Andries.Brouwer
2000-11-22 23:16 ` Russell King
2000-11-22 23:54   ` Albert D. Cahalan
2000-11-23  0:10     ` Russell King
2000-11-23  2:54       ` Albert D. Cahalan
2000-11-23  3:03         ` Keith Owens
2000-11-23 12:39           ` Albert D. Cahalan
2000-11-23 12:46             ` Alan Cox
2000-11-23 19:46             ` Russell King
2000-11-23  7:53         ` Russell King
2000-11-25  4:33           ` Albert D. Cahalan
2000-11-25  9:17             ` Russell King
2000-11-25 10:26               ` Albert D. Cahalan
2000-11-25 11:07                 ` Keith Owens
2000-11-25 12:18                   ` Albert D. Cahalan
2000-11-25 18:20                   ` silly [< >] Guest section DW
2000-11-24  8:09                     ` Pavel Machek
2000-11-25 12:11                 ` silly [< >] and other excess Russell King
2000-11-27 22:02                   ` Peter Samuelson
2000-11-27 22:35                     ` Keith Owens
2000-11-27 23:01                       ` bread in fat_access failed Nerijus Baliunas
2000-11-27 23:11                         ` Nerijus Baliunas
2000-11-28  9:16                       ` silly [< >] and other excess Christian Gennerat
2000-11-23  0:26     ` Russell King
2000-11-23  3:11       ` Ragnar Hojland Espinosa
2000-11-23  7:55         ` Russell King
  -- strict thread matches above, loose matches on Subject: below --
2000-11-23  2:24 Andries.Brouwer
2000-11-23 14:29 ` Charles Cazabon
2000-11-23 20:16   ` Tuomas Heino
2000-11-23  0:38 Andries.Brouwer
2000-11-23  0:51 ` Alan Cox
2000-11-22 13:20 [PATCH] isofs/inode.c Andries.Brouwer
2000-11-22 13:42 ` silly [< >] and other excess Christian Gennerat
2000-11-22 16:00   ` Russell King
2000-11-22 22:22   ` Keith Owens
2000-11-22 23:32     ` Albert D. Cahalan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox