Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932312AbcDVRgH (ORCPT ); Fri, 22 Apr 2016 13:36:07 -0400 Received: from mail-oi0-f50.google.com ([209.85.218.50]:35397 "EHLO mail-oi0-f50.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754524AbcDVRgF convert rfc822-to-8bit (ORCPT ); Fri, 22 Apr 2016 13:36:05 -0400 MIME-Version: 1.0 X-Originating-IP: [2a02:168:56b5:0:ac27:b86c:7764:9429] In-Reply-To: <571A5F31.8050301@tronnes.org> References: <1461165929-11344-1-git-send-email-noralf@tronnes.org> <1461165929-11344-5-git-send-email-noralf@tronnes.org> <571921F5.2080007@tronnes.org> <20160422082719.GH2510@phenom.ffwll.local> <571A326A.9070407@tronnes.org> <20160422170501.GE2510@phenom.ffwll.local> <571A5F31.8050301@tronnes.org> Date: Fri, 22 Apr 2016 19:36:03 +0200 X-Google-Sender-Auth: Vq-GQ-Y8I5cr2O4GZxKccEKg-n4 Message-ID: Subject: Re: [PATCH 4/8] drm/fb-helper: Add fb_deferred_io support From: Daniel Vetter To: =?UTF-8?Q?Noralf_Tr=C3=B8nnes?= Cc: dri-devel , Linux Fbdev development list , Laurent Pinchart , Tomi Valkeinen , Linux Kernel Mailing List Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 925 Lines: 19 On Fri, Apr 22, 2016 at 7:28 PM, Noralf Trønnes wrote: > This patch extend the use of the fbdev deferred_io worker to also handle > the fbdev drawing operations, which can happen in atomic context. > The qxl driver adds an extra worker (struct qxl_device).fb_work which is > used to flush the framebuffer. Both the mmap deferred_io (qxl_deferred_io()) > code which is run by the deferred io worker and the fbdev drawing operations > (qxl_fb_fillrect() etc.) schedule this fb_work worker. > > So this patch uses 1 worker, qxl uses 2 workers. Oh, I didn't realize that you're reusing the same worker for both things. 2 workers indeed make sense, since the mmap one must have a built-in delay (to coalesce a bunch of writes), whereas the other one probably should be run right away, after each op. -Daniel -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch