|
|
|
Re: [rfc] SLOB memory ordering issue | |
| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] | |
On Thursday 16 October 2008 05:03, Linus Torvalds wrote: > On Thu, 16 Oct 2008, Nick Piggin wrote: > > What do you mean by the allocation is stable? > > "all writes done to it before it's exposed". > > > 2. I think it could be easy to assume that the allocated object that was > > initialised with a ctor for us already will have its initializing stores > > ordered when we get it from slab. > > You make tons of assumptions. > > You assume that > (a) unlocked accesses are the normal case and should be something the > allocator should prioritize/care about. > (b) that if you have a ctor, it's the only thing the allocator will do. Yes, as I said, I do not want to add a branch and/or barrier to the allocator for this. I just want to flag the issue and discuss whether there is anything that can be done about it. > I don't think either of those assumptions are at all relevant or > interesting. Quite the reverse - I'd expect them to be in a very small > minority. They will be in the minority or non-existant, but obviously there only need be one "counterexample" bug to disprove a claim that it never matters. > Now, obviously, on pretty much all machines out there (ie x86[-64] and UP > ARM), smp_wmb() is a no-op, so in that sense we could certainly say that > "sure, this is a total special case, but we can add a smp_wmb() anyway > since it won't cost us anything". > > On the other hand, on the machines where it doesn't cost us anything, it > obviously doesn't _do_ anything either, so that argument is pretty > dubious. > > And on machines where the memory ordering _can_ matter, it's going to add > cost to the wrong point. When I said "I'd really hate to add a branch to the slab fastpath", it wasn't a tacit acknowlegement that the barrier is the only way to go, if it sounded that way. I meant: I'd *really* hate to add a branch to the slab fastpath :) -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[Site Home] [Other Archives] [Linux Kernel Newbies] [Linux Kernel Testers] [Linux SH] [Linux Omap] [Linux Kbuild] [Linux Tape] [Linux Input] [Linux Kernel Janitors] [Linux Doc] [Linux Man Pages] [Linux Standards] [Kernel Announce] [Memory] [Netdev] [Git] [Linux PCI] [NUMA] [Netfilter] [Netfilter Devel] [SELinux] [Bugtraq] [Writing Drivers] [Linux Serial] [Linux PPP] [Linux ISDN] [Linux Next] [Kernel Stable Commits] [Kernel MM Commits] [Linux Security Module] [Ext4] [Linux BTRFS] [Linux NFS] [Linux Cachefs] [Reiser FS] [Fastboot] [Linux RT Users] [Linux Virtualization] [LVS Devel] [KVM] [KVM PPC] [KVM ia64] [Linux Containers] [Util Linux NG] [Sk Drivers] [Wireless] [Linux Bluetooth] [Ethernet Bridging] [Embedded Linux] [Sparse] [Linux Arch] [Linux ACPI] [Linux IBM ACPI] [Linux OpenGL] [CPU Freq] [Linux Power Management] [Linux DCCP] [ALSA Devel] [Linux USB] [Large Format Photos] [DVD Store] [Tux] [Gimp] [Yosemite News] [Linux PA RISC] [MIPS Linux] [S390 Linux] [ARM Linux] [ARM Kernel] [Sparc Linux] [Linux Security] [Linux Sound] [Video 4 Linux] [Linux for the blind] [Linux IDE] [Linux RAID] [Linux SCSI] [Linux SCSI Target Infrastructure] [Linux SMP] [Linux AXP] [Linux Alpha] [Linux M68K] [Linux ia64] [Linux 8086] [Linux x86_64] [Linux Apps] [Linux X.25] [Linux Crypto] [DM Crypt] [LInux Btrace] [Utrace Devel] [Yosemite Photos] [Linux Resources] [Older Kernel Mail]
![]() |
![]() |