You should divide the buffer pool size by the huge page size because you want as much huge page space as there is buffer pool space.
The MySQL documentation suggests up to 80% of system memory. Depending on the use case, it's also possible that a much smaller percentage performs just as well as 80%. Buffer pool size is also automatically set to 75% of system memory if you use the innodb_dedicated_server option (See MySQL docs).
Why might it be a good idea to increase how often a mutex lock is checked before the running thread yields?
Reducing context switching helps performance. Spending a bit longer in checking locks before yielding by increasing innodb_sync_spin_loops usually provides performance gains.