lock: sem: add other __down variants in scan.#71
Merged
Conversation
I am seeing call stacks like ones shown below are getting missed by scan_sem_lock. PID: 1174 TASK: ffff953cfc723100 CPU: 2 COMMAND: sem_waiter #0 [ffffb902c05cbda0] __schedule at ffffffff86f7a86b #1 [ffffb902c05cbe28] schedule at ffffffff86f7ad9d #2 [ffffb902c05cbe38] schedule_timeout at ffffffff86f7d94d #3 [ffffb902c05cbe98] __down_killable at ffffffff86f7ccb6 #4 [ffffb902c05cbee0] down_killable at ffffffff8668d69d PID: 1181 TASK: ffff99c2bc6a6e40 CPU: 1 COMMAND: sem_waiter #0 [ffffa3780060bda0] __schedule at ffffffffbb77a86b #1 [ffffa3780060be28] schedule at ffffffffbb77ad9d #2 [ffffa3780060be38] schedule_timeout at ffffffffbb77d8df #3 [ffffa3780060be98] __down_timeout at ffffffffbb77cdc4 #4 [ffffa3780060bee0] down_timeout at ffffffffbae8d740 PID: 1175 TASK: ffff96c3fc5a55c0 CPU: 1 COMMAND: sem_waiter #0 [ffff9f35c0543da0] __schedule at ffffffff82b7a86b #1 [ffff9f35c0543e28] schedule at ffffffff82b7ad9d #2 [ffff9f35c0543e38] schedule_timeout at ffffffff82b7d94d #3 [ffff9f35c0543e98] __down_interruptible at ffffffff82b7cef6 #4 [ffff9f35c0543ee0] down_interruptible at ffffffff8228d7dd down_interruptible and down_timeout are fairly common interfaces, especially in device drivers. down_killable is not that common, so can be removed if don't deem it important enough for an extra scan. Signed-off-by: Imran Khan <imran.f.khan@oracle.com>
Contributor
Author
|
I am also working to add some fallback mechanism if frame['var'] method, currently being used, fails. But we still need to trap these interfaces before we can check the stack frames. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I am seeing call stacks like ones shown below are getting missed by scan_sem_lock.
PID: 1174 TASK: ffff953cfc723100 CPU: 2 COMMAND: sem_waiter
#0 [ffffb902c05cbda0] __schedule at ffffffff86f7a86b
#1 [ffffb902c05cbe28] schedule at ffffffff86f7ad9d
#2 [ffffb902c05cbe38] schedule_timeout at ffffffff86f7d94d
#3 [ffffb902c05cbe98] __down_killable at ffffffff86f7ccb6
#4 [ffffb902c05cbee0] down_killable at ffffffff8668d69d
PID: 1181 TASK: ffff99c2bc6a6e40 CPU: 1 COMMAND: sem_waiter
#0 [ffffa3780060bda0] __schedule at ffffffffbb77a86b
#1 [ffffa3780060be28] schedule at ffffffffbb77ad9d
#2 [ffffa3780060be38] schedule_timeout at ffffffffbb77d8df
#3 [ffffa3780060be98] __down_timeout at ffffffffbb77cdc4
#4 [ffffa3780060bee0] down_timeout at ffffffffbae8d740
PID: 1175 TASK: ffff96c3fc5a55c0 CPU: 1 COMMAND: sem_waiter
#0 [ffff9f35c0543da0] __schedule at ffffffff82b7a86b
#1 [ffff9f35c0543e28] schedule at ffffffff82b7ad9d
#2 [ffff9f35c0543e38] schedule_timeout at ffffffff82b7d94d
#3 [ffff9f35c0543e98] __down_interruptible at ffffffff82b7cef6
#4 [ffff9f35c0543ee0] down_interruptible at ffffffff8228d7dd
down_interruptible and down_timeout are fairly common interfaces, especially in device drivers.
down_killable is not that common, so can be removed if don't deem it important enough for an extra scan.