PsCreateSystemThread and InitializeObjectAttributes?

What are advised parameters for InitializeObjectAttributes when it is
used to create threads by PsCreateSystemThread? And what are advised
parameters to PsCreateSystemThread?

I know about OBJ_KERNEL_HANDLE, but what other parameters can be specified
and what do they mean for threads? e.g. I’m interesting in creating a
“named” thread for purposes of debugging, could this be possible?

Do I need to specify “Security descriptor”? What goods and bad it gives if
I do?

What is the differenece between THREAD_ALL_ACCESS and (ACCESS_MASK)0L in
DesiredAccess parameter (both of them can be seen in DDK samples).
(suppose I don’t want to create thread in other process space, only
system-context threads…)

Is there any “number one” spec about using ACCESS_MASK for misc. types of
kernel objects? (direct link advised)

Thank you in advance.