Is __alloc_pages_slowpath () Reentrant-Safe or Not?

Can the __alloc_pages_slowpath () call survive a device interrupt that also calls the __alloc_pages_slowpath () call, or does the second call damage the first?

I see a read (2) program call to a regular file in the XFS file system. A trace of the kernel stack indicates that __alloc_pages_slowpath () is ultimately called, then an IRQ e1000e occurs, which also ultimately calls __alloc_pages_slowpath (), and then the message in the log "fooprog: page failure: order: 0, mode: 0x4020" almost immediately it happens.

Here you can see the entire stack trace: https://gist.github.com/790577

+3
source share
1 answer

"fooprog: : : 0, : 0x4020" - e1000e. vm.min_free_kbytes . __alloc_pages_slowpath(), , .

: (1) " ", , Linux, , . (2) - , , , . KVM/qemu , VM . (3) Linux, , .

+1

Source: https://habr.com/ru/post/1787031/


All Articles