Search Linux Wireless

Re: [RFC 3/4] iwlwifi: cleanup/fix memory barriers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Feb 06, 2012 at 05:13:25PM +0100, Johannes Berg wrote:
> On 2/6/2012 5:09 PM, Stanislaw Gruszka wrote:
> >wmb(), rmb() are not needed when writel(), readl() are used as
> >accessors for MMIO. We use them indirectly via iowrite32(),
> >ioread32().
> >
> >What is needed mmiowb(), for synchronizing writes coming from
> >different CPUs on PCIe bridge (see in patch comments). This
> >fortunately is not needed on x86, where mmiowb() is just
> >defined as compiler barrier. As iwlwifi devices are most likely
> >not used on anything other than x86, this is not so important
> >fix.
> 
> Technically, PCIe bridges can reorder writes as well, so we really
> need to do a dummy read somewhere -- we were discussing this
> internally recently as well.

PCIe can reorder writes only if they come from different CPUs,
good examples are in "LOCKS VS I/O ACCESSES" in
Documentation/memory-barriers.txt

Stanislaw
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux