From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 264A6C04AB4 for ; Fri, 17 May 2019 09:06:40 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id EAEB120833 for ; Fri, 17 May 2019 09:06:39 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728630AbfEQJGj (ORCPT ); Fri, 17 May 2019 05:06:39 -0400 Received: from mx1.redhat.com ([209.132.183.28]:46780 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728422AbfEQJGj (ORCPT ); Fri, 17 May 2019 05:06:39 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 0604B83F42; Fri, 17 May 2019 09:06:39 +0000 (UTC) Received: from gondolin (dhcp-192-222.str.redhat.com [10.33.192.222]) by smtp.corp.redhat.com (Postfix) with ESMTP id C64D45C26A; Fri, 17 May 2019 09:06:37 +0000 (UTC) Date: Fri, 17 May 2019 11:06:35 +0200 From: Cornelia Huck To: Eric Farman Cc: Farhan Ali , Halil Pasic , Pierre Morel , linux-s390@vger.kernel.org, kvm@vger.kernel.org Subject: Re: [PATCH v3 1/3] s390/cio: Don't pin vfio pages for empty transfers Message-ID: <20190517110635.5204a9e8.cohuck@redhat.com> In-Reply-To: <20190516161403.79053-2-farman@linux.ibm.com> References: <20190516161403.79053-1-farman@linux.ibm.com> <20190516161403.79053-2-farman@linux.ibm.com> Organization: Red Hat GmbH MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.27]); Fri, 17 May 2019 09:06:39 +0000 (UTC) Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org On Thu, 16 May 2019 18:14:01 +0200 Eric Farman wrote: > The skip flag of a CCW offers the possibility of data not being > transferred, but is only meaningful for certain commands. > Specifically, it is only applicable for a read, read backward, sense, > or sense ID CCW and will be ignored for any other command code > (SA22-7832-11 page 15-64, and figure 15-30 on page 15-75). > > (A sense ID is xE4, while a sense is x04 with possible modifiers in the > upper four bits. So we will cover the whole "family" of sense CCWs.) > > For those scenarios, since there is no requirement for the target > address to be valid, we should skip the call to vfio_pin_pages() and > rely on the IDAL address we have allocated/built for the channel > program. The fact that the individual IDAWs within the IDAL are > invalid is fine, since they aren't actually checked in these cases. > > Set pa_nr to zero when skipping the pfn_array_pin() call, since it is > defined as the number of pages pinned and is used to determine > whether to call vfio_unpin_pages() upon cleanup. > > As we do this, since the pfn_array_pin() routine returns the number of > pages pinned, and we might not be doing that, the logic for converting > a CCW from direct-addressed to IDAL needs to ensure there is room for > one IDAW in the IDAL being built since a zero-length IDAL isn't great. I have now read this sentence several times and that this and that confuses me :) What are we doing, and what is the thing that we might not be doing? > > Signed-off-by: Eric Farman > --- > drivers/s390/cio/vfio_ccw_cp.c | 55 ++++++++++++++++++++++++++++++---- > 1 file changed, 50 insertions(+), 5 deletions(-)