Re: [PATCH v2 00/15] Habana Labs kernel driver

From: Oded Gabbay
Date: Mon Feb 11 2019 - 07:45:33 EST


On Sat, Feb 9, 2019 at 12:05 AM Oded Gabbay <oded.gabbay@xxxxxxxxx> wrote:
>
> On Sun, Feb 3, 2019 at 10:35 PM Oded Gabbay <oded.gabbay@xxxxxxxxx> wrote:
> >
> > On Sun, Feb 3, 2019 at 1:50 PM Mike Rapoport <rppt@xxxxxxxxxxxxx> wrote:
> > >
> > > Hi Oded,
> > >
> > > On Thu, Jan 31, 2019 at 12:06:02AM +0200, Oded Gabbay wrote:
> > > > Hello,
> > > > This is v2 of the Habana Labs kernel driver patch-set. It contains fixes
> > > > for almost everything that was brought up in the review of v1.
> > > >
> > > > In addition to local changes in each patch that are detailed in each
> > > > patch's commit message, the global/major changes are:
> > > >
> > > > - Rebased on v5.0-rc4
> > > > - Removed all bitfields from interface files to H/W and F/W
> > > > - Use __le16/32/64 instead of __u16/32/64 in F/W or H/W structures
> > >
> > > For v2 I had comments only for "[PATCH v2 07/15] habanalabs: add h/w queues
> > > module".
> > >
> > > There are still several over-exited printk calls with three exclamation
> > > marks. ;-)
> > >
> > > I've also spotted several places where checkpatch.pl may complain, but I
> > > was to lazy to actually check it.
> > >
> > > > Link to v1 cover letter: https://lwn.net/Articles/777342/
> > > >
> > > > I would appricate any feedback, question and/or review.
> > > >
> > > > Thanks,
> > > > Oded
> > > >
> > > > p.s. for those who prefer to clone the tree instead of looking at the
> > > > emails, you can grab a copy from our company's page in GitHub:
> > > >
> > > > https://github.com/HabanaAI/linux/releases/tag/hl_patchset_v2_20190130
> > > >
> > > > Oded Gabbay (14):
> > > > habanalabs: add skeleton driver
> > > > habanalabs: add Goya registers header files
> > >
> > > This one is 4.3M which is 6 times the entire habanalabs driver without
> > > those headers.
> > > Any chance some of it can be dropped?
> > Hi Mike,
> > Managed to remove about 30 files (~1.5MB) from this patch. The patch
> > now is around 2.9MB
> > Unfortunately, I don't see how I can reduce it much more without
> > seriously reducing the readability and maintainability of the driver.
> >
> > Oded
> Thought about another idea how to reduce the size of this patch.
> I will separate the registers from the MASK and SHIFT defines into two
> files per H/W block.
> For most of the blocks, I only need the registers file, without all
> the MASK and SHIFT defines of the fields, so I think this will reduce
> most of the patch size.
> I'm talking to our devOps to create for me the new set of files from
> the H/W database and will update on the results, probably by end of
> next week.
>
> Oded
>
I'm happy to say I managed to reduce the total size of the registers
patch to ~1.4MB (from 2.9MB).
I will soon send v4 of the patch-set with this reduction + fixes for
MMU and Greg's comments.

Oded