From patchwork Tue Jan 22 16:19:08 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Takashi Iwai X-Patchwork-Id: 10775853 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 31F0C1399 for ; Tue, 22 Jan 2019 16:19:40 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 20FD32B08A for ; Tue, 22 Jan 2019 16:19:40 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 158AE2B15B; Tue, 22 Jan 2019 16:19:40 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.9 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id A834A2B08A for ; Tue, 22 Jan 2019 16:19:39 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id A00D82674D6; Tue, 22 Jan 2019 17:19:26 +0100 (CET) X-Original-To: alsa-devel@alsa-project.org Delivered-To: alsa-devel@alsa-project.org Received: by alsa0.perex.cz (Postfix, from userid 1000) id F0ADB2674D6; Tue, 22 Jan 2019 17:19:23 +0100 (CET) Received: from mx1.suse.de (mx2.suse.de [195.135.220.15]) by alsa0.perex.cz (Postfix) with ESMTP id 385912674BA for ; Tue, 22 Jan 2019 17:19:18 +0100 (CET) X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id 4DE73B07A for ; Tue, 22 Jan 2019 16:19:18 +0000 (UTC) From: Takashi Iwai To: alsa-devel@alsa-project.org Date: Tue, 22 Jan 2019 17:19:08 +0100 Message-Id: <20190122161915.8445-1-tiwai@suse.de> X-Mailer: git-send-email 2.16.4 Subject: [alsa-devel] [PATCH 0/7] ALSA: Refactoring PCM locking code X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org X-Virus-Scanned: ClamAV using ClamSMTP Hi, this is a patch set to refactor the PCM locking code and to reduce the global lock. At least, this gets rid of the global rwlock, while the global rwsem is still needed for some non-atomic ops and for avoiding the deadlock at linking. Takashi === Takashi Iwai (7): ALSA: pcm: Call snd_card_unref() inside in_pcm_file() ALSA: pcm: Unify snd_pcm_group initialization ALSA: pcm: Make PCM linked list consistent while re-grouping ALSA: pcm: Avoid confusing loop in snd_pcm_unlink() ALSA: pcm: More fine-grained PCM link locking ALSA: pcm: Remove down_write() hack for snd_pcm_link_rwsem ALSA: pcm: Cleanup snd_pcm_stream_lock() & co include/sound/pcm.h | 3 +- sound/core/pcm.c | 4 +- sound/core/pcm_local.h | 1 + sound/core/pcm_native.c | 290 ++++++++++++++++++++++++++++-------------------- 4 files changed, 171 insertions(+), 127 deletions(-)