lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4F91503D.2060402@kernel.dk>
Date:	Fri, 20 Apr 2012 14:02:05 +0200
From:	Jens Axboe <axboe@...nel.dk>
To:	Tejun Heo <tj@...nel.org>
CC:	vgoyal@...hat.com, ctalbott@...gle.com, rni@...gle.com,
	linux-kernel@...r.kernel.org, cgroups@...r.kernel.org,
	containers@...ts.linux-foundation.org
Subject: Re: [PATCHSET] block: per-queue policy activation, take#2

On 04/20/2012 10:09 AM, Jens Axboe wrote:
> On Fri, Apr 13 2012, Tejun Heo wrote:
>> Hello,
>>
>> Upto now, blkcg assumed that all policies are active on all queues
>> which simply isn't true - cfq policy is only applicable to queues
>> which are using cfq as the elevator.  Also, for transition purposes,
>> the current implementation clears all !root blkgs blkgs across
>> elevator switch and policy [de]registration in racy manner.
>>
>> This patchset implements per-queue policy activation.  Static policy
>> ID is replaced with dynamic registration and each policy should be
>> activated and deactivated explicitly on each queue.  On activation,
>> the matching policy data are created on all existing blkgs.  On
>> deactivation, the matching policy data are removed from all existing
>> blkgs.  blkg printing skips blkg-policy combination which is disabled
>> and trying to configure a policy on a blkg which doesn't have the
>> policy enabled would return -EINVAL instead of creating an unused
>> dummy configuration.
>>
>> Changes from the last take[L] are
>>
>> * 0001 to fix config dependent build error / warnings added.
>>
>> * More comments added to 0006 as suggested by Vivek.
>>
>> * 0007 added to avoid boot time bypass delays.
>>
>> * 0009 made cfq_init_queue() return garbage after alloc failure if
>>   !CONFIG_CFQ_GROUP_IOSCHED.  Fixed.
>>
>> * 0011 which shoots down all blkgs if no policy is activated added.
>>   Suggested by Vivek.
>>
>>  0001-cfq-fix-build-breakage-warnings.patch
>>  0002-blkcg-kill-blkio_list-and-replace-blkio_list_lock-wi.patch
>>  0003-blkcg-use-pol-instead-of-plid-in-update_root_blkg_pd.patch
>>  0004-blkcg-remove-static-policy-ID-enums.patch
>>  0005-blkcg-make-blkg_conf_prep-take-pol-and-return-with-q.patch
>>  0006-blkcg-make-sure-blkg_lookup-returns-NULL-if-q-is-byp.patch
>>  0007-blkcg-make-request_queue-bypassing-on-allocation.patch
>>  0008-blkcg-add-request_queue-root_blkg.patch
>>  0009-blkcg-implement-per-queue-policy-activation.patch
>>  0010-blkcg-drop-stuff-unused-after-per-queue-policy-activ.patch
>>  0011-blkcg-shoot-down-blkgs-if-all-policies-are-deactivat.patch
>>
>> This patchset is on top of the current block/for-3.5/core 5bc4afb1ec
>> "blkcg: drop BLKCG_STAT_{PRIV|POL|OFF} macros" and also available in
>> the following git branch.
> 
> Applied. Even if we need a bit more churn on this one, we should get
> things in gear and for-next updated at least.

Tejun, everything merged in cleanly. A boot test didn't not go so well,
I'm afraid. It complains about stuck RCU. Even with extra RCU
debugging/info turned on, it doesn't give my any extra info.

Config is attached. I can try and debug this on Monday, for now I've
pulled it out of for-next again.

-- 
Jens Axboe


View attachment "config" of type "text/plain" (73777 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ