Thread (28 messages) 28 messages, 3 authors, 2011-07-18

Re: [PATCH 03/11] dynamic_debug: Remove uses of KERN_CONT in dynamic_emit_prefix

From: Joe Perches <joe@perches.com>
Date: 2011-07-15 15:54:52

On Fri, 2011-07-15 at 11:07 -0400, Jason Baron wrote:
On Fri, Jul 15, 2011 at 12:04:22PM +0200, Bart Van Assche wrote:
quoted
On Thu, Jul 14, 2011 at 6:09 PM, Jason Baron [off-list ref] wrote:
quoted
+       char tid[sizeof(int) + sizeof(int)/2 + 4];
+       char lineno[sizeof(int) + sizeof(int)/2];
It's not clear to me where the array bounds come from ? Also, why
sizeof(int) + sizeof(int)/2 instead of sizeof(int)*3 + 1 ?
hmmm...for the tid it bounded by PID_MAX_LIMIT, which is 4 million, so
you need 7 characters + 3 for the brackets and space = 10. So that looks
right to me. Although I'm not sure where the sizeof() comes from? Joe?
It's incorrect.

sizeof(int) => # decimal digits + terminating 0
4 => 11
8 => 21

I think I meant to type sizeof(int) * 2 + sizeof(int) / 2 + 1
For the lineno, it is 24 bits, so it can be 2^24 = 16,777,216, or 8
characters, so I think the 6 is incorrect. Although, in practice I don't
think we have any files that are that big.
Then the tid size should be based on PID_MAX_LIMIT.
I don't much care.
I just wanted to minimize stack consumption.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help