Messages in this thread | | | Date | Wed, 12 Aug 2009 08:31:03 +0900 (JST) | From | KOSAKI Motohiro <> | Subject | Re: [PATCH 3/6] tracing, page-allocator: Add trace event for page traffic related to the buddy lists |
| |
> The page allocation trace event reports that a page was successfully allocated > but it does not specify where it came from. When analysing performance, > it can be important to distinguish between pages coming from the per-cpu > allocator and pages coming from the buddy lists as the latter requires the > zone lock to the taken and more data structures to be examined. > > This patch adds a trace event for __rmqueue reporting when a page is being > allocated from the buddy lists. It distinguishes between being called > to refill the per-cpu lists or whether it is a high-order allocation. > Similarly, this patch adds an event to catch when the PCP lists are being > drained a little and pages are going back to the buddy lists. > > This is trickier to draw conclusions from but high activity on those > events could explain why there were a large number of cache misses on a > page-allocator-intensive workload. The coalescing and splitting of buddies > involves a lot of writing of page metadata and cache line bounces not to > mention the acquisition of an interrupt-safe lock necessary to enter this > path.
Looks good to me. Reviewed-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
| |