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
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.