cy
    @passerby:android的这个机制,比如上面的lowmem_minfree,是否可以用户通过sysfs动态调整?
    Linux vm运行参数之(二):OOM相关的参数  发表时间:2015-10-09 18:21
    ~零~
    一直想学习音频子系统,网上资料实在有点少,各路大神,有没有兴趣写下。。。
    留言板  发表时间:2015-10-09 13:54
    pgalxx
    @linuxer:敬您一点拨,完全理解了,之前掉进惯性思维以为栈回溯就肯定是需要执行的。谢谢哈
    Linux vm运行参数之(二):OOM相关的参数  发表时间:2015-10-08 21:33
    cy
    @wowo:看到一个commit id, 如果driver认为没有必要resume,那就跳过了, 还是跟driver的实现有关,就算system wide的suspend想把device放到D3,如果runtime suspend的设备是D2,并且设备的driver告诉pm core说,我在D2也没关系,那么pm core就会让设备留在D2。 commit aae4518b3124b29f8dc81c829c704fd2df72e98b Author: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Date: Fri May 16 02:46:50 2014 +0200 PM / sleep: Mechanism to avoid resuming runtime-suspended devices unnecessarily
    Linux电源管理(11)_Runtime PM之功能描述  发表时间:2015-10-08 20:24
    wowo
    @cy:呵呵,那些名字是我随便说的,只是为了说明其中的意义。
    Linux电源管理(11)_Runtime PM之功能描述  发表时间:2015-10-08 19:05
    cy
    @wowo:你指的是D0,D1...etc?
    Linux电源管理(11)_Runtime PM之功能描述  发表时间:2015-10-08 18:57
    linuxer
    @pga:大师是不敢当了,就是普通爱好者而已。 具体的调用顺序当然如你所说:首先执行sys_xxx函数,执行完毕之后,再调用ret_fast_syscall返回现场。 我看到你贴出来的栈的回溯也很正常: __schedule schedule_hrtimeout_range_clock SyS_epoll_wait SyS_epoll_pwait ret_fast_syscall 正常而言,kernel stack上的内容就是这样的啊,只不过SyS_epoll_pwait和ret_fast_syscall之间不是函数调用关系,也就是说不是先执行ret_fast_syscall再执行SyS_epoll_pwait,之所以kernel stack上的内容如此,主要是因为下面的代码: adr lr, BSYM(ret_fast_syscall) @ return address 这句代码模拟了一个从ret_fast_syscall到SyS_epoll_pwait的调用现场(因此栈的回溯看起来好象先调用了ret_fast_syscal),实际上这件事情从来没有发生过,这么做仅仅是为了完成SyS_epoll_pwait函数之后返回执行ret_fast_syscall。
    Linux vm运行参数之(二):OOM相关的参数  发表时间:2015-10-08 16:05
    pga
    hi linuxer: 请教你一个困扰我很久的问题,具体描述如下: 在系统调用的汇编部分有: ENTRY(vector_swi) ..... @ are we tracing syscalls? bne __sys_trace cmp scno, #NR_syscalls @ check upper syscall limit adr lr, BSYM(ret_fast_syscall) @ return address ldrcc pc, [tbl, scno, lsl #2] @ call sys_* routine ...... ENDPROC(vector_swi) 从这个汇编片段及注释可知,pc地址为sys_xx所指向的地址值,其返回lr为ret_fast_syscall,按这个我理解为:最先执行的应该是sys_xxx的函数,但实际上我看调用栈都是ret_fast_syscall为最先执行。如: [ 51.426327] [<c073fb0c>] (__schedule+0x37c/0x7c4) from [<c073f0f8>] (schedule_hrtimeout_range_clock+0x130/0x14c) [ 51.426343] [<c073f0f8>] (schedule_hrtimeout_range_clock+0x130/0x14c) from [<c0161c84>] (SyS_epoll_wait+0x304/0x458) [ 51.426357] [<c0161c84>] (SyS_epoll_wait+0x304/0x458) from [<c0161f0c>] (SyS_epoll_pwait+0x134/0x140) [ 51.426372] [<c0161f0c>] (SyS_epoll_pwait+0x134/0x140) from [<c000f300>] (ret_fast_syscall+0x0/0x30) 为何会这样呢?ret_fast_syscall不是lr的值吗?为何不是最先执行的是pc值而是lr值呢?期待大师的回复,谢谢!
    Linux vm运行参数之(二):OOM相关的参数  发表时间:2015-10-08 09:45
    passerby
    @linuxer:我猜测可能android认为发生do_page_fault时再进行oom已经太晚了,而是在swapd线程中增加了对内存监控的功能,当发现当前内存不够时主动的去杀掉从而释放内存。 static short lowmem_adj[6] = { 0, 1, 6, 12, }; static int lowmem_adj_size = 4; static int lowmem_minfree[6] = { 3 * 512, /* 6MB */ 2 * 1024, /* 8MB */ 4 * 1024, /* 16MB */ 16 * 1024, /* 64MB */ }; 从上面可以看出,当内存小于64M时,android会遍历进程oom_core > 12的所有进程,然后杀掉占有最多内存的进程。内存的紧张程度不同,android选择杀掉进程的oom_adj就不同。
    Linux vm运行参数之(二):OOM相关的参数  发表时间:2015-10-08 09:18
    passerby
    @linuxer:我猜测可能android认为发生do_page_fault时再进行oom已经太晚了,而是在swapd线程中增加了对内存监控的功能,当发现当前内存不够时主动的去杀掉从而释放内存。 static short lowmem_adj[6] = { 0, 1, 6, 12, }; static int lowmem_adj_size = 4; static int lowmem_minfree[6] = { 3 * 512, /* 6MB */ 2 * 1024, /* 8MB */ 4 * 1024, /* 16MB */ 16 * 1024, /* 64MB */ }; 从上面可以看出,当内存小于64M时,android会遍历进程oom_core > 12的所有进程,然后杀掉占有最多内存的进程。内存的紧张程度不同,android选择杀掉进程的oom_adj就不同。
    Linux vm运行参数之(二):OOM相关的参数  发表时间:2015-10-08 09:15

共7301条496/731上一页 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 下一页
Copyright @ 2013-2015 蜗窝科技 All rights reserved. Powered by emlog