Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933244AbXHVRAd (ORCPT ); Wed, 22 Aug 2007 13:00:33 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1758858AbXHVRAS (ORCPT ); Wed, 22 Aug 2007 13:00:18 -0400 Received: from netops-testserver-3-out.sgi.com ([192.48.171.28]:34802 "EHLO relay.sgi.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1761473AbXHVRAO (ORCPT ); Wed, 22 Aug 2007 13:00:14 -0400 Date: Wed, 22 Aug 2007 12:00:11 -0500 From: Dean Nelson To: Andrew Morton Cc: linux-ia64@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, tony.luck@intel.com, jes@sgi.com Subject: Re: [RFC 3/3] SGI Altix cross partition memory (XPMEM) Message-ID: <20070822170011.GA20155@sgi.com> References: <20070810010659.GA25427@sgi.com> <20070810011435.GD25427@sgi.com> <20070809231542.f6dcce8c.akpm@linux-foundation.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="jI8keyz6grp/JLjh" Content-Disposition: inline In-Reply-To: <20070809231542.f6dcce8c.akpm@linux-foundation.org> User-Agent: Mutt/1.5.9i Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 55365 Lines: 831 --jI8keyz6grp/JLjh Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Thu, Aug 09, 2007 at 11:15:42PM -0700, Andrew Morton wrote: > On Thu, 9 Aug 2007 20:14:35 -0500 Dean Nelson wrote: > > > This patch provides cross partition access to user memory (XPMEM) when > > running multiple partitions on a single SGI Altix. > > > > - Please don't send multiple patches all with the same title. Sorry, I'd somehow gotten the impression it was to be done this way. > - Feed the diff through checkpatch.pl, ponder the result. I did and made the necessary changes to satisfy the issues it raised, except for: 1) ERROR: Don't use kernel_thread(): see Documentation/feature-removal-schedule.txt As mentioned in the intro to this set of patches, XPMEM is not currently using the kthread API because it was in the process of being changed to require a kthread_stop() be done for every kthread_create(), and the kthread_stop() couldn't be called for a thread that had already exited. In talking with Eric Biederman, there was some talk of creating a kthread_orphan() which would eliminate the need for a call to kthread_stop() being required. 2) WARNING: Use of volatile is usually wrong: see Documentation/volatile-considered-harmful.txt I eliminated all but two usages of volatile in XPMEM. One in xpmem_flush_cpu_cache() and the other in xpmem_recall_cache_lines_phys(). Without the volatile the compiler eliminates the necessary instruction in each. Any suggestions as how to eliminate the need for volatile in these two cases? 3) WARNING: declaring multiple variables together should be avoided checkpatch.pl is erroneously commplaining about the following found in five different functions in arch/ia64/sn/kernel/xpmem_pfn.c. int n_pgs = xpmem_num_of_pages(vaddr, size); > ! Avoid needless casts to and from void* (eg, vm_private_data) Done. > ! The test for PF_DUMPCORE in xpmem_fault_handler() is mysterious and > merits a comment. Done. > - xpmem_fault_handler() is scary. You are very right about that, but consider that this code has been running at our customer sites on very large systems (18 partitions with 512 CPUs in each partition). The avoid_deadlock_1 and avoid_deadlock_2 issues were discovered at such sites and have been resolved (to the best of our knowledge). > - xpmem_fault_handler() appears to have imposed a kernel-wide rule that > when taking multiple mmap_sems, one should take the lowest-addressed one > first? If so, that probably wants a mention in that locking comment in > filemap.c Sure. After looking at the lock ordering comment block in mm/filemap.c, it wasn't clear to me how best to document this. Any suggestions/help would be most appreciated. > - xpmem_fault_handler() does atomic_dec(&seg_tg->mm->mm_users). What > happens if that was the last reference? When /dev/xpmem is opened by a user process, xpmem_open() incs mm_users and when it is flushed, xpmem_flush() decs it (via mmput()) after having ensured that no XPMEM attachments exist of this mm. Thus the dec in xpmem_fault_handler() will never take it to 0. > - Has it all been tested with lockdep enabled? Jugding from all the use > of SPIN_LOCK_UNLOCKED, it has not. > > Oh, ia64 doesn't implement lockdep. For this code, that is deeply > regrettable. No, it hasn't been tested with lockdep. But I have switched it from using SPIN_LOCK_UNLOCKED to spin_lock_init(). > ! This code all predates the nopage->fault conversion and won't work in > current kernels. I've switched from using nopage to using fault. I read that it is intended that nopfn also goes away. If this is the case, then the BUG_ON if VM_PFNMAP is set would make __do_fault() a rather unfriendly replacement for do_no_pfn(). > - xpmem_attach() does smp_processor_id() in preemptible code. Lucky that > ia64 doesn't do preempt? Actually, the code is fine as is even with preemption configured on. All it's doing is ensuring that the thread was previously pinned to the CPU it's currently running on. If it is, it can't be moved to another CPU via preemption, and if it isn't, the check will fail and we'll return -EINVAL and all is well. > - Stuff like this: > > + ap_tg = xpmem_tg_ref_by_apid(apid); > + if (IS_ERR(ap_tg)) > + return PTR_ERR(ap_tg); > + > + ap = xpmem_ap_ref_by_apid(ap_tg, apid); > + if (IS_ERR(ap)) { > + xpmem_tg_deref(ap_tg); > + return PTR_ERR(ap); > + } > > is fragile. It is easy to introduce leaks and locking errors as the > code evolves. The code has a lot of these deeply-embedded `return' > statments preceded by duplicated unwinding. Kenrel code generally > prefers to do the `goto out' thing. Done (assuming I correctly interpreted your intent). > ! "XPMEM_FLAG_VALIDPTEs"? Someone's pinky got tired at the end ;) Yeah, but it's better now (and so is the code). > Attention span expired at 19%, sorry. It's a large patch. I've included the new patch as an attachment. Thanks, Dean --jI8keyz6grp/JLjh Content-Type: application/x-bzip2 Content-Disposition: attachment; filename="xpmem-module.v002.bz2" Content-Transfer-Encoding: base64 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 --jI8keyz6grp/JLjh-- - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/