[perfmon2] Problems with EAR sampling notifications
Status: Beta
Brought to you by:
seranian
From: Juan Á. L. <jal...@gm...> - 2009-05-12 08:26:52
|
Hi all, I've been doing some tests with the "mont_dear.c" example from the old_interface_ia64_examples directory and I've noticed a strange behaviour when sampling. I modified the ctx.buf_arg.buf_size variable from the initial value (getpagesize()) to the minimum value I was allowed (1024) and I tried the sampling periods 40 and 1. The aim of this was getting the maximum number of buffer overflow notifications. I considered that a lower sample period and a smaller buffer size would result in a higher number of overflow notifications. Everything worked as expected when using a sampling period of 40 and decreasing the buffer size. That is, the smaller the buffer, the smaller the number of samples per buffer and the higher the number of notifications, until I reached a 1024 buffer size, where I got 31 notifications. However, when using a sampling period of 1, regardless the buffer size, I always get a maximum number of notifications equals to 31. This value was double-checked using a global variable and getting the value of "hdr->hdr_overflows", in the "process_smpl_buffer()" function. I understand I'm not getting a real sampling period of 1 so I'll always miss some samples but, anyway, I don't see why I cannot get a higher number of notifications than 31. Subsequent tests with other codes, based in this example code, yiedled always that ceiling of 31 notifications. In order not to depend on the buffer I also tried to remove it, so that I got a notification every time the counter overflowed. As far as I read in the perfmon2 manual, it is possible to do it. Besides, there is an example code, "notify_self.c" which explains how to do it with "counting counters". I couldn't make it work with EARs, though. Is it possible to perform an EAR sampling without using a buffer? I'm working in a Montvale architecture (SuSE Enterprise 10 SP1, kernel 2.6.16.53). I'd really appreciate any help. Maybe this is something naïve and straightforward, but I'm not able to find out a solution. Regards, Juan Angel Lorenzo |