lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Wed, 15 Sep 2010 07:52:39 -0700 From: Linus Torvalds <torvalds@...ux-foundation.org> To: Christopher Yeoh <cyeoh@....ibm.com> Cc: Avi Kivity <avi@...hat.com>, linux-kernel@...r.kernel.org, Linux Memory Management List <linux-mm@...ck.org>, Ingo Molnar <mingo@...e.hu> Subject: Re: [RFC][PATCH] Cross Memory Attach On Wed, Sep 15, 2010 at 7:42 AM, Christopher Yeoh <cyeoh@....ibm.com> wrote: > On Wed, 15 Sep 2010 12:58:15 +0200 > Avi Kivity <avi@...hat.com> wrote: > >> On 09/15/2010 03:18 AM, Christopher Yeoh wrote: >> > The basic idea behind cross memory attach is to allow MPI programs >> > doing intra-node communication to do a single copy of the message >> > rather than a double copy of the message via shared memory. >> >> If the host has a dma engine (many modern ones do) you can reduce >> this to zero copies (at least, zero processor copies). > > Yes, this interface doesn't really support that. I've tried to keep > things really simple here, but I see potential for increasing > level/complexity of support with diminishing returns: I think keeping things simple is a good goal. The vmfd() approach might be worth looking into, but your patch certainly is pretty simple as-is. That said, it's also buggy. You can't just get a task and then do down_read(task->mm->mmap_sem) on it. Not even if you have a refcount. The mm may well go away. You need to do the same thing "get_task_mm()" does, ie look up the mm under task_lock, and get a reference to it. You already get the task-lock for permission testing, so it looks like doing it there would likely work out. > 3. ability to map part of another process's address space directly into > the current one. Would have setup/tear down overhead, but this would > be useful specifically for reduction operations where we don't even > need to really copy the data once at all, but use it directly in > arithmetic/logical operations on the receiver. Don't even think about this. If you want to map another tasks memory, use shared memory. The shared memory code knows about that. The races for anything else are crazy. Linus -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists