From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 381DB225A5B for ; Wed, 5 Nov 2025 07:30:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762327815; cv=none; b=MPxl2VSin6DZtwEfIBi0q8+UpBTA+5WTIHCC54vSbLteUUBbUcfVMM/sbPpjpWsIvREGd2wqziemsD925Pc/nZCOcxwS1TkplB6VOnmuH6AGkARD3xWSM4MdhzsR0WAta2V5Xe6PZ+ddQV6SnzWipdnwE8lkl9WATZ3ZiX8qTm8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762327815; c=relaxed/simple; bh=chTw+LpiOGjYdo4Dxby9RmEuoAMPaIOeui44U2SXPjQ=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=FrIT4rSpNYDuSRgzOGD1H6oMfjW+GF8lNuX9wYFgDRt8Sl1FQCFt+AYP3ZnQQFJUxHRb+dm81ZKV/Gd5xQtROP85DsUZi2cuyEHsYaBDAKerBeIPA2Cb5azQh1+Ho5VQpEaXmnxcNM7dkQNnRrrFhQJ7kxCAhZwFJ2xwefHFJAs= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=cetZ937Y; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=TpiwtHB4; arc=none smtp.client-ip=193.142.43.55 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="cetZ937Y"; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="TpiwtHB4" Date: Wed, 5 Nov 2025 08:30:09 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1762327811; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=LFwDVirdylZN+Hz9nkWGRGtXI8gouerdCpyob/WuMPY=; b=cetZ937YrEk1ON6pjIZaO76yfbTHCEfY3gPXuH1Lf77FGtwS+YcEtUnSuW8QgDxuAV8vev kSIB1kqmRkBgz47jWTL6WjvdQbGbzZhuFuGcao/9162eIe6r4VwpKhaFFEvyuVdqOjwfIM iEeYDi+AwnA38HC13zUHL2o+U5wrqSFxmymW7i0xDS8Tw1B7H4dB5sAPIpJCowCEKxMcuk xqtd1G1WCzwGGwG0ji+AnNbFbSvG67OO4CZKQymUUUcN9aOOQYQ7iJ6W8O2HPWz3qJxV2h nQ70f9WQ8tgRLuRABd05QVEkfWMJuWiqZbUi1bg0PCepVdlkcZpwxfv+gTbusA== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1762327811; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=LFwDVirdylZN+Hz9nkWGRGtXI8gouerdCpyob/WuMPY=; b=TpiwtHB4F5Cl5wZcA2JMv/0m9nBrt8ZqYA8ORwOzpivaS1pycfIcXe0giusrSUcIzhdBnT +xwZYIoXhyV9qADw== From: Sebastian Andrzej Siewior To: Tejun Heo Cc: Calvin Owens , linux-kernel@vger.kernel.org, Dan Schatzberg , Peter Zijlstra , Johannes Weiner , Michal =?utf-8?Q?Koutn=C3=BD?= , Clark Williams , Steven Rostedt , cgroups@vger.kernel.org, linux-rt-devel@lists.linux.dev Subject: Re: [PATCH cgroup/for-6.19 1/2] cgroup: Convert css_set_lock from spinlock_t to raw_spinlock_t Message-ID: <20251105073009.xNtOAM_u@linutronix.de> References: <20251104181114.489391-1-calvin@wbinvd.org> Precedence: bulk X-Mailing-List: linux-rt-devel@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: On 2025-11-04 09:32:24 [-1000], Tejun Heo wrote: > +++ b/kernel/cgroup/cgroup-internal.h > @@ -208,9 +208,9 @@ static inline void put_css_set(struct cs > if (refcount_dec_not_one(&cset->refcount)) > return; > > - spin_lock_irqsave(&css_set_lock, flags); > + raw_spin_lock_irqsave(&css_set_lock, flags); > put_css_set_locked(cset); This one has a kfree(link) and kfree takes spinlock_t so not working. > - spin_unlock_irqrestore(&css_set_lock, flags); > + raw_spin_unlock_irqrestore(&css_set_lock, flags); > } > /* > --- a/kernel/cgroup/cgroup.c > +++ b/kernel/cgroup/cgroup.c > @@ -1272,7 +1274,7 @@ static struct css_set *find_css_set(stru > * find_existing_css_set() */ > memcpy(cset->subsys, template, sizeof(cset->subsys)); > > - spin_lock_irq(&css_set_lock); > + raw_spin_lock_irq(&css_set_lock); > /* Add reference counts and links from the new css_set. */ > list_for_each_entry(link, &old_cset->cgrp_links, cgrp_link) { > struct cgroup *c = link->cgrp; I am also a bit worried about all these list iterations which happen under the lock. There is no upper limit meaning the list can grow with limits affecting the time the lock is held. Sebastian