diff options
| author | Qiuwen Lu <[email protected]> | 2016-09-14 16:54:59 +0800 |
|---|---|---|
| committer | Qiuwen Lu <[email protected]> | 2016-09-14 16:54:59 +0800 |
| commit | f17959305de8b96f1a666ca7ca801ae1125ada71 (patch) | |
| tree | 47f23109a520ac6b6bd143d20fa9fe755ef6f2be /pag | |
| parent | 4782c14d52af2fe4e4f153b5b5b9f44f7561e3ee (diff) | |
增加性能分析使用的运行Cycles记录功能
Diffstat (limited to 'pag')
| -rw-r--r-- | pag/libpag.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/pag/libpag.c b/pag/libpag.c index 6f8aedf..3233949 100644 --- a/pag/libpag.c +++ b/pag/libpag.c @@ -6,15 +6,15 @@ #include <unistd.h>
#include <assert.h>
+#include <netinet/in.h>
#include <rte_string_fns.h>
#include <rte_ether.h>
#include <MESA_prof_load.h>
#include <mr_common.h>
#include <mr_rawio.h>
+#include <mr_stat.h>
#include <mrlib.h>
-
#include "libpag.h"
-#include <netinet/in.h>
struct pag_instance
{
@@ -125,6 +125,8 @@ int pag_open() return 0;
}
+//TODO: �ձ��ķ�ʽ�Ľ�����������һ�����ػ�������
+//TODO: ��һ��rtdevice����n���������ϲ�ȡ�á�
void * pag_get_frame(int sid __rte_unused)
{
if (unlikely(__pag_thread_inited == 0))
@@ -132,7 +134,8 @@ void * pag_get_frame(int sid __rte_unused) mrlib_thread_init();
__pag_thread_inited = 1;
}
-
+
+ PERF_BEGIN(pag_get_frame);
struct pag_thread_instance * tinstance = &thread_instance_;
struct pag_instance * instance = &pag_config_;
@@ -149,6 +152,7 @@ void * pag_get_frame(int sid __rte_unused) int ret = marsio_raw_recv(instance->raw_sockets[cur_socket], &tinstance->rxmbuf, 1);
tinstance->cur_socket = (cur_socket + 1) % instance->nr_raw_sockets;
+ PERF_END(pag_get_frame);
if (ret != 1) return NULL;
return rte_pktmbuf_mtod(tinstance->rxmbuf, void *);
}
|
