Hi,
for any patch it’s best to not just show a single large diff but to split the changes into logically related commits. You’re probably working with Git, so the unit that we’re working with is a Git commit. You should group related changes and commit them together. The commit message should describe the changes in a GNU-style ChangeLog format; you may also add additional descriptions. Here’s an example: --8<---------------cut here---------------start------------->8--- kern: Frobnicate the jabberwocky. In order to frobnicate the jabberwocky without confusion we only add the core functionality here. * kern/smp.c, kern/smp.h: New files. * Makefrag.am (libkernel_a_SOURCES): Add them. --8<---------------cut here---------------end--------------->8--- To commit only some changes and not others you can select lines of interest with “git add -p” (or similar). Once all connected changes have been staged you can commit them. Do this repeatedly until you have a series of commits that are all small enough that a reviewer can understand them (and thus your thinking) at a glance. You can then turn that series of commits into a series of patches with “git format-patch”. For example, “git format-patch -10” will generate 10 patch files from the last 10 commits. You can attach these patches to an email, or if you have configured “git send-email” correctly you could send them directly via email to this list. A reviewer can then comment on each commit individually and apply them one by one if they pass muster. (This process is similar for most GNU packages.) Hope this helps! -- Ricardo