Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
ae18e4c3
TDengine
项目概览
taosdata
/
TDengine
大约 1 年 前同步成功
通知
1184
Star
22015
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
ae18e4c3
编写于
12月 11, 2021
作者:
H
Hongze Cheng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
more work
上级
dcc672d0
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
24 addition
and
7 deletion
+24
-7
CMakeLists.txt
CMakeLists.txt
+1
-1
source/dnode/vnode/impl/inc/vnodeBufferPool.h
source/dnode/vnode/impl/inc/vnodeBufferPool.h
+1
-0
source/dnode/vnode/impl/inc/vnodeCommit.h
source/dnode/vnode/impl/inc/vnodeCommit.h
+2
-2
source/dnode/vnode/impl/src/vnodeBufferPool.c
source/dnode/vnode/impl/src/vnodeBufferPool.c
+20
-2
source/dnode/vnode/impl/src/vnodeCommit.c
source/dnode/vnode/impl/src/vnodeCommit.c
+0
-2
未找到文件。
CMakeLists.txt
浏览文件 @
ae18e4c3
...
...
@@ -10,7 +10,7 @@ set(CMAKE_SUPPORT_DIR "${CMAKE_SOURCE_DIR}/cmake")
set
(
CMAKE_CONTRIB_DIR
"
${
CMAKE_SOURCE_DIR
}
/contrib"
)
include
(
${
CMAKE_SUPPORT_DIR
}
/cmake.options
)
SET
(
CMAKE_C_FLAGS
"
${
CMAKE_C_FLAGS
}
-fPIC -gdwarf-2 -msse4.2 -mfma"
)
SET
(
CMAKE_C_FLAGS
"
${
CMAKE_C_FLAGS
}
-fPIC -gdwarf-2 -msse4.2 -mfma
-g3
"
)
# contrib
add_subdirectory
(
contrib
)
...
...
source/dnode/vnode/impl/inc/vnodeBufferPool.h
浏览文件 @
ae18e4c3
...
...
@@ -28,6 +28,7 @@ typedef struct SVBufPool SVBufPool;
int
vnodeOpenBufPool
(
SVnode
*
pVnode
);
void
vnodeCloseBufPool
(
SVnode
*
pVnode
);
void
*
vnodeMalloc
(
SVnode
*
pVnode
,
uint64_t
size
);
bool
vnodeBufPoolIsFull
(
SVnode
*
pVnode
);
#ifdef __cplusplus
}
...
...
source/dnode/vnode/impl/inc/vnodeCommit.h
浏览文件 @
ae18e4c3
...
...
@@ -22,8 +22,8 @@
extern
"C"
{
#endif
bool
vnodeShouldCommit
(
SVnode
*
pVnode
);
int
vnodeAsyncCommit
(
SVnode
*
pVnode
);
#define vnodeShouldCommit vnodeBufPoolIsFull
int
vnodeAsyncCommit
(
SVnode
*
pVnode
);
#ifdef __cplusplus
}
...
...
source/dnode/vnode/impl/src/vnodeBufferPool.c
浏览文件 @
ae18e4c3
...
...
@@ -148,6 +148,24 @@ void *vnodeMalloc(SVnode *pVnode, uint64_t size) {
return
vBufPoolMalloc
(
pvma
,
size
);
}
bool
vnodeBufPoolIsFull
(
SVnode
*
pVnode
)
{
SVBufPool
*
pBufPool
=
pVnode
->
pBufPool
;
SVMemAllocator
*
pvma
;
if
(
pBufPool
->
inuse
==
NULL
)
return
false
;
pvma
=
(
SVMemAllocator
*
)(
pBufPool
->
inuse
->
data
);
if
(
pvma
->
type
==
E_V_HEAP_ALLOCATOR
)
{
ASSERT
(
0
);
}
else
{
SVArenaNode
*
pNode
=
pvma
->
vaa
.
inuse
;
bool
ret
=
(
pNode
!=
&
(
pvma
->
vaa
.
node
))
||
((
pNode
->
size
-
POINTER_DISTANCE
(
pNode
->
ptr
,
pNode
->
data
))
<=
pvma
->
vaa
.
lsize
);
return
ret
;
}
}
/* ------------------------ STATIC METHODS ------------------------ */
static
void
vArenaAllocatorInit
(
SVArenaAllocator
*
pvaa
,
uint64_t
capacity
,
uint64_t
ssize
,
uint64_t
lsize
)
{
/* TODO */
pvaa
->
ssize
=
ssize
;
...
...
@@ -171,8 +189,8 @@ static SListNode *vBufPoolNewNode(uint64_t capacity, EVMemAllocatorT type) {
SListNode
*
pNode
;
SVMemAllocator
*
pvma
;
uint64_t
msize
;
uint64_t
ssize
=
0
;
// TODO
uint64_t
lsize
=
0
;
// TODO
uint64_t
ssize
=
4096
;
// TODO
uint64_t
lsize
=
1024
;
// TODO
msize
=
sizeof
(
SListNode
)
+
sizeof
(
SVMemAllocator
);
if
(
type
==
E_V_ARENA_ALLOCATOR
)
{
...
...
source/dnode/vnode/impl/src/vnodeCommit.c
浏览文件 @
ae18e4c3
...
...
@@ -18,8 +18,6 @@
static
int
vnodeStartCommit
(
SVnode
*
pVnode
);
static
int
vnodeEndCommit
(
SVnode
*
pVnode
);
bool
vnodeShouldCommit
(
SVnode
*
pVnode
)
{
return
false
;
}
int
vnodeAsyncCommit
(
SVnode
*
pVnode
)
{
#if 0
if (vnodeStartCommit(pVnode) < 0) {
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录