P_sequencer / m_sequencer

p - Parent sequencer - Handle for the actual sequencer type

m - m_ should be used to denote a hidden or local variable but is used in this case for a uvm_base_sequencer sequencer handle

p_sequencer can be declared using the `uvm_declare_p_sequencer macro.

But you could also do the following which is equivalent:

my_sequencer p_sequencer;

task body;
assert($cast(p_sequencer, m_sequencer));

p_sequencer could be useful if the actual target sequencer has some methods or variables that you need to access. In most cases m_sequencer has everything you need.