db2stop/db2start is not required to make a newly created bufferpool useable, but in most cases you must deactivate and reactivate the database for the tablespaces to be able to use the new bufferpool.
This is because, even if the IMMEDIATE option is specified or implicitly assumed
If there is not enough reserved space in the database shared memory to ...
You should handle possible SQLCODE = 20189 (SQLSTATE = '01657') message after CREATE BUFFERPOOL.
The corresponding message looks like below:
db2 "create bufferpool BP8K SIZE XXXXXX"
SQL20189W The buffer pool operation (CREATE/ALTER) will not take effect until
the next database startup due to insufficient memory. SQLSTATE=01657
The corresponding db2diag....