> > So calculate the modulus on the page split count and optimize the > increment ahead of time when possible, and for the sub page split > pieces do it one at a time. > Patch does almost the same with a negligible overhead of a counter for page->_count increment at a later time but still before HW starts using buffers. Difference between NIU driver and this patch is there it's calculate split count, increment page count and then divide page into buffers. Here it's divide page into buffers, have a counter which increments at every split and then at the end do a atomic increment of page->_count.
Any issue with this approach ? Thanks, Sunil.