| .. | .. |
|---|
| 320 | 320 | long x; |
|---|
| 321 | 321 | long t; |
|---|
| 322 | 322 | |
|---|
| 323 | + preempt_disable_rt(); |
|---|
| 323 | 324 | x = delta + __this_cpu_read(*p); |
|---|
| 324 | 325 | |
|---|
| 325 | 326 | t = __this_cpu_read(pcp->stat_threshold); |
|---|
| .. | .. |
|---|
| 329 | 330 | x = 0; |
|---|
| 330 | 331 | } |
|---|
| 331 | 332 | __this_cpu_write(*p, x); |
|---|
| 333 | + preempt_enable_rt(); |
|---|
| 332 | 334 | } |
|---|
| 333 | 335 | EXPORT_SYMBOL(__mod_zone_page_state); |
|---|
| 334 | 336 | |
|---|
| .. | .. |
|---|
| 340 | 342 | long x; |
|---|
| 341 | 343 | long t; |
|---|
| 342 | 344 | |
|---|
| 345 | + preempt_disable_rt(); |
|---|
| 343 | 346 | x = delta + __this_cpu_read(*p); |
|---|
| 344 | 347 | |
|---|
| 345 | 348 | t = __this_cpu_read(pcp->stat_threshold); |
|---|
| .. | .. |
|---|
| 349 | 352 | x = 0; |
|---|
| 350 | 353 | } |
|---|
| 351 | 354 | __this_cpu_write(*p, x); |
|---|
| 355 | + preempt_enable_rt(); |
|---|
| 352 | 356 | } |
|---|
| 353 | 357 | EXPORT_SYMBOL(__mod_node_page_state); |
|---|
| 354 | 358 | |
|---|
| .. | .. |
|---|
| 381 | 385 | s8 __percpu *p = pcp->vm_stat_diff + item; |
|---|
| 382 | 386 | s8 v, t; |
|---|
| 383 | 387 | |
|---|
| 388 | + preempt_disable_rt(); |
|---|
| 384 | 389 | v = __this_cpu_inc_return(*p); |
|---|
| 385 | 390 | t = __this_cpu_read(pcp->stat_threshold); |
|---|
| 386 | 391 | if (unlikely(v > t)) { |
|---|
| .. | .. |
|---|
| 389 | 394 | zone_page_state_add(v + overstep, zone, item); |
|---|
| 390 | 395 | __this_cpu_write(*p, -overstep); |
|---|
| 391 | 396 | } |
|---|
| 397 | + preempt_enable_rt(); |
|---|
| 392 | 398 | } |
|---|
| 393 | 399 | |
|---|
| 394 | 400 | void __inc_node_state(struct pglist_data *pgdat, enum node_stat_item item) |
|---|
| .. | .. |
|---|
| 397 | 403 | s8 __percpu *p = pcp->vm_node_stat_diff + item; |
|---|
| 398 | 404 | s8 v, t; |
|---|
| 399 | 405 | |
|---|
| 406 | + preempt_disable_rt(); |
|---|
| 400 | 407 | v = __this_cpu_inc_return(*p); |
|---|
| 401 | 408 | t = __this_cpu_read(pcp->stat_threshold); |
|---|
| 402 | 409 | if (unlikely(v > t)) { |
|---|
| .. | .. |
|---|
| 405 | 412 | node_page_state_add(v + overstep, pgdat, item); |
|---|
| 406 | 413 | __this_cpu_write(*p, -overstep); |
|---|
| 407 | 414 | } |
|---|
| 415 | + preempt_enable_rt(); |
|---|
| 408 | 416 | } |
|---|
| 409 | 417 | |
|---|
| 410 | 418 | void __inc_zone_page_state(struct page *page, enum zone_stat_item item) |
|---|
| .. | .. |
|---|
| 425 | 433 | s8 __percpu *p = pcp->vm_stat_diff + item; |
|---|
| 426 | 434 | s8 v, t; |
|---|
| 427 | 435 | |
|---|
| 436 | + preempt_disable_rt(); |
|---|
| 428 | 437 | v = __this_cpu_dec_return(*p); |
|---|
| 429 | 438 | t = __this_cpu_read(pcp->stat_threshold); |
|---|
| 430 | 439 | if (unlikely(v < - t)) { |
|---|
| .. | .. |
|---|
| 433 | 442 | zone_page_state_add(v - overstep, zone, item); |
|---|
| 434 | 443 | __this_cpu_write(*p, overstep); |
|---|
| 435 | 444 | } |
|---|
| 445 | + preempt_enable_rt(); |
|---|
| 436 | 446 | } |
|---|
| 437 | 447 | |
|---|
| 438 | 448 | void __dec_node_state(struct pglist_data *pgdat, enum node_stat_item item) |
|---|
| .. | .. |
|---|
| 441 | 451 | s8 __percpu *p = pcp->vm_node_stat_diff + item; |
|---|
| 442 | 452 | s8 v, t; |
|---|
| 443 | 453 | |
|---|
| 454 | + preempt_disable_rt(); |
|---|
| 444 | 455 | v = __this_cpu_dec_return(*p); |
|---|
| 445 | 456 | t = __this_cpu_read(pcp->stat_threshold); |
|---|
| 446 | 457 | if (unlikely(v < - t)) { |
|---|
| .. | .. |
|---|
| 449 | 460 | node_page_state_add(v - overstep, pgdat, item); |
|---|
| 450 | 461 | __this_cpu_write(*p, overstep); |
|---|
| 451 | 462 | } |
|---|
| 463 | + preempt_enable_rt(); |
|---|
| 452 | 464 | } |
|---|
| 453 | 465 | |
|---|
| 454 | 466 | void __dec_zone_page_state(struct page *page, enum zone_stat_item item) |
|---|