Re: [PATCH v2] Increase page and bit waitqueue hash size

2021-03-17 Thread Linus Torvalds
On Wed, Mar 17, 2021 at 3:23 PM Nicholas Piggin wrote: > > Might take some time to get a system and run tests. We actually had > difficulty recreating it before this patch too, so it's kind of > hard to say _that_ was the exact case that previously ran badly and > is now fixed. We thought just the

Re: [PATCH v2] Increase page and bit waitqueue hash size

2021-03-17 Thread Nicholas Piggin
Excerpts from Linus Torvalds's message of March 18, 2021 5:26 am: > On Wed, Mar 17, 2021 at 3:44 AM Nicholas Piggin wrote: >> >> Argh, because I didn't test small. Sorry I had the BASE_SMALL setting in >> another patch and thought it would be a good idea to mash them together. >> In hindsight prob

Re: [PATCH v2] Increase page and bit waitqueue hash size

2021-03-17 Thread Linus Torvalds
On Wed, Mar 17, 2021 at 3:44 AM Nicholas Piggin wrote: > > Argh, because I didn't test small. Sorry I had the BASE_SMALL setting in > another patch and thought it would be a good idea to mash them together. > In hindsight probably not even if it did build. I was going to complain about that code

Re: [PATCH v2] Increase page and bit waitqueue hash size

2021-03-17 Thread kernel test robot
Hi Nicholas, I love your patch! Perhaps something to improve: [auto build test WARNING on linux/master] [also build test WARNING on linus/master hnaz-linux-mm/master v5.12-rc3 next-20210317] [cannot apply to tip/sched/core] [If your patch is applied to the wrong git tree, kindly drop us a note.

Re: [PATCH v2] Increase page and bit waitqueue hash size

2021-03-17 Thread kernel test robot
Hi Nicholas, I love your patch! Yet something to improve: [auto build test ERROR on linux/master] [also build test ERROR on tip/sched/core linus/master v5.12-rc3 next-20210317] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--

Re: [PATCH v2] Increase page and bit waitqueue hash size

2021-03-17 Thread Nicholas Piggin
Excerpts from Rasmus Villemoes's message of March 17, 2021 8:12 pm: > On 17/03/2021 08.54, Nicholas Piggin wrote: > >> +#if CONFIG_BASE_SMALL >> +static const unsigned int page_wait_table_bits = 4; >> static wait_queue_head_t page_wait_table[PAGE_WAIT_TABLE_SIZE] >> __cacheline_aligned; > >>

Re: [PATCH v2] Increase page and bit waitqueue hash size

2021-03-17 Thread Rasmus Villemoes
On 17/03/2021 08.54, Nicholas Piggin wrote: > +#if CONFIG_BASE_SMALL > +static const unsigned int page_wait_table_bits = 4; > static wait_queue_head_t page_wait_table[PAGE_WAIT_TABLE_SIZE] > __cacheline_aligned; > > + if (!CONFIG_BASE_SMALL) { > + page_wait_table = alloc_large

Re: [PATCH v2] Increase page and bit waitqueue hash size

2021-03-17 Thread Nicholas Piggin
Excerpts from Ingo Molnar's message of March 17, 2021 6:38 pm: > > * Nicholas Piggin wrote: > >> The page waitqueue hash is a bit small (256 entries) on very big systems. A >> 16 socket 1536 thread POWER9 system was found to encounter hash collisions >> and excessive time in waitqueue locking at

Re: [PATCH v2] Increase page and bit waitqueue hash size

2021-03-17 Thread Ingo Molnar
* Nicholas Piggin wrote: > The page waitqueue hash is a bit small (256 entries) on very big systems. A > 16 socket 1536 thread POWER9 system was found to encounter hash collisions > and excessive time in waitqueue locking at times. This was intermittent and > hard to reproduce easily with the s

[PATCH v2] Increase page and bit waitqueue hash size

2021-03-17 Thread Nicholas Piggin
The page waitqueue hash is a bit small (256 entries) on very big systems. A 16 socket 1536 thread POWER9 system was found to encounter hash collisions and excessive time in waitqueue locking at times. This was intermittent and hard to reproduce easily with the setup we had (very little real IO capa