Re: [PATCH] mm: Create the new vm_fault_t type

From: Mike Rapoport
Date: Tue Nov 06 2018 - 01:21:49 EST


On Mon, Nov 05, 2018 at 07:23:55PM +0530, Souptick Joarder wrote:
> On Mon, Nov 5, 2018 at 2:43 PM Mike Rapoport <rppt@xxxxxxxxxxxxx> wrote:
> >
> > On Mon, Nov 05, 2018 at 11:14:17AM +0530, Souptick Joarder wrote:
> > > Hi Matthew,
> > >
> > > On Sun, Nov 4, 2018 at 2:06 PM Mike Rapoport <rppt@xxxxxxxxxxxxx> wrote:
> > > >
> > > > On Sat, Nov 03, 2018 at 05:02:36AM -0700, Matthew Wilcox wrote:
> > > > > On Sat, Nov 03, 2018 at 10:35:04AM +0530, Souptick Joarder wrote:

> > > > > > +typedef __bitwise unsigned int vm_fault_t;
> > > > > > +
> > > > > > +/**
> > > > > > + * enum - VM_FAULT code
> > > > >
> > > > > Can you document an anonymous enum? I've never tried. Did you run this
> > > > > through 'make htmldocs'?
> > > >
> > > > You cannot document an anonymous enum.
> > >
> > > I assume, you are pointing to Document folder and I don't know if this
> > > enum need to be documented or not.
> >
> > The enum should be documented, even if it's documentation is (yet) not
> > linked anywhere in the Documentation/
> >
> > > I didn't run 'make htmldocs' as there is no document related changes.
> >
> > You can verify that kernel-doc can parse your documentation by running
> >
> > scripts/kernel-doc -none -v <filename>
>
> I run "scripts/kernel-doc -none -v include/linux/mm_types.h" and it is showing
> below error and warning which is linked to enum in discussion.
>
> include/linux/mm_types.h:612: info: Scanning doc for typedef vm_fault_t
> include/linux/mm_types.h:623: info: Scanning doc for enum
> include/linux/mm_types.h:628: warning: contents before sections
> include/linux/mm_types.h:660: error: Cannot parse enum!
> 1 errors
> 1 warnings
>
> Shall I keep the documentation for enum or remove it from this patch ?

The documentation should be there, you just need to add a name for the
enum. Then kernel-doc will be able to parse it.

> > > >
> > > > > > + * This enum is used to track the VM_FAULT code return by page
> > > > > > + * fault handlers.
> > > > >

I think that the enum description should also include the text from the
comment that described VM_FAULT_* defines:

/*
* Different kinds of faults, as returned by handle_mm_fault().
* Used to decide whether a process gets delivered SIGBUS or
* just gets major/minor fault counters bumped up.
*/



--
Sincerely yours,
Mike.