Received: by 2002:a25:8b12:0:0:0:0:0 with SMTP id i18csp80578ybl; Fri, 9 Aug 2019 02:50:54 -0700 (PDT) X-Google-Smtp-Source: APXvYqyqGZLjEVSY7kh6Vox0iVRE/pOSH1dtor5HdHl+UZUUAZS/Jn2t+A2WIYr91gppDkGBIy9z X-Received: by 2002:a62:5c3:: with SMTP id 186mr20499100pff.144.1565344254507; Fri, 09 Aug 2019 02:50:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1565344254; cv=none; d=google.com; s=arc-20160816; b=sVAnzraP+LvMTOAUIlAKJWWXOj7WZ6CVgy94FcmxVmwXRJF/ejPXEdztm+SlyzDQog Wj5VRDbS4gBvR0M7MhrfK2Ph1eMtlYNq+GASlByNj3vg9KetO2pFJ7XqZ2ZwTeatdSay huzSMaNIqAX2e/fPwjDzrqw3TcWHtWRzWNAaRixx5r4MjO8UxkS01JvQDt0bAiHmYR6a 1xxCb0ADPJDU14424yJEGwMe3UxlCZ4VxwBsPFKtBNI9CM3X6oop3+NzgA17tsD2+ScA 1qEt1VypSzVzVorheUF/ZSLVxl1q+EbttD+dWr2qYDkuQ8gil5LM67XmPSrJOTswXyVD SDiw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature; bh=0MjjxEATeDSohSUdPgCn+0npRclOTNWQmeqagttLXsE=; b=eyeH5AtSLS+33UJUIakVAfYC7DZEWvR9InKs5GkGxmZwN/X14J2WG0CKWcxF100Qke +wXxpLgJlb5IaScVJPCoy4eStTY50w8D6RC3CSHodcF543zWequaRTttplVYnkPBbV6P Jbt6jfjqQaxSXPm4AMs8K5x6OZL5UGjZY4fjCEO3uF3n7nwp8Gu+XjB2rkVoTPnQv7F0 M1kale6gMjqb7JZYUFkr83oVuw07EkEJJ2/LEGPMsO/Yru5PQMJ83Cb9UlhUMfnm18am 3YuAcmnUC4k6XwBbvB+vo+/205TjZBNSHlfqFkn3luKioxhPMZY6sa/JVn4eeC/HXnl7 ++0w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=Uj3D0+T2; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id j64si58870643pge.556.2019.08.09.02.50.38; Fri, 09 Aug 2019 02:50:54 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=Uj3D0+T2; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2405990AbfHIJoR (ORCPT + 99 others); Fri, 9 Aug 2019 05:44:17 -0400 Received: from mail-pf1-f196.google.com ([209.85.210.196]:44484 "EHLO mail-pf1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730233AbfHIJoR (ORCPT ); Fri, 9 Aug 2019 05:44:17 -0400 Received: by mail-pf1-f196.google.com with SMTP id t16so45736143pfe.11 for ; Fri, 09 Aug 2019 02:44:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=0MjjxEATeDSohSUdPgCn+0npRclOTNWQmeqagttLXsE=; b=Uj3D0+T2IeTt2j8R9IQoWagucl2E8dAmOFplTadmEtycTdbXiM6UlavYMVIWRj02Cw 4nSjNZnzwBdIAEkY38minKr8sYfOUzw8/WLlP8ed8SLzlIhwkZoWRaa1hLLX0HTNpU3l +C0O3IoWFhNMlGSkYFNWh5qqg1YWt7jHjjNwXnsLsenEtvNuAmN6uAW6tETi5HZkGIZL DrOB+8THq13ltaU/8cqB9++tw1zvfEiBQBoX3Cw1iovi0VSPgY9Yvc4UinD0eWP8t6hd ZwvocRvxWFkXtMq3PNSgz9fy8Uktwgue1HOdo+jRr7RaMf3sRku+Hwvkpoi4PR5Myd9g ufQw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=0MjjxEATeDSohSUdPgCn+0npRclOTNWQmeqagttLXsE=; b=Oywvv5bUA4yIhQx6A+JfKRJszZgT7wTH/SpBmto/a+xzmE2DCIWpvnftFe41GD+zaw KrddnUXu6mfNgb2MeVPB3NrrixCr6N+PAhp2R2PQ2xFllNU+/wqVbSskxZHQG1T8d8KP 2mmGcewbzZoKVl/OsDPiKylKptOB5cU1PHqZ/Puif11m3h/BTdgJ1FtibTDey+kXyU+1 C+5qSvgWou40PAT0N06hdYCHaKxXFWssf/Xe17ZcUK6Zjg+3ZQYBQ5xvjwUPYGTFXBp5 dCpP+dGs+dstI9/6QKmvUTyZVP/SUHBysp8JwP2O4W2EBVsriv3tXO0CwXul2o3ceWAX C4qw== X-Gm-Message-State: APjAAAUs+5uQfdU/WC10gdoCzdIabUFM0Jc19tl0gFDWnJxA7zY9WClq mI8qtxwZV12n6DFhX7v5M9s= X-Received: by 2002:aa7:9254:: with SMTP id 20mr21121887pfp.212.1565343856824; Fri, 09 Aug 2019 02:44:16 -0700 (PDT) Received: from bharath12345-Inspiron-5559 ([103.110.42.33]) by smtp.gmail.com with ESMTPSA id e9sm2925944pfh.155.2019.08.09.02.44.10 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 09 Aug 2019 02:44:16 -0700 (PDT) Date: Fri, 9 Aug 2019 15:14:06 +0530 From: Bharath Vedartham To: John Hubbard Cc: arnd@arndb.de, gregkh@linuxfoundation.org, sivanich@sgi.com, ira.weiny@intel.com, jglisse@redhat.com, william.kucharski@oracle.com, hch@lst.de, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-kernel-mentees@lists.linuxfoundation.org Subject: Re: [Linux-kernel-mentees][PATCH v4 1/1] sgi-gru: Remove *pte_lookup functions Message-ID: <20190809094406.GA22457@bharath12345-Inspiron-5559> References: <1565290555-14126-1-git-send-email-linux.bhar@gmail.com> <1565290555-14126-2-git-send-email-linux.bhar@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Aug 08, 2019 at 04:21:44PM -0700, John Hubbard wrote: > On 8/8/19 11:55 AM, Bharath Vedartham wrote: > ... > > static int gru_vtop(struct gru_thread_state *gts, unsigned long vaddr, > > int write, int atomic, unsigned long *gpa, int *pageshift) > > { > > struct mm_struct *mm = gts->ts_mm; > > struct vm_area_struct *vma; > > unsigned long paddr; > > - int ret, ps; > > + int ret; > > + struct page *page; > > > > vma = find_vma(mm, vaddr); > > if (!vma) > > @@ -263,21 +187,33 @@ static int gru_vtop(struct gru_thread_state *gts, unsigned long vaddr, > > > > /* > > * Atomic lookup is faster & usually works even if called in non-atomic > > - * context. > > + * context. get_user_pages_fast does atomic lookup before falling back to > > + * slow gup. > > */ > > rmb(); /* Must/check ms_range_active before loading PTEs */ > > - ret = atomic_pte_lookup(vma, vaddr, write, &paddr, &ps); > > - if (ret) { > > - if (atomic) > > + if (atomic) { > > + ret = __get_user_pages_fast(vaddr, 1, write, &page); > > + if (!ret) > > goto upm; > > - if (non_atomic_pte_lookup(vma, vaddr, write, &paddr, &ps)) > > + } else { > > + ret = get_user_pages_fast(vaddr, 1, write ? FOLL_WRITE : 0, &page); > > + if (!ret) > > goto inval; > > } > > + > > + paddr = page_to_phys(page); > > + put_user_page(page); > > + > > + if (unlikely(is_vm_hugetlb_page(vma))) > > + *pageshift = HPAGE_SHIFT; > > + else > > + *pageshift = PAGE_SHIFT; > > + > > if (is_gru_paddr(paddr)) > > goto inval; > > - paddr = paddr & ~((1UL << ps) - 1); > > + paddr = paddr & ~((1UL << *pageshift) - 1); > > *gpa = uv_soc_phys_ram_to_gpa(paddr); > > - *pageshift = ps; > > Why are you no longer setting *pageshift? There are a couple of callers > that both use this variable. Hi John, I did set *pageshift. The if statement above sets *pageshift. ps was used to retrive the pageshift value when the pte_lookup functions were present. ps was passed by reference to those functions and set by them. But here since we are trying to remove those functions, we don't need ps and we directly set *pageshift to HPAGE_SHIFT or PAGE_SHIFT based on the type of vma. Hope this clears things up? Thank you Bharath > > thanks, > -- > John Hubbard > NVIDIA