1<!DOCTYPE html> 2<html> 3<head> 4 <!-- 5 * Author: -10 6 --> 7 <meta charset="utf-8" /> 8 <title>-10</title> 9 <meta name="author" content="-10" /> 10 <meta name="renderer" content="webkit"> 11 <meta name="description" content="-10's Blog" /> 12 <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"> 13 <link rel="stylesheet" href="/css/default.css" type="text/css" /> 14 <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" /> 15 <link rel="alternate" type="application/atom+xml" title="Recent Entries" href="/atom.xml" /> 16
16<script src="/js/jquery-1.7.1.min.js" type="text/javascript"></script>
16 17
17<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-1327353018580905" crossorigin="anonymous"></script>
17 18</head>
19<script>
vendor: 344 bytes, lines 19-25
19 20 (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 21 (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 22 m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 23 })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); 24 25 ga('create', '
25UA-58196609-1
vendor: 41 bytes, lines 25-28
25', 'auto'); 26 ga('send', 'pageview'); 27 28
28</script>
28 29<body> 30 31 <div class="home-menu"> 32 <div class="home-icon-con"> 33 <a class="home-menu-icon" href="/">-10</a> 34 <a class="home-follow" href="#" title="Contact Me">+</a> 35 </div> 36 <div class="home-contact"> 37 <a href="http://hushi55.github.io/" target="_blank" style="margin-left:5px;"><img src="http://www.weibo.com/favicon.ico" alt="" width="25"/></a> 38 <a href="http://hushi55.github.io/" target="_blank" style="text-align:center;"><img src="http://www.douban.com/favicon.ico" alt="" width="22"/></a> 39 <a href="/atom.xml" target="_blank" style="text-align:right;margin-right:5px;"><img src="/images/msqq_rss.ico" alt="" width="22"/></a> 40 </div> 41 </div> 42 43 <div class="index-content opinion"> 44 <div class="section"> 45 <ul class="artical-cate"> 46 <li><a href="/"><span>Blog</span></a></li> 47 <li class="on" style="text-align:center"><a href="/code"><span>Code</span></a></li> 48 <li style="text-align:right"><a href="/life"><span>Life</span></a></li> 49 </ul> 50 51 <div class="cate-bar"><span id="cateBar"></span></div> 52 53 <ul class="artical-list"> 54 55 <li> 56 <h2> 57 <a href="/2021/11/24/golang-ebpf-issue">golang ebpf issues</a> 58 </h2> 59 <div class="title-desc">ä»ç» golang è¯è¨ä½¿ç¨ ebpf trace ä¸çåç§é®é¢åè§£å³æ¹æ¡</div> 60 </li> 61 62 <li> 63 <h2> 64 <a href="/2021/05/19/trampoline-introduction">trampoline introduction</a> 65 </h2> 66 <div class="title-desc">trampoline ææ¯ä»ç»</div> 67 </li> 68 69 <li> 70 <h2> 71 <a href="/2021/05/18/User-Space-Probes">User-Space Probes</a> 72 </h2> 73 <div class="title-desc">Uprobes ä»ç»</div> 74 </li> 75 76 <li> 77 <h2> 78 <a href="/2021/05/06/eBPF-Updates-5">ebpf 仿¥å¤´æ¡ 5</a> 79 </h2> 80 <div class="title-desc">ebpf ææ°çç¹æ§å kernel æ·»å ç epbf ç¹æ§</div> 81 </li> 82 83 <li> 84 <h2> 85 <a href="/2021/04/26/eBPF-Updates-4">ebpf 仿¥å¤´æ¡ 4</a> 86 </h2> 87 <div class="title-desc">ebpf ææ°çç¹æ§å kernel æ·»å ç epbf ç¹æ§</div> 88 </li> 89 90 <li> 91 <h2> 92 <a href="/2021/04/25/eBPF-Updates-3">ebpf 仿¥å¤´æ¡ 3</a> 93 </h2> 94 <div class="title-desc">ebpf ææ°çç¹æ§å kernel æ·»å ç epbf ç¹æ§</div> 95 </li> 96 97 <li> 98 <h2> 99 <a href="/2021/04/24/eBPF-Updates-2">ebpf 仿¥å¤´æ¡ 2</a> 100 </h2> 101 <div class="title-desc">ebpf ææ°çç¹æ§å kernel æ·»å ç epbf ç¹æ§</div> 102 </li> 103 104 <li> 105 <h2> 106 <a href="/2021/04/23/eBPF-Updates-1">ebpf 仿¥å¤´æ¡ 1</a> 107 </h2> 108 <div class="title-desc">ebpf ææ°çç¹æ§å kernel æ·»å ç epbf ç¹æ§</div> 109 </li> 110 111 <li> 112 <h2> 113 <a href="/2021/04/22/ebpf-modify-golang-args">ebpf ä¿®æ¹golang 彿°åæ°</a> 114 </h2> 115 <div class="title-desc">ä½¿ç¨ ebpf ä¿®æ¹ golang 彿°çå ¥ååè¿åå¼</div> 116 </li> 117 118 <li> 119 <h2> 120 <a href="/2021/04/21/Go-internal-memory-layout">Go internal memory layout</a> 121 </h2> 122 <div class="title-desc">golang internal memory layout å®éª</div> 123 </li> 124 125 <li> 126 <h2> 127 <a href="/2021/04/19/Go-internal-ABI-specification">Go internal ABI specification</a> 128 </h2> 129 <div class="title-desc">golang ABI ç¸å ³ç 读</div> 130 </li> 131 132 <li> 133 <h2>
134 <a href="/2021/04/02/ebpf-introduction-2">ebpf ä»ç» 2</a> 135 </h2> 136 <div class="title-desc">linux ebpf ç¸å ³ä»ç»</div> 137 </li> 138 139 <li> 140 <h2> 141 <a href="/2021/04/01/ebpf-introduction-1">ebpf ä»ç» 1</a> 142 </h2> 143 <div class="title-desc">linux ebpf ç¸å ³ä»ç»</div> 144 </li> 145 146 <li> 147 <h2> 148 <a href="/2018/01/25/iptables-debugging">wireshark ssl</a> 149 </h2> 150 <div class="title-desc">wireshark decrypt ssl traffic</div> 151 </li> 152 153 <li> 154 <h2> 155 <a href="/2017/09/07/wireshark-decrypt-ssl-traffic">Golang Netlink</a> 156 </h2> 157 <div class="title-desc">Golang Netlink</div> 158 </li> 159 160 <li> 161 <h2> 162 <a href="/2017/09/07/golang-netlink-2">Golang Netlink</a> 163 </h2> 164 <div class="title-desc">Golang Netlink</div> 165 </li> 166 167 <li> 168 <h2> 169 <a href="/2017/08/11/golang-netlink">Golang æºç åæ - memory</a> 170 </h2> 171 <div class="title-desc">Goroutine memory</div> 172 </li> 173 174 <li> 175 <h2> 176 <a href="/2017/07/19/cgroup">Golang æºç åæ - memory</a> 177 </h2> 178 <div class="title-desc">Goroutine memory</div> 179 </li> 180 181 <li> 182 <h2> 183 <a href="/2017/05/24/Golang-memory">Golang æºç åæ - memory</a> 184 </h2> 185 <div class="title-desc">Goroutine memory</div> 186 </li> 187 188 <li> 189 <h2> 190 <a href="/2017/05/23/Golang-coredump">Golang æºç åæ - coredump</a> 191 </h2> 192 <div class="title-desc">Goroutine coredump</div> 193 </li> 194 195 <li> 196 <h2> 197 <a href="/2017/05/10/Golang-function-call">Golang æºç åæ</a> 198 </h2> 199 <div class="title-desc">Goroutine æºç åæ-éè¦å½æ°åæ</div> 200 </li> 201 202 <li> 203 <h2> 204 <a href="/2017/04/29/Golang-Scheduled-Summary">Golang æºç åæ - æ»ç»</a> 205 </h2> 206 <div class="title-desc">Goroutine æºç åæ - æ»ç»</div> 207 </li> 208 209 <li> 210 <h2> 211 <a href="/2017/04/20/Golang-lock">Golang æºç åæ - lock</a> 212 </h2> 213 <div class="title-desc">Goroutine æºç åæ - lock</div> 214 </li> 215 216 <li> 217 <h2> 218 <a href="/2017/04/19/Golang-Channel">Golang æºç åæ - channel</a> 219 </h2> 220 <div class="title-desc">Goroutine æºç åæ - channel</div> 221 </li> 222 223 <li> 224 <h2> 225 <a href="/2017/04/11/Golang-Network">Golang æºç åæ - network</a> 226 </h2> 227 <div class="title-desc">Goroutine æºç åæ - network</div> 228 </li> 229 230 <li> 231 <h2> 232 <a href="/2017/04/10/Golang-Syscall">Golang æºç åæ - syscall</a> 233 </h2> 234 <div class="title-desc">Goroutine æºç åæ - syscall</div> 235 </li> 236 237 <li> 238 <h2> 239 <a href="/2017/04/09/Golang-Goroutine">Golang æºç åæ - goroutine</a> 240 </h2> 241 <div class="title-desc">Goroutine æºç åæ - goroutine</div> 242 </li> 243 244 <li> 245 <h2> 246 <a href="/2017/04/08/Golang-sched">Golang æºç åæ - è°åº¦å¨çå®ç°åæ</a> 247 </h2> 248 <div class="title-desc">Golang è°åº¦å¨çå®ç°åæ</div> 249 </li> 250 251 <li> 252 <h2> 253 <a href="/2016/04/01/DPDK-Overview">DPDK Overview</a> 254 </h2> 255 <div class="title-desc">å®ç° Maglev åæºæ§è½çå·¥å ·ï¼DPDK</div> 256 </li> 257 258 <li> 259 <h2> 260 <a href="/2016/03/31/Google's-Maglev-analysis">Google's Maglev analysis</a> 261 </h2> 262 <div class="title-desc">Google's Maglev åå¸å¼è´è½½åè¡¡å¨ç§å¯çåæ</div> 263 </li> 264 265 <li> 266 <h2> 267 <a href="/2016/02/02/linux-IO-stack-03">Linux IO Stack ç³»å 03</a> 268 </h2> 269 <div class="title-desc">Linux IO æ ç³»åæç« 第ä¸ç¯</div> 270 </li> 271 272 <li> 273 <h2> 274 <a href="/2016/02/02/linux-IO-stack-02">
274Linux IO Stack ç³»å 02</a> 275 </h2> 276 <div class="title-desc">Linux IO æ ç³»åæç« 第äºç¯</div> 277 </li> 278 279 <li> 280 <h2> 281 <a href="/2016/02/01/linux-IO-stack-01">Linux IO Stack ç³»å 01</a> 282 </h2> 283 <div class="title-desc">Linux IO æ ç³»åæç« 第ä¸ç¯</div> 284 </li> 285 286 <li> 287 <h2> 288 <a href="/2016/01/28/linux-network-stack-02">Linux Network Stack ç³»å 02</a> 289 </h2> 290 <div class="title-desc">Linux ç½ç»æ ç³»åæç« 第äºç¯</div> 291 </li> 292 293 <li> 294 <h2> 295 <a href="/2016/01/27/linux-network-stack-01">Linux Network Stack ç³»å 01</a> 296 </h2> 297 <div class="title-desc">Linux ç½ç»æ ç³»åæç« 第ä¸ç¯</div> 298 </li> 299 300 <li> 301 <h2> 302 <a href="/2015/12/08/golang-G-P-M">Golang scheduler</a> 303 </h2> 304 <div class="title-desc">Golang å¹¶åè°åº¦ï¼G, P, M 模å</div> 305 </li> 306 307 <li> 308 <h2> 309 <a href="/2015/12/04/golang-memory-malloc">Golang memory malloc</a> 310 </h2> 311 <div class="title-desc">Golang æºç åæå 忍¡åï¼å ååé </div> 312 </li> 313 314 <li> 315 <h2> 316 <a href="/2015/11/19/golang-learn">Golang</a> 317 </h2> 318 <div class="title-desc">Golang learn 系类</div> 319 </li> 320 321 <li> 322 <h2> 323 <a href="/2015/11/03/linux-net-system-call">linux net</a> 324 </h2> 325 <div class="title-desc">linux net stack ç¸å ³çç³»ç»è°ç¨è§£é</div> 326 </li> 327 328 <li> 329 <h2> 330 <a href="/2015/10/28/linux-ftrace">linux ftrace</a> 331 </h2> 332 <div class="title-desc">linux ftrace å·¥å ·ä»ç»å使ç¨</div> 333 </li> 334 335 <li> 336 <h2> 337 <a href="/2015/10/27/linux-perf">linux perf</a> 338 </h2> 339 <div class="title-desc">linux perf å·¥å ·ä»ç»å使ç¨</div> 340 </li> 341 342 <li> 343 <h2> 344 <a href="/2015/10/22/linux-network-stack">linux network stack</a> 345 </h2> 346 <div class="title-desc">linux network stack ä»ç»</div> 347 </li> 348 349 <li> 350 <h2> 351 <a href="/2015/10/21/linux-interrupt">linux interrupt</a> 352 </h2> 353 <div class="title-desc">linux interrupt ä»ç»</div> 354 </li> 355 356 <li> 357 <h2> 358 <a href="/2015/10/20/systemtap-tutorial">systemtap</a> 359 </h2> 360 <div class="title-desc">systemtap ä»ç»</div> 361 </li> 362 363 <li> 364 <h2> 365 <a href="/2015/10/20/linux-trace">linux trace</a> 366 </h2> 367 <div class="title-desc">linux trace æ»ä½ä»ç»</div> 368 </li> 369 370 <li> 371 <h2> 372 <a href="/2015/10/19/linux-kernel-vfs">vfs</a> 373 </h2> 374 <div class="title-desc">linux kernel ç³»åä¹ vfs</div> 375 </li> 376 377 <li> 378 <h2> 379 <a href="/2015/10/16/block-input-output">block input output</a> 380 </h2> 381 <div class="title-desc">linux kernel ç³»åä¹ block IO</div> 382 </li> 383 384 <li> 385 <h2> 386 <a href="/2015/10/15/kernel-page-fault">page fault</a> 387 </h2> 388 <div class="title-desc">linux page fault çåç§é误类å</div> 389 </li> 390 391 <li> 392 <h2> 393 <a href="/2015/08/18/github-blog">github blogs</a> 394 </h2> 395 <div class="title-desc">ä½¿ç¨ github ä½ä¸º blog ç«ç¹</div> 396 </li> 397 398 <li> 399 <h2> 400 <a href="/2015/08/17/vector-install">vector install</a> 401 </h2> 402 <div class="title-desc">Netflix æ§è½çæ§ç³»ç» vector çå®è£ </div> 403 </li> 404 405 <li> 406 <h2> 407 <a href="/2015/08/13/TIME_WAIT_analyze">TCP ç¶æ TIME_WAIT åæ</a> 408 </h2> 409 <div class="title-desc">æå¡å¨å¤§é TIME_WAIT ç¶æé®é¢åæåè§£å³</div> 410 </li> 411 412 <li> 413 <h2> 414 <a href="/2015/07/29/lucene-index-file-format">Lucene index file format</a> 415 </h2> 416 <div class="title-desc">Lucene5.0 ç´¢å¼æ ¼å¼</div> 417 </li> 418 419 <li> 420 <h2> 421 <a href="/2015/04/15/linux-virtual-mrmory-layout">linux virtual memory layout</a> 422 </h2> 423 <div class="title-desc">linux èæå åå¸å±å¾</div> 424 </li> 425 426 <li> 427 <h2> 428 <a href="/2015/03/16/linux-kernel-compile">linux kernel compile</a> 429 </h2> 430 <div class="title-desc">linux å æ ¸ç¼è¯</div> 431 </li> 432 433 <li> 434 <h2> 435 <a href="/2015/03/13/linux-perf-events-map">linux perf events map</a> 436 </h2> 437 <div class="title-desc">linux perf è°è¯å·¥å ·å¯¼èªå¾</div> 438 </li> 439 440 <li> 441 <h2> 442 <a href="/2015/03/11/linux-observability-tools">linux observability tools</a> 443 </h2> 444 <div class="title-desc">linux çåç§è°è¯å·¥å ·</div> 445 </li> 446 447 <li> 448 <h2> 449 <a href="/2015/02/28/sql-joins">sql joins</a> 450 </h2> 451 <div class="title-desc">å个 sql join çå«ä¹ååæ³</div> 452 </li> 453 454 <li> 455 <h2> 456 <a href="/2015/02/04/tcpdump-wireshark">tcpdump å wireshark èåè°è¯é®é¢</a> 457 </h2> 458 <div class="title-desc">ä½¿ç¨ solr æ¶ä½¿ç¨ç½é¡µå java client è°ç¨ç»æä¸åçé®é¢åæä¸è§£å³</div> 459 </li> 460 461 <li> 462 <h2> 463 <a href="/2015/02/01/linux-kernel-ctl_table">linux kernel ç³»å - ctl_table</a> 464 </h2> 465 <div class="title-desc">linux kernel ctl_table è§£é</div> 466 </li> 467 468 <li> 469 <h2> 470 <a href="/2015/01/30/lucene-tools">lucene tools</a> 471 </h2> 472 <div class="title-desc">è®°å½ lucene çä¸äºå·¥å ·</div> 473 </li> 474 475 <li> 476 <h2> 477 <a href="/2015/01/29/epoll-level-and-edga-triggered">epoll level and edga trigggered</a> 478 </h2> 479 <div class="title-desc">epoll æ°´å¹³åè¾¹ç¼è§¦å模å¼è§£é</div> 480 </li> 481 482 <li> 483 <h2> 484 <a href="/2015/01/28/liunx-epoll-example">linux epoll example</a> 485 </h2> 486 <div class="title-desc">linux ä¸ epoll çä¸ä¸ª code example</div> 487 </li> 488 489 <li> 490 <h2> 491 <a href="/2015/01/27/nginx-debug-tools">nginx debug tools</a> 492 </h2> 493 <div class="title-desc">æ¶éä¸äº nginx å¼å使ç¨å°ç debug å·¥å ·</div> 494 </li> 495 496 <li> 497 <h2> 498 <a href="/2015/01/27/linux-systemtap-install">liunx systemtap install</a> 499 </h2> 500 <div class="title-desc">liunx systemtap install éå°ä¸äºé®é¢</div> 501 </li> 502 503 <li> 504 <h2> 505 <a href="/2015/01/25/nginx-buf">nginx ngx_buf_t</a> 506 </h2> 507 <div class="title-desc">nginx ngx_buf_t æ°æ®ç»æåæ</div> 508 </li> 509 510 <li> 511 <h2> 512 <a href="/2015/01/24/nginx-slab">nginxçslab</a> 513 </h2> 514 <div class="title-desc">nginxçslabçå åç®¡çæ¹å¼æºç åæ</div> 515 </li> 516 517 <li> 518 <h2> 519 <a href="/2015/01/24/nginx-request-limit-module">req_limit module æºç åæ</a> 520 </h2> 521 <div class="title-desc">nginx request limit module æºç åç®æ³åæ</div> 522 </li> 523 524 <li> 525 <h2> 526 <a href="/2015/01/23/nginx-shared-memory">nginx shared memory</a> 527 </h2> 528 <div class="title-desc">nginx shared memory ç¨æ³</div> 529 </li> 530 531 <li> 532 <h2> 533 <a href="/2015/01/22/linux-strace">linux ä¸ Salt å½ä»¤çç龿ç</a> 534 </h2> 535 <div class="title-desc">ä½¿ç¨ SaltStack Salt å½ä»¤æ¶é´å¾é¿çé®é¢è§£å³</div> 536 </li> 537 538 <li> 539 <h2> 540 <a href="/2015/01/20/nginx-pool">
540nginx pool</a> 541 </h2> 542 <div class="title-desc">nginx å åæ± ç ç©¶</div> 543 </li> 544 545 <li> 546 <h2> 547 <a href="/2015/01/14/vim">vim ç使ç¨</a> 548 </h2> 549 <div class="title-desc">Linux ä¸ C è¯è¨ç¼ç¨ä½¿ç¨çå°ç vim ä¸äºæå·§</div> 550 </li> 551 552 <li> 553 <h2> 554 <a href="/2015/01/14/linux-fork">linux ä¸ fork</a> 555 </h2> 556 <div class="title-desc">linux ä¸ fork ç使ç¨å fork çä¸äºé®é¢è§£ç</div> 557 </li> 558 559 <li> 560 <h2> 561 <a href="/2015/01/13/nginx-handler">nginx module å®è·µ</a> 562 </h2> 563 <div class="title-desc">nginx module çåæ³</div> 564 </li> 565 566 <li> 567 <h2> 568 <a href="/2015/01/13/gcc-asm">gcc ä¸ä½¿ç¨æ±ç¼</a> 569 </h2> 570 <div class="title-desc">gcc ä¸ä½¿ç¨æ±ç¼</div> 571 </li> 572 573 <li> 574 <h2> 575 <a href="/2015/01/08/vmstat">vmstat 详解</a> 576 </h2> 577 <div class="title-desc">linux vmstat field è§£é</div> 578 </li> 579 580 <li> 581 <h2> 582 <a href="/2015/01/08/context-switch">context switch ç ç©¶</a> 583 </h2> 584 <div class="title-desc">context switch å cpu affinity</div> 585 </li> 586 587 <li> 588 <h2> 589 <a href="/2015/01/07/false-sharing">false sharing ç ç©¶</a> 590 </h2> 591 <div class="title-desc">cpu cacheline ç ç©¶</div> 592 </li> 593 594 <li> 595 <h2> 596 <a href="/2015/01/06/cpul1-cache-miss">cpu L1 级 cache miss ç ç©¶</a> 597 </h2> 598 <div class="title-desc">cpu å é¨ç»æç ç©¶</div> 599 </li> 600 601 <li> 602 <h2> 603 <a href="/2015/01/05/volatile-assembly">Java volatile æ±ç¼ä»£ç ç ç©¶</a> 604 </h2> 605 <div class="title-desc">éè¿ volatile çæ±ç¼ä»£ç ç ç©¶ JVM å 忍¡å</div> 606 </li> 607 608 </ul> 609 </div> 610 <div class="aside"> 611 </div> 612</div> 613 614
615<script type="text/javascript"> 616 $(function(){ 617 function animateBar($item,noAni){ 618 var spanLeft = $item.find('span').offset().left; 619 var conLeft = $item.parent().offset().left; 620 var left = spanLeft - conLeft; 621 var width = $item.find('span').width() + 8; 622 623 if(noAni){ 624 $('#cateBar').css({left:left,width:width}) 625 }else{ 626 $('#cateBar').stop().animate({left:left,width:width},300) 627 } 628 } 629 630 var waitForFinalEvent = (function () { 631 var timers = {}; 632 return function (callback, ms, uniqueId) { 633 if (!uniqueId) { 634 uniqueId = "Don't call this twice without a uniqueId"; 635 } 636 if (timers[uniqueId]) { 637 clearTimeout (timers[uniqueId]); 638 } 639 timers[uniqueId] = setTimeout(callback, ms); 640 }; 641 })(); 642 643 $('.artical-cate li').mouseenter(function(){ 644 animateBar($(this)); 645 }).mouseleave(function(){ 646 animateBar($('.artical-cate .on')); 647 }); 648 649 $(window).resize(function(e){ 650 waitForFinalEvent(function(){ 651 animateBar($('.artical-cate .on')); 652 }) 653 }) 654 animateBar($('.artical-cate .on'),true); 655 }); 656</script>
656 657 658 659
659<script type="text/javascript"> 660 $(function(){ 661 $('.home-follow').click(function(e){ 662 e.preventDefault(); 663 664 if($('.home-contact').is(':visible')){ 665 $('.home-contact').slideUp(100, function(){ 666 $('.home-contact').height('18px'); 667 }); 668 }else{ 669 $('.home-contact').slideDown(100, function(){ 670 $('.home-contact').height('18px'); 671 }); 672 } 673 }); 674 }); 675 </script>
675 676</body> 677</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.