Perform a thorough copy-editing pass across three more files in the
process documentation directory. Expand informal contractions, correct
minor punctuation oversights, and refine the voice to maintain a
professional tone, especially replacing "which" with "that" in
restrictive clauses.

Signed-off-by: Nguyen Duc Thinh <[email protected]>
---
 Documentation/process/2.Process.rst | 22 ++++++-------
 Documentation/process/4.Coding.rst  | 48 ++++++++++++++---------------
 Documentation/process/5.Posting.rst | 34 ++++++++++----------
 3 files changed, 52 insertions(+), 52 deletions(-)

diff --git a/Documentation/process/2.Process.rst 
b/Documentation/process/2.Process.rst
index d09fa23d6c42a..2443e0eca3525 100644
--- a/Documentation/process/2.Process.rst
+++ b/Documentation/process/2.Process.rst
@@ -29,7 +29,7 @@ releases, along with their dates, can be found at `Wikipedia
 
 A relatively straightforward discipline is followed with regard to the
 merging of patches for each release.  At the beginning of each development
-cycle, the "merge window" is said to be open.  At that time, code which is
+cycle, the "merge window" is said to be open.  At that time, code that is
 deemed to be sufficiently stable (and which is accepted by the development
 community) is merged into the mainline kernel.  The bulk of changes for a
 new development cycle (and all of the major changes) will be merged during
@@ -49,7 +49,7 @@ be called 9.x-rc1.  The -rc1 release is the signal that the 
time to
 merge new features has passed, and that the time to stabilize the next
 kernel has begun.
 
-Over the next six to ten weeks, only patches which fix problems should be
+Over the next six to ten weeks, only patches that fix problems should be
 submitted to the mainline.  On occasion a more significant change will be
 allowed, but such occasions are rare; developers who try to merge new
 features outside of the merge window tend to get an unfriendly reception.
@@ -99,7 +99,7 @@ go out with a handful of known regressions, though, 
hopefully, none of them
 are serious.
 
 Once a stable release is made, its ongoing maintenance is passed off to the
-"stable team," currently consists of Greg Kroah-Hartman and Sasha Levin. The
+"stable team," which currently consists of Greg Kroah-Hartman and Sasha Levin. 
The
 stable team will release occasional updates to the stable release using the
 9.x.y numbering scheme.
 
@@ -140,7 +140,7 @@ The lifecycle of a patch
 Patches do not go directly from the developer's keyboard into the mainline
 kernel.  There is, instead, a somewhat involved (if somewhat informal)
 process designed to ensure that each patch is reviewed for quality and that
-each patch implements a change which is desirable to have in the mainline.
+each patch implements a change that is desirable to have in the mainline.
 This process can happen quickly for minor fixes, or, in the case of large
 and controversial changes, go on for years.  Much developer frustration
 comes from a lack of understanding of this process or from attempts to
@@ -185,7 +185,7 @@ The stages that a patch goes through are, generally:
  - Merging into the mainline.  Eventually, a successful patch will be
    merged into the mainline repository managed by Linus Torvalds.  More
    comments and/or problems may surface at this time; it is important that
-   the developer be responsive to these and fix any issues which arise.
+   the developer be responsive to these and fix any issues that arise.
 
  - Stable release.  The number of users potentially affected by the patch
    is now large, so, once again, new problems may arise.
@@ -208,7 +208,7 @@ How patches get into the Kernel
 
 There is exactly one person who can merge patches into the mainline kernel
 repository: Linus Torvalds. But, for example, of the over 9,500 patches
-which went into the 2.6.38 kernel, only 112 (around 1.3%) were directly
+that went into the 2.6.38 kernel, only 112 (around 1.3%) were directly
 chosen by Linus himself. The kernel project has long since grown to a size
 where no single developer could possibly inspect and select every patch
 unassisted. The way the kernel developers have addressed this growth is
@@ -235,7 +235,7 @@ Linus agrees, the stream of patches will flow up into his 
repository,
 becoming part of the mainline kernel.  The amount of attention that Linus
 pays to specific patches received in a pull operation varies.  It is clear
 that, sometimes, he looks quite closely.  But, as a general rule, Linus
-trusts the subsystem maintainers to not send bad patches upstream.
+trusts subsystem maintainers not to send bad patches upstream.
 
 Subsystem maintainers, in turn, can pull patches from other maintainers.
 For example, the networking tree is built from patches which accumulated
@@ -255,7 +255,7 @@ Next trees
 
 The chain of subsystem trees guides the flow of patches into the kernel,
 but it also raises an interesting question: what if somebody wants to look
-at all of the patches which are being prepared for the next merge window?
+at all of the patches that are being prepared for the next merge window?
 Developers will be interested in what other changes are pending to see
 whether there are any conflicts to worry about; a patch which changes a
 core kernel function prototype, for example, will conflict with any other
@@ -310,7 +310,7 @@ The kernel source tree contains the drivers/staging/ 
directory, where
 many sub-directories for drivers or filesystems that are on their way to
 being added to the kernel tree live.  They remain in drivers/staging while
 they still need more work; once complete, they can be moved into the
-kernel proper.  This is a way to keep track of drivers that aren't
+kernel proper.  This is a way to keep track of drivers that are not
 up to Linux kernel coding or quality standards, but people may want to use
 them and track development.
 
@@ -349,7 +349,7 @@ for kernel development, in that it performs quite well when 
dealing with
 large repositories and large numbers of patches.  It also has a reputation
 for being difficult to learn and use, though it has gotten better over
 time.  Some sort of familiarity with Git is almost a requirement for kernel
-developers; even if they do not use it for their own work, they'll need Git
+developers; even if they do not use it for their own work, they will need Git
 to keep up with what other developers (and the mainline) are doing.
 
 Git is now packaged by almost all Linux distributions.  There is a home
@@ -483,7 +483,7 @@ Andrew Morton gives this advice for aspiring kernel 
developers
        that the kernel runs perfectly at all times on all machines which
        you can lay your hands on".  Usually the way to do this is to work
        with others on getting things fixed up (this can require
-       persistence!) but that's fine - it's a part of kernel development.
+       persistence!) but that is fine - it is a part of kernel development.
 
 (https://lwn.net/Articles/283982/).
 
diff --git a/Documentation/process/4.Coding.rst 
b/Documentation/process/4.Coding.rst
index c0f57d0c4f733..bdc389f164a0e 100644
--- a/Documentation/process/4.Coding.rst
+++ b/Documentation/process/4.Coding.rst
@@ -5,11 +5,11 @@ Getting the code right
 
 While there is much to be said for a solid and community-oriented design
 process, the proof of any kernel development project is in the resulting
-code.  It is the code which will be examined by other developers and merged
-(or not) into the mainline tree.  So it is the quality of this code which
+code.  It is the code that will be examined by other developers and merged
+(or not) into the mainline tree.  So it is the quality of this code that
 will determine the ultimate success of the project.
 
-This section will examine the coding process.  We'll start with a look at a
+This section will examine the coding process.  We will start with a look at a
 number of ways in which kernel developers can go wrong.  Then the focus
 will shift toward doing things right and the tools which can help in that
 quest.
@@ -25,7 +25,7 @@ The kernel has long had a standard coding style, described in
 :ref:`Documentation/process/coding-style.rst <codingstyle>`.  For much of
 that time, the policies described in that file were taken as being, at most,
 advisory.  As a result, there is a substantial amount of code in the kernel
-which does not meet the coding style guidelines.  The presence of that code
+that does not meet the coding style guidelines.  The presence of that code
 leads to two independent hazards for kernel developers.
 
 The first of these is to believe that the kernel coding standards do not
@@ -43,7 +43,7 @@ win before the code can be merged.  Putting code into the 
kernel means
 giving up a degree of control in a number of ways - including control over
 how the code is formatted.
 
-The other trap is to assume that code which is already in the kernel is
+The other trap is to assume that code that is already in the kernel is
 urgently in need of coding style fixes.  Developers may start to generate
 reformatting patches as a way of gaining familiarity with the process, or
 as a way of getting their name into the kernel changelogs - or both.  But
@@ -82,10 +82,10 @@ But experience has shown that excessive or premature 
abstraction can be
 just as harmful as premature optimization.  Abstraction should be used to
 the level required and no further.
 
-At a simple level, consider a function which has an argument which is
+At a simple level, consider a function that has an argument that is
 always passed as zero by all callers.  One could retain that argument just
 in case somebody eventually needs to use the extra flexibility that it
-provides.  By that time, though, chances are good that the code which
+provides.  By that time, though, chances are good that the code that
 implements this extra argument has been broken in some subtle way which was
 never noticed - because it has never been used.  Or, when the need for
 extra flexibility arises, it does not do so in a way which matches the
@@ -111,12 +111,12 @@ replicating the same code throughout the kernel.
 The C preprocessor seems to present a powerful temptation to some C
 programmers, who see it as a way to efficiently encode a great deal of
 flexibility into a source file.  But the preprocessor is not C, and heavy
-use of it results in code which is much harder for others to read and
+use of it results in code that is much harder for others to read and
 harder for the compiler to check for correctness.  Heavy preprocessor use
-is almost always a sign of code which needs some cleanup work.
+is almost always a sign of code that needs some cleanup work.
 
 Conditional compilation with #ifdef is, indeed, a powerful feature, and it
-is used within the kernel.  But there is little desire to see code which is
+is used within the kernel.  But there is little desire to see code that is
 sprinkled liberally with #ifdef blocks.  As a general rule, #ifdef use
 should be confined to header files whenever possible.
 Conditionally-compiled code can be confined to functions which, if the code
@@ -127,7 +127,7 @@ code which is easier to follow.
 C preprocessor macros present a number of hazards, including possible
 multiple evaluation of expressions with side effects and no type safety.
 If you are tempted to define a macro, consider creating an inline function
-instead.  The code which results will be the same, but inline functions are
+instead.  The code that results will be the same, but inline functions are
 easier to read, do not evaluate their arguments multiple times, and allow
 the compiler to perform type checking on the arguments and return value.
 
@@ -149,7 +149,7 @@ example of premature optimization.
 In general, kernel programmers ignore cache effects at their peril.  The
 classic time/space tradeoff taught in beginning data structures classes
 often does not apply to contemporary hardware.  Space *is* time, in that a
-larger program will run slower than one which is more compact.
+larger program will run slower than one that is more compact.
 
 More recent compilers take an increasingly active role in deciding whether
 a given function should actually be inlined or not.  So the liberal
@@ -181,12 +181,12 @@ single-processor systems, work being done to improve 
responsiveness will
 raise the level of concurrency within the kernel.  The days when kernel
 code could be written without thinking about locking are long past.
 
-Any resource (data structures, hardware registers, etc.) which could be
+Any resource (data structures, hardware registers, etc.) that could be
 accessed concurrently by more than one thread must be protected by a lock.
 New code should be written with this requirement in mind; retrofitting
 locking after the fact is a rather more difficult task.  Kernel developers
 should take the time to understand the available locking primitives well
-enough to pick the right tool for the job.  Code which shows a lack of
+enough to pick the right tool for the job.  Code that shows a lack of
 attention to concurrency will have a difficult path into the mainline.
 
 
@@ -194,10 +194,10 @@ Regressions
 ***********
 
 One final hazard worth mentioning is this: it can be tempting to make a
-change (which may bring big improvements) which causes something to break
+change (which may bring big improvements) that causes something to break
 for existing users.  This kind of change is called a "regression," and
 regressions have become most unwelcome in the mainline kernel.  With few
-exceptions, changes which cause regressions will be backed out if the
+exceptions, changes that cause regressions will be backed out if the
 regression cannot be fixed in a timely manner.  Far better to avoid the
 regression in the first place.
 
@@ -232,8 +232,8 @@ For now, at least, the writing of error-free code remains 
an ideal that few
 of us can reach.  What we can hope to do, though, is to catch and fix as
 many of those errors as possible before our code goes into the mainline
 kernel.  To that end, the kernel developers have put together an impressive
-array of tools which can catch a wide variety of obscure problems in an
-automated way.  Any problem caught by the computer is a problem which will
+array of tools that can catch a wide variety of obscure problems in an
+automated way.  Any problem caught by the computer is a problem that will
 not afflict a user later on, so it stands to reason that the automated
 tools should be used whenever possible.
 
@@ -248,7 +248,7 @@ its cause.
 Note that not all compiler warnings are enabled by default.  Build the
 kernel with "make KCFLAGS=-W" to get the full set.
 
-The kernel provides several configuration options which turn on debugging
+The kernel provides several configuration options that turn on debugging
 features; most of these are found in the "kernel hacking" submenu.  Several
 of these options should be turned on for any kernel used for development or
 testing purposes.  In particular, you should turn on:
@@ -259,7 +259,7 @@ testing purposes.  In particular, you should turn on:
 
  - DEBUG_OBJECTS will add code to track the lifetime of various objects
    created by the kernel and warn when things are done out of order.  If
-   you are adding a subsystem which creates (and exports) complex objects
+   you are adding a subsystem that creates (and exports) complex objects
    of its own, consider adding support for the object debugging
    infrastructure.
 
@@ -288,13 +288,13 @@ locking should be run with lockdep enabled before being 
submitted for
 inclusion.
 
 As a diligent kernel programmer, you will, beyond doubt, check the return
-status of any operation (such as a memory allocation) which can fail.  The
+status of any operation (such as a memory allocation) that can fail.  The
 fact of the matter, though, is that the resulting failure recovery paths
 are, probably, completely untested.  Untested code tends to be broken code;
 you could be much more confident of your code if all those error-handling
 paths had been exercised a few times.
 
-The kernel provides a fault injection framework which can do exactly that,
+The kernel provides a fault injection framework that can do exactly that,
 especially where memory allocations are involved.  With fault injection
 enabled, a configurable percentage of memory allocations will be made to
 fail; these failures can be restricted to a specific range of code.
@@ -348,7 +348,7 @@ understand the patch.  Be sure that the changelog says 
*why* the patch is
 worth applying; a surprising number of developers fail to provide that
 information.
 
-Any code which adds a new user-space interface - including new sysfs or
+Any code that adds a new user-space interface - including new sysfs or
 /proc files - should include documentation of that interface which enables
 user-space developers to know what they are working with.  See
 Documentation/ABI/README for a description of how this documentation should
@@ -385,7 +385,7 @@ be accompanied by a line explaining why the barrier is 
necessary.  The
 locking rules for data structures generally need to be explained somewhere.
 Major data structures need comprehensive documentation in general.
 Non-obvious dependencies between separate bits of code should be pointed
-out.  Anything which might tempt a code janitor to make an incorrect
+out.  Anything that might tempt a code janitor to make an incorrect
 "cleanup" needs a comment saying why it is done the way it is.  And so on.
 
 
diff --git a/Documentation/process/5.Posting.rst 
b/Documentation/process/5.Posting.rst
index b8a449980452e..b33d9563f69bb 100644
--- a/Documentation/process/5.Posting.rst
+++ b/Documentation/process/5.Posting.rst
@@ -6,7 +6,7 @@ Posting patches
 Sooner or later, the time comes when your work is ready to be presented to
 the community for review and, eventually, inclusion into the mainline
 kernel.  Unsurprisingly, the kernel development community has evolved a set
-of conventions and procedures which are used in the posting of patches;
+of conventions and procedures that are used in the posting of patches;
 following them will make life much easier for everybody involved.  This
 document will attempt to cover these expectations in reasonable detail;
 more information can also be found in the files
@@ -24,17 +24,17 @@ feedback from the community before the work is complete.  
So you should
 consider posting in-progress work, or even making a Git tree available so
 that interested developers can catch up with your work at any time.
 
-When posting code which is not yet considered ready for inclusion, it is a
+When posting code that is not yet considered ready for inclusion, it is a
 good idea to say so in the posting itself.  Also mention any major work
-which remains to be done and any known problems.  Fewer people will look at
-patches which are known to be half-baked, but those who do will come in
+that remains to be done and any known problems.  Fewer people will look at
+patches that are known to be half-baked, but those who do will come in
 with the idea that they can help you drive the work in the right direction.
 
 
 Before creating patches
 -----------------------
 
-There are a number of things which should be done before you consider
+There are a number of things that should be done before you consider
 sending patches to the development community.  These include:
 
  - Test the code to the extent that you can.  Make use of the kernel's
@@ -85,12 +85,12 @@ Only the most simple changes should be formatted as a 
single patch;
 everything else should be made as a logical series of changes.  Splitting
 up patches is a bit of an art; some developers spend a long time figuring
 out how to do it in the way that the community expects.  There are a few
-rules of thumb, however, which can help considerably:
+rules of thumb, however, that can help considerably:
 
  - The patch series you post will almost certainly not be the series of
    changes found in your working revision control system.  Instead, the
    changes you have made need to be considered in their final form, then
-   split apart in ways which make sense.  The developers are interested in
+   split apart in ways that make sense.  The developers are interested in
    discrete, self-contained changes, not the path you took to get to those
    changes.
 
@@ -98,7 +98,7 @@ rules of thumb, however, which can help considerably:
    patch.  These changes can be small ("add a field to this structure") or
    large (adding a significant new driver, for example), but they should be
    conceptually small and amenable to a one-line description.  Each patch
-   should make a specific change which can be reviewed on its own and
+   should make a specific change that can be reviewed on its own and
    verified to do what it says it does.
 
  - As a way of restating the guideline above: do not mix different types of
@@ -107,7 +107,7 @@ rules of thumb, however, which can help considerably:
    good chance that it will be passed over and the important fix will be
    lost.
 
- - Each patch should yield a kernel which builds and runs properly; if your
+ - Each patch should yield a kernel that builds and runs properly; if your
    patch series is interrupted in the middle, the result should still be a
    working kernel.  Partial application of a patch series is a common
    scenario when the "git bisect" tool is used to find regressions; if the
@@ -115,7 +115,7 @@ rules of thumb, however, which can help considerably:
    users who are engaging in the noble work of tracking down problems.
 
  - Do not overdo it, though.  One developer once posted a set of edits
-   to a single file as 500 separate patches - an act which did not make him
+   to a single file as 500 separate patches - an act that did not make him
    the most popular person on the kernel mailing list.  A single patch can
    be reasonably large as long as it still contains a single *logical*
    change.
@@ -125,11 +125,11 @@ rules of thumb, however, which can help considerably:
    in the series enables the whole thing.  This temptation should be
    avoided if possible; if that series adds regressions, bisection will
    finger the last patch as the one which caused the problem, even though
-   the real bug is elsewhere.  Whenever possible, a patch which adds new
+   the real bug is elsewhere.  Whenever possible, a patch that adds new
    code should make that code active immediately.
 
 Working to create the perfect patch series can be a frustrating process
-which takes quite a bit of time and thought after the "real work" has been
+that takes quite a bit of time and thought after the "real work" has been
 done.  When done properly, though, it is time well spent.
 
 
@@ -137,7 +137,7 @@ Patch formatting and changelogs
 -------------------------------
 
 So now you have a perfect series of patches for posting, but the work is
-not done quite yet.  Each patch needs to be formatted into a message which
+not done quite yet.  Each patch needs to be formatted into a message that
 quickly and clearly communicates its purpose to the rest of the world.  To
 that end, each patch will be composed of the following:
 
@@ -164,7 +164,7 @@ that end, each patch will be composed of the following:
    the author of the patch.  Tags will be described in more detail below.
 
 The items above, together, form the changelog for the patch.  Writing good
-changelogs is a crucial but often-neglected art; it's worth spending
+changelogs is a crucial but often-neglected art; it is worth spending
 another moment discussing this issue.  When writing a changelog, you should
 bear in mind that a number of different people will be reading your words.
 These include subsystem maintainers and reviewers who need to decide
@@ -274,7 +274,7 @@ The tags in common use are:
 
 Be careful in the addition of the aforementioned tags to your patches, as all
 except for Cc:, Reported-by:, and Suggested-by: need explicit permission of the
-person named. For those three implicit permission is sufficient if the person
+person named. For those three, implicit permission is sufficient if the person
 contributed to the Linux kernel using that name and email address according
 to the lore archives or the commit history -- and in case of Reported-by:
 and Suggested-by: did the reporting or suggestion in public. Note,
@@ -303,7 +303,7 @@ take care of:
    comes up with.  Please bear in mind that checkpatch.pl, while being the
    embodiment of a fair amount of thought about what kernel patches should
    look like, is not smarter than you.  If fixing a checkpatch.pl complaint
-   would make the code worse, don't do it.
+   would make the code worse, do not do it.
 
 Patches should always be sent as plain text.  Please do not send them as
 attachments; that makes it much harder for reviewers to quote sections of
@@ -312,7 +312,7 @@ message.
 
 When mailing patches, it is important to send copies to anybody who might
 be interested in it.  Unlike some other projects, the kernel encourages
-people to err on the side of sending too many copies; don't assume that the
+people to err on the side of sending too many copies; do not assume that the
 relevant people will see your posting on the mailing lists.  In particular,
 copies should go to:
 
-- 
2.50.1 (Apple Git-155)


Reply via email to