summaryrefslogtreecommitdiff
path: root/pag
diff options
context:
space:
mode:
authorQiuwen Lu <[email protected]>2016-09-14 16:54:59 +0800
committerQiuwen Lu <[email protected]>2016-09-14 16:54:59 +0800
commitf17959305de8b96f1a666ca7ca801ae1125ada71 (patch)
tree47f23109a520ac6b6bd143d20fa9fe755ef6f2be /pag
parent4782c14d52af2fe4e4f153b5b5b9f44f7561e3ee (diff)
增加性能分析使用的运行Cycles记录功能
Diffstat (limited to 'pag')
-rw-r--r--pag/libpag.c10
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 *);
}