> On Sep 27, 2021, at 5:14 AM, Kirill A. Shutemov <kirill@xxxxxxxxxxxxx> wrote: > > On Mon, Sep 27, 2021 at 03:31:21AM -0700, Nadav Amit wrote: >> >> >>> On Sep 27, 2021, at 2:31 AM, Kirill A. Shutemov <kirill@xxxxxxxxxxxxx> wrote: >>> >>> On Sun, Sep 26, 2021 at 09:12:55AM -0700, Nadav Amit wrote: >>>> From: Nadav Amit <namit@xxxxxxxxxx> >>>> >>>> The different behaviors of madvise are different in several ways, which >>>> are distributed across several functions. Use the design pattern from >>>> iouring in order to define the actions that are required for each >>>> behavior. >>>> >>>> The next patches will get rid of old helper functions that are modified >>>> in this patch and the redundant use of array_index_nospec(). The next >>>> patches will add more actions for each leaf into the new struct. >>> [ snip ] >>> MADV_SOFT_OFFLINE+1 smells bad. >> >> I can set another constant instead and let the compiler shout if anything >> outside the array is initialized. > > I would rather introduce a function that would return struct madvise_info > for a given behavior. The function would have a switch inside. The default: > may have BUILD_BUG() or something. Sounds better than my solution. I will do so.