Conversation
Often my process for understanding a part of mm that I don't currently is to find some 'hook' or initial starting point, even if that's searching for a certain word (though easier if I know where something will be initially performed).

For instance with swap, I knew where it faulted, i.e. do_swap_page(), and from there you can start pulling threads together.

At that point I like to start writing notes in my e-ink tablet (nothing beats freehand writing for notetaking imo).

And then... it's chaos and not understanding for quite some time, trying to figure things out and gradually refine understanding.

Once I have something of a good basis or at least good leads, I find a logical way to start writing up, and that takes care of the rest because writing about something in thorough detail forces you to understand it and dig in to anything you may have missed in the previous stage.

Finally you reach a point of 'aha!' and things fall into place.

Then a bunch of refinement and cleanup and there's a chapter :)
1
0
3
@ljs so easy, anyone could do it!
1
0
1
@vbabka yeah but you also have to be stupid enough to want to do it too :P
0
0
2