lkml.org 
[lkml]   [2008]   [Sep]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFC PATCH v4] Unified trace buffer
Steven Rostedt wrote:
> On Thu, 25 Sep 2008, Masami Hiramatsu wrote:
>
>> Hi Steven,
>>
>> Steven Rostedt wrote:
>>> This version has been cleaned up a bit. I've been running it as
>>> a back end to ftrace, and it has been handling pretty well.
>> Thank you for your great work.
>> It seems good to me(especially, encapsulating events :)).
>
> Thanks!
>
>> I have one request of enhancement.
>>
>>> +static struct ring_buffer_per_cpu *
>>> +ring_buffer_allocate_cpu_buffer(struct ring_buffer *buffer, int cpu)
>>> +{
>> [...]
>>> + cpu_buffer->pages = kzalloc_node(ALIGN(sizeof(void *) * pages,
>>> + cache_line_size()), GFP_KERNEL,
>>> + cpu_to_node(cpu));
>> Here, you are using a slab object for page managing array,
>> the largest object size is 128KB(x86-64), so it can contain
>> 16K pages = 64MB.
>>
>> As I had improved relayfs, in some rare case(on 64bit arch),
>> we'd like to use larger buffer than 64MB.
>>
>> http://sourceware.org/ml/systemtap/2008-q2/msg00103.html
>>
>> So, I think similar hack can be applicable.
>>
>> Would it be acceptable for the next version?
>
> I would like to avoid using vmalloc as much as possible, but I do see the
> limitation here. Here's my compromise.
>
> Instead of using vmalloc if the page array is greater than one page,
> how about using vmalloc if the page array is greater than
> KMALLOC_MAX_SIZE?
>
> This would let us keep the vmap area free unless we have no choice.

Hmm, that's a good idea.
In most cases, per-cpu buffer may be less than 64MB,
so I think it is reasonable.

Thank you,

>
> -- Steve
>

--
Masami Hiramatsu

Software Engineer
Hitachi Computer Products (America) Inc.
Software Solutions Division

e-mail: mhiramat@redhat.com



\
 
 \ /
  Last update: 2008-09-26 04:59    [from the cache]
©2003-2011 Jasper Spaans