Re: Early panic in msleep();
Re: Early panic in msleep();
- Subject: Re: Early panic in msleep();
- From: Jorgen Lundman <email@hidden>
- Date: Fri, 27 Jul 2018 09:32:57 +0900
- Autocrypt: addr=email@hidden; prefer-encrypt=mutual; keydata= xsDiBD2KhOgRBACHjaJI1Q5XudbpYACUeGAKFxsxhhg46svF6Y0HzzDP+ZMQENVGiqucma0H b/mY9knTJ5F+rQZO+LKG2T4oBH1VdznJkz28tkmZUXGCEmNOZ852Hb1fFRwnbngRylMq7cEV TgupfCWYbC6Qw7eKBlHWjlvFosn/r828j7STe0CtawCgsbMU6598cmwIvOXaSGuDHLnMzfED /0SVpaTDADGymmjZ/RUyl7wc0D/1Dd0N17kZzQuwXQtj0CWnGwC8XWEvYLdAwNoGmzkJgVg4 3l5JPo4Yeuj7hNayRCjQU6jvnSdj0AuItfuE76/YdSG/X+TWAdHsizXtdXxf6KrS5PSjWult b4yL2EoYkiN58SflRa287mwJxatpA/9/axDaElD8Ko4QsskT2FamKLms1clT8IcuN1JNP71h b4gG0sng8jIl534r3KucJjlYEIp6lL3jBD/lcNQqd+UXMsR7KKEuDvW/ZMzQdLMvpyRCN463 jzrclxG1rXuvyeSWKiOnQbcD5pwsff3xlbb3mMovkf6rbXxvZxQlfUAuRM0kSm9yZ2VuIEx1 bmRtYW4gPGx1bmRtYW5AbHVuZG1hbi5uZXQ+wlkEExECABkFAj2KhOgECwcDAgMVAgMDFgIB Ah4BAheAAAoJEPNmEmurHstLXGgAnA7x3Ipz89W9tWjeJZ3AeEF6DAX/AJ4+QReCt51Nnovp 3T17+gy+p91MEc7ATQQ9ioTpEAQA5omoMw1PE/2reQ96uhFr/eFtGEc6136juCE6Lbrrc52j /DwsB0s87miNKfBRUGKXaqLQmfPY9Qajz/MHUHQ9iOkpCGou8RNviJGKFup4qf/g1qzNQ9ud pgkTEc7qZ7qBWG5HcOoIAvM78qvKwV0Sedry6TpOaiWsuL1HWdSGXI8AAwcEALVHV3MQ+a5K vwhX8Pam52AnIEzcw3m7tcSoJikLZhR//spUaZ3++hN+NNlSxgnGJ+VWKyhxc+SA/IO32vFP rAS6HxyfdZtIKPXfwM/8HjTUa4n6DR8ChIrS43X6cz3TZCFVD9tYLLP5cKo6uuPBd807EQN+ GJAzER048LeRiWMNwkYEGBECAAYFAj2KhOoACgkQ82YSa6sey0soMgCgg7zP7pYVB12AgkyN 0aUsovPMPCQAnjaw8yZSKLeBOzplkeFSIIbfWqTs
- Dkim-filter: OpenDKIM Filter v2.10.3 mail.lundman.net CD19A148185
- Openpgp: preference=signencrypt
> But it isn't clear to me why it would die in OSIncrementAtomicLong().
> 'current_proc()' will never return NULL, and we pass the test of p->p_stats.
I stand corrected, current_proc() can indeed return NULL, so no wonder
calling msleep() at such a time would result in fireworks.
Is there is a known "event" to wait for when we are allowed to call
msleep()?, or should I just delay until current_proc() != NULL?
struct fake_proc {
void *padding[0xf0 / 8];
void *p_stats;
};
struct fake_proc *p = (struct fake_proc *)current_proc();
printf("SPL DEBUG: p is %d p->p_stats %d \n",
p != NULL,
p && p->p_stats);
delay(hz<<2);
printf("continuing...\n");
(spl-taskq.c:1586)> kernel: (spl) SPL DEBUG: p is 0 p->p_stats 0
(spl-taskq.c:2126)> kernel: (spl) continuing...
(spl-taskq.c:1586)> kernel: (spl) SPL DEBUG: p is 1 p->p_stats 1
--
Jorgen Lundman | <email@hidden>
Unix Administrator | +81 (0)90-5578-8500
Shibuya-ku, Tokyo | Japan
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Filesystem-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden