[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: WAW and RAW warnings in kernel build



The only .s file I have was the example from Markstein's
book and which was easily fixed with a .pred.rel "mutex"
as pointed out by David Mosberger.
I could see that the assembler did some analysis as I
wrote the directive against predicates a (logical) step
removed from the instructions generating the warnings
and that eliminated the warnings.

Richard

On Thursday 07 August 2003 09:03 am, Al Stone wrote:
> Just because I'm lazy, I'd appreciate a copy of the .s file :).
> There have been a couple of bugs around predication in the past,
> too.
>
> On Tue, 2003-08-05 at 15:36, Richard Harke wrote:
> > Before trying to locate the precise lines in the kernel, I tried
> > an experiment.  I I took a small routine in assembly
> > from the book "IA64 and Elementary Functions" (page 36) and
> > assembled it.  I got several WAW warnings. All the instructions
> > involved are predicated with it arranged that only one
> > predicate will be true. But apparently the assembler can't detect that.
> > I don't know how much the assembler tries to do in this case
> > but appears to me to be non-trivial. This case involves four
> > predicates all set on the same pass in a loop. But the tests that
> > set them are controlled by two more predictates that are set
> > on a previous pass. And the numbers have changed because
> > of register rotation.
> >
> > I can stil try to find the lines in question in the kernel, if anybody
> > thinks that would be useful. Also, I could email a copy of the
> > routine described above.
> >
> > Richard
> >
> > On Tuesday 05 August 2003 09:19 am, Al Stone wrote:
> > > If someone will send me the snippets of code
> > > with the warnings, I'll take a look at both the code
> > > and gas to see what it's doing....
> > >
> > > On Mon, 2003-08-04 at 15:04, David Mosberger wrote:
> > > > >>>>> On Mon, 4 Aug 2003 10:03:50 -0600, Bjorn Helgaas
> > > > >>>>> <bjorn.helgaas@hp.com> said:
> > > >
> > > >   Bjorn> They've been there for years, so I've learned to ignore
> > > > them.
> > > >
> > > > I wouldn't want to encourage people to ignore those messages.  Yes,
> > > > some of them can be ignored, but if you develop new assembly code,
> > > > I'd definitely pay attention.
> > > >
> > > > Unfortunately, GCC sometimes doesn't provide sufficient annotation to
> > > > the assembler so that it could know that the offending code is indeed
> > > > safe.
> > > >
> > > > Also, in the hand-coded assembly routines, there are a few places
> > > > where hazard warnings are a bit difficult to avoid.  It's something
> > > > we should fix eventually, but it may require some help from gas.
> > > >
> > > > 	--david



Reply to: