On Mon, Mar 03, 2008 at 09:27:29PM +0100, Rafael J. Wysocki wrote:Most rcu_assign_pointer() calls are protected by locks, but there might be a few that are not. However, the case that concerns me most would be the following: o Task 0 writes the lower 16 bits of the pointer. o Task 1 reads the lower 16 bits of the pointer. o Task 1 reads the upper 16 bits of the pointer. o Task 0 writes the upper 16 bits of the pointer. This would result in task 1 getting a mish-mash of the old and new versions of the pointer. Very bad!!! RCU heavily relies on the reader seeing either the initial value of the pointer or on the value written by some single write. But doesn't this require a -multi-CPU- system with a 16-bit data path from the ALU to the L0 cache? This seems a bit unlikely. Or am I being naive about embedded CPUs? On the other hand, if you have a 32-bit single-CPU system with a 16-bit path to memory, all we need is that interrupts be restricted to happening at instruction boundaries rather than in the middle of instructions. Thanx, Paul --
| Oleg Nesterov | Re: [PATCH, RFC] reimplement flush_workqueue() |
| Linus Torvalds | Re: Linux 2.6.27-rc8 |
| Pavel Roskin | ndiswrapper and GPL-only symbols redux |
| Greg Kroah-Hartman | [PATCH 017/196] aoechr: Convert from class_device to device |
git: | |
| David Symonds | Re: git and binary files |
| Matthieu Moy | git push to a non-bare repository |
| Felipe Oliveira Carvalho | Re: [RFC] Zit: the git-based single file content tracker |
| Jakub Narebski | Re: [VOTE] git versus mercurial (for DragonflyBSD) |
| Patrick McHardy | netfilter 05/29: netns ebtables: part 2 |
| Templin, Fred L | [Resend][PATCH 01/05] ipv6: RFC4214 Support (4) |
| Laszlo Attila Toth | [PATCHv7 0/5 + 3] Interface group patches |
| Jarek Poplawski | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Han Boetes | shutdown gets stuck at `syncing discs...' |
| Leon Dippenaar | New tcp stack attack |
| Richard Stallman | Real men don't attack straw men |
| GVG GVG | ssh_exchange_identification: Connection closed by remote host |
