Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
7cbdadf7
K
Kernel
项目概览
openeuler
/
Kernel
大约 1 年 前同步成功
通知
5
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
Kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
7cbdadf7
编写于
1月 12, 2009
作者:
I
Ingo Molnar
浏览文件
操作
浏览文件
下载
差异文件
Merge commit 'v2.6.29-rc1' into x86/cleanups
上级
52811d8c
c5976504
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
59 addition
and
6 deletion
+59
-6
Makefile
Makefile
+2
-2
drivers/ata/ahci.c
drivers/ata/ahci.c
+3
-0
drivers/ata/libata-core.c
drivers/ata/libata-core.c
+11
-0
include/linux/libata.h
include/linux/libata.h
+1
-0
scripts/bootgraph.pl
scripts/bootgraph.pl
+42
-4
未找到文件。
Makefile
浏览文件 @
7cbdadf7
VERSION
=
2
PATCHLEVEL
=
6
SUBLEVEL
=
2
8
EXTRAVERSION
=
SUBLEVEL
=
2
9
EXTRAVERSION
=
-rc1
NAME
=
Erotic Pickled Herring
# *DOCUMENTATION*
...
...
drivers/ata/ahci.c
浏览文件 @
7cbdadf7
...
...
@@ -2660,6 +2660,9 @@ static int ahci_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
host
->
iomap
=
pcim_iomap_table
(
pdev
);
host
->
private_data
=
hpriv
;
if
(
!
(
hpriv
->
cap
&
HOST_CAP_SSS
))
host
->
flags
|=
ATA_HOST_PARALLEL_SCAN
;
if
(
pi
.
flags
&
ATA_FLAG_EM
)
ahci_reset_em
(
host
);
...
...
drivers/ata/libata-core.c
浏览文件 @
7cbdadf7
...
...
@@ -5920,6 +5920,17 @@ static void async_port_probe(void *data, async_cookie_t cookie)
{
int
rc
;
struct
ata_port
*
ap
=
data
;
/*
* If we're not allowed to scan this host in parallel,
* we need to wait until all previous scans have completed
* before going further.
* Jeff Garzik says this is only within a controller, so we
* don't need to wait for port 0, only for later ports.
*/
if
(
!
(
ap
->
host
->
flags
&
ATA_HOST_PARALLEL_SCAN
)
&&
ap
->
port_no
!=
0
)
async_synchronize_cookie
(
cookie
);
/* probe */
if
(
ap
->
ops
->
error_handler
)
{
struct
ata_eh_info
*
ehi
=
&
ap
->
link
.
eh_info
;
...
...
include/linux/libata.h
浏览文件 @
7cbdadf7
...
...
@@ -239,6 +239,7 @@ enum {
/* host set flags */
ATA_HOST_SIMPLEX
=
(
1
<<
0
),
/* Host is simplex, one DMA channel per host only */
ATA_HOST_STARTED
=
(
1
<<
1
),
/* Host started */
ATA_HOST_PARALLEL_SCAN
=
(
1
<<
2
),
/* Ports on this host can be scanned in parallel */
/* bits 24:31 of host->flags are reserved for LLD specific flags */
...
...
scripts/bootgraph.pl
浏览文件 @
7cbdadf7
...
...
@@ -41,11 +41,13 @@ use strict;
my
%start
;
my
%end
;
my
%type
;
my
$done
=
0
;
my
$maxtime
=
0
;
my
$firsttime
=
100
;
my
$count
=
0
;
my
%pids
;
my
%pidctr
;
while
(
<>
)
{
my
$line
=
$_
;
...
...
@@ -53,6 +55,7 @@ while (<>) {
my
$func
=
$
2
;
if
(
$done
==
0
)
{
$start
{
$func
}
=
$
1
;
$type
{
$func
}
=
0
;
if
(
$
1
<
$firsttime
)
{
$firsttime
=
$
1
;
}
...
...
@@ -63,12 +66,40 @@ while (<>) {
$count
=
$count
+
1
;
}
if
(
$line
=~
/([0-9\.]+)\] async_waiting @ ([0-9]+)/
)
{
my
$pid
=
$
2
;
my
$func
;
if
(
!
defined
(
$pidctr
{
$pid
}))
{
$func
=
"
wait_
"
.
$pid
.
"
_1
";
$pidctr
{
$pid
}
=
1
;
}
else
{
$pidctr
{
$pid
}
=
$pidctr
{
$pid
}
+
1
;
$func
=
"
wait_
"
.
$pid
.
"
_
"
.
$pidctr
{
$pid
};
}
if
(
$done
==
0
)
{
$start
{
$func
}
=
$
1
;
$type
{
$func
}
=
1
;
if
(
$
1
<
$firsttime
)
{
$firsttime
=
$
1
;
}
}
$pids
{
$func
}
=
$pid
;
$count
=
$count
+
1
;
}
if
(
$line
=~
/([0-9\.]+)\] initcall ([a-zA-Z0-9\_]+)\+.*returned/
)
{
if
(
$done
==
0
)
{
$end
{
$
2
}
=
$
1
;
$maxtime
=
$
1
;
}
}
if
(
$line
=~
/([0-9\.]+)\] async_continuing @ ([0-9]+)/
)
{
my
$pid
=
$
2
;
my
$func
=
"
wait_
"
.
$pid
.
"
_
"
.
$pidctr
{
$pid
};
$end
{
$func
}
=
$
1
;
$maxtime
=
$
1
;
}
if
(
$line
=~
/Write protecting the/
)
{
$done
=
1
;
}
...
...
@@ -105,6 +136,8 @@ $styles[9] = "fill:rgb(255,255,128);fill-opacity:0.5;stroke-width:1;stroke:rgb(0
$styles
[
10
]
=
"
fill:rgb(255,128,255);fill-opacity:0.5;stroke-width:1;stroke:rgb(0,0,0)
";
$styles
[
11
]
=
"
fill:rgb(128,255,255);fill-opacity:0.5;stroke-width:1;stroke:rgb(0,0,0)
";
my
$style_wait
=
"
fill:rgb(128,128,128);fill-opacity:0.5;stroke-width:0;stroke:rgb(0,0,0)
";
my
$mult
=
1950.0
/
(
$maxtime
-
$firsttime
);
my
$threshold2
=
(
$maxtime
-
$firsttime
)
/
120.0
;
my
$threshold
=
$threshold2
/
10
;
...
...
@@ -139,11 +172,16 @@ foreach my $key (@initcalls) {
$stylecounter
=
0
;
};
print
"
<rect x=
\"
$s
\"
width=
\"
$w
\"
y=
\"
$y
\"
height=
\"
145
\"
style=
\"
$style
\"
/>
\n
";
if
(
$duration
>=
$threshold2
)
{
print
"
<
text transform=
\"
translate(
$s2
,
$y2
) rotate(90)
\"
>
$key
</text
>
\n
";
if
(
$type
{
$key
}
==
1
)
{
$y
=
$y
+
15
;
print
"
<
rect x=
\"
$s
\"
width=
\"
$w
\"
y=
\"
$y
\"
height=
\"
115
\"
style=
\"
$style_wait
\"
/
>
\n
";
}
else
{
print
"
<text transform=
\"
translate(
$s3
,
$y2
) rotate(90)
\"
font-size=
\"
3pt
\"
>
$key
</text>
\n
";
print
"
<rect x=
\"
$s
\"
width=
\"
$w
\"
y=
\"
$y
\"
height=
\"
145
\"
style=
\"
$style
\"
/>
\n
";
if
(
$duration
>=
$threshold2
)
{
print
"
<text transform=
\"
translate(
$s2
,
$y2
) rotate(90)
\"
>
$key
</text>
\n
";
}
else
{
print
"
<text transform=
\"
translate(
$s3
,
$y2
) rotate(90)
\"
font-size=
\"
3pt
\"
>
$key
</text>
\n
";
}
}
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录