| .. | .. |
|---|
| 321 | 321 | long x; |
|---|
| 322 | 322 | long t; |
|---|
| 323 | 323 | |
|---|
| 324 | | - preempt_disable_rt(); |
|---|
| 325 | 324 | x = delta + __this_cpu_read(*p); |
|---|
| 326 | 325 | |
|---|
| 327 | 326 | t = __this_cpu_read(pcp->stat_threshold); |
|---|
| .. | .. |
|---|
| 331 | 330 | x = 0; |
|---|
| 332 | 331 | } |
|---|
| 333 | 332 | __this_cpu_write(*p, x); |
|---|
| 334 | | - preempt_enable_rt(); |
|---|
| 335 | 333 | } |
|---|
| 336 | 334 | EXPORT_SYMBOL(__mod_zone_page_state); |
|---|
| 337 | 335 | |
|---|
| .. | .. |
|---|
| 348 | 346 | delta >>= PAGE_SHIFT; |
|---|
| 349 | 347 | } |
|---|
| 350 | 348 | |
|---|
| 351 | | - preempt_disable_rt(); |
|---|
| 352 | 349 | x = delta + __this_cpu_read(*p); |
|---|
| 353 | 350 | |
|---|
| 354 | 351 | t = __this_cpu_read(pcp->stat_threshold); |
|---|
| .. | .. |
|---|
| 358 | 355 | x = 0; |
|---|
| 359 | 356 | } |
|---|
| 360 | 357 | __this_cpu_write(*p, x); |
|---|
| 361 | | - preempt_enable_rt(); |
|---|
| 362 | 358 | } |
|---|
| 363 | 359 | EXPORT_SYMBOL(__mod_node_page_state); |
|---|
| 364 | 360 | |
|---|
| .. | .. |
|---|
| 391 | 387 | s8 __percpu *p = pcp->vm_stat_diff + item; |
|---|
| 392 | 388 | s8 v, t; |
|---|
| 393 | 389 | |
|---|
| 394 | | - preempt_disable_rt(); |
|---|
| 395 | 390 | v = __this_cpu_inc_return(*p); |
|---|
| 396 | 391 | t = __this_cpu_read(pcp->stat_threshold); |
|---|
| 397 | 392 | if (unlikely(v > t)) { |
|---|
| .. | .. |
|---|
| 400 | 395 | zone_page_state_add(v + overstep, zone, item); |
|---|
| 401 | 396 | __this_cpu_write(*p, -overstep); |
|---|
| 402 | 397 | } |
|---|
| 403 | | - preempt_enable_rt(); |
|---|
| 404 | 398 | } |
|---|
| 405 | 399 | |
|---|
| 406 | 400 | void __inc_node_state(struct pglist_data *pgdat, enum node_stat_item item) |
|---|
| .. | .. |
|---|
| 411 | 405 | |
|---|
| 412 | 406 | VM_WARN_ON_ONCE(vmstat_item_in_bytes(item)); |
|---|
| 413 | 407 | |
|---|
| 414 | | - preempt_disable_rt(); |
|---|
| 415 | 408 | v = __this_cpu_inc_return(*p); |
|---|
| 416 | 409 | t = __this_cpu_read(pcp->stat_threshold); |
|---|
| 417 | 410 | if (unlikely(v > t)) { |
|---|
| .. | .. |
|---|
| 420 | 413 | node_page_state_add(v + overstep, pgdat, item); |
|---|
| 421 | 414 | __this_cpu_write(*p, -overstep); |
|---|
| 422 | 415 | } |
|---|
| 423 | | - preempt_enable_rt(); |
|---|
| 424 | 416 | } |
|---|
| 425 | 417 | |
|---|
| 426 | 418 | void __inc_zone_page_state(struct page *page, enum zone_stat_item item) |
|---|
| .. | .. |
|---|
| 441 | 433 | s8 __percpu *p = pcp->vm_stat_diff + item; |
|---|
| 442 | 434 | s8 v, t; |
|---|
| 443 | 435 | |
|---|
| 444 | | - preempt_disable_rt(); |
|---|
| 445 | 436 | v = __this_cpu_dec_return(*p); |
|---|
| 446 | 437 | t = __this_cpu_read(pcp->stat_threshold); |
|---|
| 447 | 438 | if (unlikely(v < - t)) { |
|---|
| .. | .. |
|---|
| 450 | 441 | zone_page_state_add(v - overstep, zone, item); |
|---|
| 451 | 442 | __this_cpu_write(*p, overstep); |
|---|
| 452 | 443 | } |
|---|
| 453 | | - preempt_enable_rt(); |
|---|
| 454 | 444 | } |
|---|
| 455 | 445 | |
|---|
| 456 | 446 | void __dec_node_state(struct pglist_data *pgdat, enum node_stat_item item) |
|---|
| .. | .. |
|---|
| 461 | 451 | |
|---|
| 462 | 452 | VM_WARN_ON_ONCE(vmstat_item_in_bytes(item)); |
|---|
| 463 | 453 | |
|---|
| 464 | | - preempt_disable_rt(); |
|---|
| 465 | 454 | v = __this_cpu_dec_return(*p); |
|---|
| 466 | 455 | t = __this_cpu_read(pcp->stat_threshold); |
|---|
| 467 | 456 | if (unlikely(v < - t)) { |
|---|
| .. | .. |
|---|
| 470 | 459 | node_page_state_add(v - overstep, pgdat, item); |
|---|
| 471 | 460 | __this_cpu_write(*p, overstep); |
|---|
| 472 | 461 | } |
|---|
| 473 | | - preempt_enable_rt(); |
|---|
| 474 | 462 | } |
|---|
| 475 | 463 | |
|---|
| 476 | 464 | void __dec_zone_page_state(struct page *page, enum zone_stat_item item) |
|---|