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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).