RE: Questions about Linux workqueue in 2.6.36

From: Ray Jui
Date: Tue Feb 15 2011 - 12:57:51 EST


Hi Tejun,

Regarding your second patch, which changes the initial mayday timeout to
MAYDAY_INITIAL_TIMEOUT = HZ / 100 >= 2 ? HZ / 100 : 2,

That's a minimum of 2 timer ticks, which is 20 ms in our system. Since the timer resolution in our system is 10 ms and it takes 15 ~ 20 ms to create a new kworker during kernel startup in our system, I verified that I need to change the minimum timer tick to 3 for the rescuer NOT to kick in our system during startup.

Thanks,

Ray

-----Original Message-----
From: Tejun Heo [mailto:htejun@xxxxxxxxx] On Behalf Of Tejun Heo
Sent: Monday, February 14, 2011 5:03 AM
To: Ray Jui
Cc: linux-kernel@xxxxxxxxxxxxxxx
Subject: Re: Questions about Linux workqueue in 2.6.36

Hello,

On Wed, Feb 09, 2011 at 02:38:36PM -0800, Ray Jui wrote:
> You are right. The problem with the rescuer is that when it is
> leaving a gcwq, it does not check to see whether it needs to wake up
> a worker to process subsequent work items. After applying your
> patch, I see pid 26 getting waken up by the rescuer and work items
> from mmc1 and mmc2 are now being processed properly.

Cool, I'll send the patch to upstream and stable.

> I also did a quick profiling on the amount of time it takes to
> create a new worker on our system. It takes 15 ~ 20 ms. This is not
> surprising as it's an embedded system and it was during kernel boot
> up and the system was getting quite busy. Regardless, the current 10
> ms initial mayday timeout has resolution issues on a lot of embedded
> systems with worse timer resolutions (e.g., 10 ms on our system).

Can you please verify the second patch removes the unncessary rescuer
invocation?

Thanks.

--
tejun


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/