From: mobile.parmenides@gmail.com (parmenides)
To: kernelnewbies@lists.kernelnewbies.org
Subject: What's the meaning of CONFIG_BROKEN_ON_SMP?
Date: Sat, 25 Jan 2014 04:28:51 +0800 [thread overview]
Message-ID: <52E2CD03.8060602@gmail.com> (raw)
In-Reply-To: <9149.1390584445@turing-police.cc.vt.edu>
? 2014/1/25 1:27, Valdis.Kletnieks at vt.edu wote:
> On Fri, 24 Jan 2014 17:43:35 +0800, parmenides said:
>
>> CONFIG_BROKEN_ON_SMP: should be set in the kernel configuration, but isn't.
>
>> I wonder what the meaning of the configuration is. How does it work? Thx!
>
> Drivers (and all other kernel-mode code, actually) need to do proper locking,
> so that if there's a race between code running on 2 different CPUs at the same
> time, they don't stomp all over each other (consider the case of one CPU trying
> to walk a linked list at the same time that another CPU is deleting an entry
> from the list - this can leave the first CPU walking down a now corrupted list
> following now-stale pointers).
>
> There are a lot of old buggy drivers that don't do proper locking. In a
> few cases, the drivers are *technically* buggy, but the bugs just happen to
> be in code that will manage to work anyhow *if there is only one CPU* (for
> instance, wrapped in a IRQ-disabled section). These drivers get BROKEN_ON_SMP
> attached, because they can still potentially be useful for people compiling
> on architectures that only support 1 processor core, or *need* the driver and
> don't care if they only use 1 core of the 4 they have.
>
> The proper fix is, of course, to put proper locking in the driver - but most
> BROKEN_ON_SMP drivers are creeping horrorshows straight out of HP Lovecraft,
> and nobody wants to invest the resources needed to fix the abandonware driver.
>
Does that mean BROKEN_ON_SMP drivers are all tagged, and they are not
seen when I 'make menuconfig', if CONFIG_BROKEN_ON_SMP not be set? If
so, how these drivers are tagged?
prev parent reply other threads:[~2014-01-24 20:28 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-24 9:43 What's the meaning of CONFIG_BROKEN_ON_SMP? parmenides
2014-01-24 17:27 ` Valdis.Kletnieks at vt.edu
2014-01-24 20:28 ` parmenides [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=52E2CD03.8060602@gmail.com \
--to=mobile.parmenides@gmail.com \
--cc=kernelnewbies@lists.kernelnewbies.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.