On 2017-09-21 14:52, Mathieu Desnoyers wrote: > ----- On Sep 21, 2017, at 2:43 PM, Michael Jeanson [email protected] > wrote: > >> On 2017-09-21 14:39, Mathieu Desnoyers wrote: >>> ----- On Sep 21, 2017, at 2:29 PM, Michael Jeanson [email protected] >>> wrote: >>> >>>> This patch is based on the kvmalloc helpers introduced in kernel 4.12. >>>> >>>> It will gracefully failover memory allocations of more than one page to >>>> vmalloc for systems under high memory pressure or fragmentation. >>>> >>>> I only used it in lttng-events.c as a POC, most allocations fit into a >>>> single page so I'm not sure how useful this actually is. >>>> >>>> Thoughts? >>> >>> Just update the changelog to specify why we need this for struct >>> lttng_session >>> (~32kB), and you can submit it for good with a "Fix: " tag. >> >> I'm not sure it should be a fix, for this to be of any use all the other >> allocations bigger than PAGE_SIZE should also use it. Otherwise, the >> session allocation will succeed but the next sizeable allocation will >> still fail. > > What other allocations larger than PAGE_SIZE using kmalloc did you spot ?
This is not an exhaustive list : lttng-context.c: - new_fields: 136 * n lttng-context-perf-counters.c: - events: if you have more than 512 CPUs lib/prio_heap/lttng_prio_heap.c: - new_ptrs But mostly in the ringbuffer, thought I have no idea if a failover to vmalloc is acceptable in this case. > > Thanks, > > Mathieu > > >> >>> >>> Thanks, >>> >>> Mathieu > _______________________________________________ lttng-dev mailing list [email protected] https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
