From 543c129ab4771b9a1c69544b0da5dba6d9a3a65a Mon Sep 17 00:00:00 2001 From: "huanfeng.wang" Date: Wed, 22 Nov 2023 15:51:49 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BC=98=E5=8C=96log=E5=86=99=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- osp/src/ospLog.c | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/osp/src/ospLog.c b/osp/src/ospLog.c index 6697e20..ed425b2 100644 --- a/osp/src/ospLog.c +++ b/osp/src/ospLog.c @@ -203,7 +203,7 @@ OSP_STATUS osp_update_log(uint32_t len, uint32_t logid, uint32_t msg_type) char msg_name[10] = {0}; int32_t file_idx = 0; uint32_t type = 0; - //uint32_t ulfreeram = 0; + uint32_t fd = 0; if (logid >= MAX_LOG_CFG_NUM || logid < 0) { @@ -221,15 +221,11 @@ OSP_STATUS osp_update_log(uint32_t len, uint32_t logid, uint32_t msg_type) //p_log_file_cfg = &log_file_cfg_table[0][0]; p_log_file_cfg[logid][type].cur_sum_len += len; - osp_get_current_time(); UCP_PRINT_LOG("osp_update_log logid:%d type:0x%x cur_sum_len:%u max_file_size_M:%u !\n", logid,type, p_log_file_cfg[logid][type].cur_sum_len, p_log_file_cfg[logid][type].max_file_size_M); /*判断当前系统是否还有足够空间*/ - //ulfreeram = osp_get_freeram(); if(1 == g_ucFflushEnable) { - //sprintf(name, "rm -rf %s%u-%u-%s.log", p_log_file_cfg[logid][type].logname, (p_log_file_cfg[logid][type].cur_file_idx & 0x7)+1, logid, msg_name); - //system(name); UCP_PRINT_LOG("osp_update_log line:%d logid:%d type:0x%x g_ucFflushEnable:%u name:%s\n", __LINE__, logid, type, g_ucFflushEnable, name); osp_log_cfg_reload(); } @@ -257,7 +253,12 @@ OSP_STATUS osp_update_log(uint32_t len, uint32_t logid, uint32_t msg_type) return OSP_ERROR; } + /*内核缓存同步文件,手动清理内核buff*/ + fd = fileno(p_log_file_cfg[logid][type].file); + fsync(fd); fclose(p_log_file_cfg[logid][type].file); + strcpy(name, "echo 1 > /proc/sys/vm/drop_caches"); + system(name); osp_get_file_path(p_log_file_cfg[logid][type].logname, path); @@ -1007,9 +1008,11 @@ void osp_log_init(void) void osp_log_cfg_reload() { - uint32_t i = 0; - uint32_t j = 0; - + uint32_t i = 0; + uint32_t j = 0; + uint32_t fd = 0; + char cmd[64] = {0}; + for (i = 0; i < MAX_LOG_CFG_NUM; i++) { for(j = 0; j< 4; j++) @@ -1018,11 +1021,20 @@ void osp_log_cfg_reload() log_file_cfg_table[i][j].key = 0; log_file_cfg_table[i][j].cur_sum_len = 0; log_file_cfg_table[i][j].cur_file_idx = 0; - log_file_cfg_table[i][j].file = NULL; + if(NULL != log_file_cfg_table[i][j].file) + { + fd = fileno(log_file_cfg_table[i][j].file); + fsync(fd); + fclose(log_file_cfg_table[i][j].file); + log_file_cfg_table[i][j].file = NULL; + } } } + strcpy(cmd, "echo 1 > /proc/sys/vm/drop_caches"); + system(cmd); + return; } From 2266e075a227d99cd181df587c704ed81534adbf Mon Sep 17 00:00:00 2001 From: "huanfeng.wang" Date: Wed, 22 Nov 2023 17:00:58 +0800 Subject: [PATCH 2/2] =?UTF-8?q?case4=E5=A2=9E=E5=8A=A0=E5=9F=BA=E7=AB=99?= =?UTF-8?q?=E6=97=B6=E5=BB=B6=E5=A2=9E=E5=8A=A0=E4=B8=8A=E8=A1=8C=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E7=9B=B8=E5=AF=B9cpri=E5=B8=A7=E5=A4=B4=E5=81=8F?= =?UTF-8?q?=E7=A7=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/case4/src/testcase.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/test/case4/src/testcase.c b/test/case4/src/testcase.c index 48a2406..8c57608 100644 --- a/test/case4/src/testcase.c +++ b/test/case4/src/testcase.c @@ -67,6 +67,7 @@ typedef struct tSpuOamBaseDelaySetReq { uint8_t u8rsv[3]; uint32_t u32dl_frame_offset; uint32_t u32ul_frame_offset; + uint32_t u32ul_data_frame_offset; } SpuOamBaseDelaySetReq_t; typedef struct tSpuOamBaseDelaySetRsp { @@ -86,6 +87,7 @@ typedef struct tSpuOamBaseDelayQryRsp { uint8_t u8rsv[2]; uint32_t u32dl_frame_offset; uint32_t u32ul_frame_offset; + uint32_t u32ul_data_frame_offset; } SpuOamBaseDelayQryRsp_t; typedef struct tSpuOamFiberDelayQryReq { @@ -308,8 +310,9 @@ void oam_msg_base_delay_set_test() stOamMsg.msgLen = size; stOamDelayReq.u8fiber_port = 2; - stOamDelayReq.u32dl_frame_offset = 0xab; - stOamDelayReq.u32ul_frame_offset = 0xcd; + stOamDelayReq.u32dl_frame_offset = 0xab; + stOamDelayReq.u32ul_frame_offset = 0xcd; + stOamDelayReq.u32ul_data_frame_offset = 0xef; //memset(buf, 0, size); //memcpy((uint8_t *)stOamMsg.msgData, (uint8_t *)&stOamDelayReq, sizeof(SpuOamBaseDelaySetReq_t));