Re: kdump regression compared to v2.6.35

Previous thread: Re: [PATCH] GPIO: add support for NXP 74HC164 GPIO expander by David Brownell on Saturday, August 28, 2010 - 4:18 pm. (3 messages)

Next thread: bmw x6 Concept car by BMW AUTOMOBILE COMPANY PROMOTION 2010 on Sunday, August 29, 2010 - 2:11 am. (1 message)
From: caiqian
Date: Sunday, August 29, 2010 - 12:01 am

Further bisect indicated this bad commit from the merge. Given kdump kernel was running with maxcpus=1, I guess this work caused fs/bio.c hung in the workqueue on UP. Reverted the whole merge let kdump work again.

commit e22bee782b3b00bd4534ae9b1c5fb2e8e6573c5c
Author: Tejun Heo <tj@kernel.org>
Date:   Tue Jun 29 10:07:14 2010 +0200

    workqueue: implement concurrency managed dynamic worker pool
    
    Instead of creating a worker for each cwq and putting it into the
    shared pool, manage per-cpu workers dynamically.
    
    Works aren't supposed to be cpu cycle hogs and maintaining just enough
    concurrency to prevent work processing from stalling due to lack of
    processing context is optimal.  gcwq keeps the number of concurrent
    active workers to minimum but no less.  As long as there's one or more
    running workers on the cpu, no new worker is scheduled so that works
    can be processed in batch as much as possible but when the last
    running worker blocks, gcwq immediately schedules new worker so that
    the cpu doesn't sit idle while there are works to be processed.
    
    gcwq always keeps at least single idle worker around.  When a new
    worker is necessary and the worker is the last idle one, the worker
    assumes the role of "manager" and manages the worker pool -
    ie. creates another worker.  Forward-progress is guaranteed by having
    dedicated rescue workers for workqueues which may be necessary while
    creating a new worker.  When the manager is having problem creating a
    new worker, mayday timer activates and rescue workers are summoned to
    the cpu and execute works which might be necessary to create new
    workers.
    
    Trustee is expanded to serve the role of manager while a CPU is being
    taken down and stays down.  As no new works are supposed to be queued
    on a dead cpu, it just needs to drain all the existing ones.  Trustee
    continues to try to create new workers and summon rescuers as long as
    there ...
From: Tejun Heo
Date: Sunday, August 29, 2010 - 1:57 am

Can you please pull from the following git tree and see whether it
fixes the problem?  There was a bug in nr_active accounting.

  git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq.git for-linus

Thanks.

-- 
tejun
--

Previous thread: Re: [PATCH] GPIO: add support for NXP 74HC164 GPIO expander by David Brownell on Saturday, August 28, 2010 - 4:18 pm. (3 messages)

Next thread: bmw x6 Concept car by BMW AUTOMOBILE COMPANY PROMOTION 2010 on Sunday, August 29, 2010 - 2:11 am. (1 message)