Re: [PATCH] SCHED: remove proliferation of wait_on_bit action functions.

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

 



On Thu, 5 Jun 2014 14:45:09 +0200 Ingo Molnar <mingo@xxxxxxxxxx> wrote:

> 
> * NeilBrown <neilb@xxxxxxx> wrote:
> 
> > On Thu, 22 May 2014 11:05:02 +0200 Ingo Molnar <mingo@xxxxxxxxxx> wrote:
> > 
> > > 
> > > * NeilBrown <neilb@xxxxxxx> wrote:
> > > 
> > > > [[ get_maintainer.pl suggested 61 email address for this patch.
> > > >    I've trimmed that list somewhat.  Hope I didn't miss anyone
> > > >    important...
> > > >    I'm hoping it will go in through the scheduler tree, but would
> > > >    particularly like an Acked-by for the fscache parts.  Other acks
> > > >    welcome.
> > > > ]]
> > > > 
> > > > The current "wait_on_bit" interface requires an 'action' function
> > > > to be provided which does the actual waiting.
> > > > There are over 20 such functions, many of them identical.
> > > > Most cases can be satisfied by one of just two functions, one
> > > > which uses io_schedule() and one which just uses schedule().
> > > > 
> > > > So:
> > > >  Rename wait_on_bit and        wait_on_bit_lock to
> > > >         wait_on_bit_action and wait_on_bit_lock_action
> > > >  to make it explicit that they need an action function.
> > > > 
> > > >  Introduce new wait_on_bit{,_lock} and wait_on_bit{,_lock}_io
> > > >  which are *not* given an action function but implicitly use
> > > >  a standard one.
> > > >  The decision to error-out if a signal is pending is now made
> > > >  based on the 'mode' argument rather than being encoded in the action
> > > >  function.
> > > 
> > > this patch fails to build on x86-32 allyesconfigs.
> > 
> > Could you share the build errors?
> 
> Sure, find it attached below.

Thanks.

It looks like this is a wait_on_bit usage that was added after I created the
patch.

How about you drop my patch for now, we wait for -rc1 to come out, then I
submit a new version against -rc1 and we get that into -rc2.
That should minimise such conflicts.

Does that work for you?

Thanks,
NeilBrown


> 
> > > 
> > > Could we keep the old names for a while, and remove them in the next 
> > > cycle or so?
> > 
> > I don't see how changing the names later rather than now will reduce the
> > chance of errors... maybe I'm missing something.
> 
> Well, it would reduce build errors?
> 
> Thanks,
> 
> 	Ingo
> 
> ====================>
> fs/cifs/file.c: In function ‘cifs_oplock_break’:
> fs/cifs/file.c:3652:4: warning: passing argument 3 of ‘wait_on_bit’ makes integer from pointer without a cast [enabled by default]
>     cifs_pending_writers_wait, TASK_UNINTERRUPTIBLE);
>     ^
> In file included from include/linux/fs.h:6:0,
>                  from fs/cifs/file.c:24:
> include/linux/wait.h:878:1: note: expected ‘unsigned int’ but argument is of type ‘int (*)(void *)’
>  wait_on_bit(void *word, int bit, unsigned mode)
>  ^
> fs/cifs/file.c:3652:4: error: too many arguments to function ‘wait_on_bit’
>     cifs_pending_writers_wait, TASK_UNINTERRUPTIBLE);
>     ^
> In file included from include/linux/fs.h:6:0,
>                  from fs/cifs/file.c:24:
> include/linux/wait.h:878:1: note: declared here
>  wait_on_bit(void *word, int bit, unsigned mode)
>  ^
>   CC      kernel/smp.o
>   CC      kernel/trace/trace_event_perf.o
> make[2]: *** [fs/cifs/file.o] Error 1
> make[2]: *** Waiting for unfinished jobs....
>   CC      drivers/bcma/sprom.o
>   CC      fs/btrfs/locking.o
>   LD      sound/isa/ad1848/snd-ad1848.o
>   LD      sound/isa/ad1848/built-in.o
>   CC      sound/isa/cs423x/cs4231.o
>   CC      lib/fonts/fonts.o
>   CC      lib/fonts/font_sun8x16.o
>   CC      drivers/bcma/driver_chipcommon.o
>   CC      lib/fonts/font_sun12x22.o

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux