From:                              Sue LoVerso <sue@mongodb.com>

Sent:                               Tuesday, March 17, 2015 12:06 PM

To:                                   Eitan Klein

Cc:                                   Keith Bostic (mdb)

Subject:                          Re: https://jira.mongodb.org/browse/SERVER-17495

 

The more parallelization you get through the logging code, the more threads are going to be in that function waiting for their slot leader to get the slot ready for writing, which should be a very short time.  There is one oddity in that the logging code asks to sleep for a short time, but the Windows code ends up with a 0 sleep time because of micro-second->millisecond granularity transformation.  The man page indicates that 0 is a special value that may impact how your test runs in that situation.
https://msdn.microsoft.com/en-us/library/windows/desktop/ms686298%28v=vs.85%29.aspx

I have a change that I'll commit to our tree and have Mark B review.

sue

 

On Tue, Mar 17, 2015 at 11:23 AM, Eitan Klein <eitan.klein@10gen.com> wrote:

Hey,

 

On insert only stress, profiler indicated a bottleneck around __wt_log_slot_wait

Can you advice if I can work around by adding more slot leader threads/responses?

 

 

Thanks,

-       Eitan

 

Current function

Function Name

Inclusive Samples

Exclusive Samples

Inclusive Samples %

Exclusive Samples %

__wt_log_slot_wait

14,237

128

11.45

0.10

 

 

 

Functions that were called by __wt_log_slot_wait

Function Name

Inclusive Samples

Exclusive Samples

Inclusive Samples %

Exclusive Samples %

__wt_sleep

39

39

0.03

0.03

__wt_yield

10

10

0.01

0.01

`string'

19

19

0.02

0.02

Sleep

11

11

0.01

0.01

SleepEx

9,269

9,269

7.46

7.46

SleepEx

446

446

0.36

0.36

SleepEx

30

30

0.02

0.02

SleepStub

20

20

0.02

0.02

SwitchToThread

4,195

4,195

3.37

3.37

SwitchToThread

46

46

0.04

0.04

SwitchToThreadStub

24

24

0.02

0.02