From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753221AbbFHSmv (ORCPT ); Mon, 8 Jun 2015 14:42:51 -0400 Received: from mx1.redhat.com ([209.132.183.28]:33220 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752355AbbFHSmn (ORCPT ); Mon, 8 Jun 2015 14:42:43 -0400 From: Jeff Moyer To: Tejun Heo Cc: axboe@kernel.dk, linux-kernel@vger.kernel.org, cgroups@vger.kernel.org, vgoyal@redhat.com, avanzini.arianna@gmail.com Subject: Re: [PATCH 2/8] cfq-iosched: fix async oom queue handling References: <1433753973-23684-1-git-send-email-tj@kernel.org> <1433753973-23684-3-git-send-email-tj@kernel.org> X-PGP-KeyID: 1F78E1B4 X-PGP-CertKey: F6FE 280D 8293 F72C 65FD 5A58 1FF8 A7CA 1F78 E1B4 X-PCLoadLetter: What the f**k does that mean? Date: Mon, 08 Jun 2015 14:42:41 -0400 In-Reply-To: <1433753973-23684-3-git-send-email-tj@kernel.org> (Tejun Heo's message of "Mon, 8 Jun 2015 17:59:27 +0900") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Tejun Heo writes: > Async cfqq's (cfq_queue's) are shared across cfq_data. When > cfq_get_queue() obtains a new queue from cfq_find_alloc_queue(), it > stashes the pointer in cfq_data and reuses it from then on; however, > the function doesn't consider that cfq_find_alloc_queue() may return > the oom_cfqq under memory pressure and installs the returned queue > unconditionally. > > If the oom_cfqq is installed as an async cfqq, cfq_set_request() will > continue calling cfq_get_queue() hoping to replace it with a proper > queue; however, cfq_get_queue() will keep returning the cached queue > for the slot - the oom_cfqq. > > Fix it by skipping caching if the queue is the oom one. Good catch. Reviewed-by: Jeff Moyer