KASSERT_WARN for asserting malloc(M_WAITOK) not in a non-sleepable thread
Bryan Drewery
bdrewery at FreeBSD.org
Thu Sep 25 15:48:08 UTC 2014
On 9/24/2014 9:56 PM, Davide Italiano wrote:
> On Wed, Sep 24, 2014 at 6:16 PM, Bryan Drewery <bdrewery at freebsd.org> wrote:
>> Hi,
>>
>> I've placed 2 reviews out in relation to
>> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=193696:
>>
>> Add KASSERT_WARN which will work just like KASSERT except that no panic
>> will occur. My own expectation would be that any use of it would
>> eventually be promoted to a full KASSERT. It would only be used where
>> the impact is not known yet on all hardware/devices. We don't want to
>> go adding a KASSERT and break boot for a whole class of systems.
>>
>> https://reviews.freebsd.org/D829 - KASSERT_WARN
>>
>
> FYI, I'm not excited about the idea. If you introduce an assert you
> want some invariant to not be violated. If it's violated, there's
> something clearly going wrong and you need to stop and think about it.
> I guess that in most cases is just better fail early, rather than keep
> going with the system in a semi-functional state. Also, please note
> that once a KPI is introduced in the kernel, everybody may start
> abusing it.
> A previous attempt (in my opinion wrong) was made to have KASSERT to
> log rather than panic. It actually didn't lead to any benefit,
> apparently. FWIW, at least your approach is more fine grained.
>
> --
> Davide
I would be comfortable adding it in as a full KASSERT (and not bringing
in KASSERT_WARN) if other people test the patch in
https://reviews.freebsd.org/D830 and change them to KASSERT. If the
fallout is not too bad then we can commit the real assert.
--
Regards,
Bryan Drewery
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/freebsd-arch/attachments/20140925/c1307556/attachment.sig>
More information about the freebsd-arch
mailing list