Messages in this thread | ![/](/images/icornerl.gif) | | Date | Sun, 20 Apr 2003 22:26:07 +0100 | From | viro@parcelfa ... | Subject | Re: [CFT] more kdev_t-ectomy |
| |
On Sun, Apr 20, 2003 at 11:17:17PM +0200, Andries.Brouwer@cwi.nl wrote:
> Given a number, one can copy it around freely, without the need > to obtain a reference each time one copies it. > Many of these numbers are just copied around and never used. > In such a case, refcounting is a real waste of time.
Excuse me, but "copied around and never used" is by definition a real waste of time. And proper fix is neither "keep it" nor "replace with pointer". It's "kill it".
> By now all uses of mk_kdev()/major()/minor()/MAJOR()/MINOR() in the drivers > are either trivially removable or represent very real problems. And it's > not that there was a lot of them - in my current tree there's ~85 instances > of kdev_t in the source. And only one of them (->i_rdev) is widely used - > ~500 instances, most of them go away as soon as CIDR patch gets merged. > The rest is part noise, part real bugs that need to be fixed anyway > (~40--80 of those). > > Yes, I tend to agree. Funny that you do not mention MKDEV - that was > the thing I worked on eliminating long ago.
No, I do not mention it. And for a good reason. It's the only constructor for constant values of dev_t. You could keep every such value in two fields, but then you get all their uses go in pairs and starting with MKDEV(). Or have lookup code play with MAJOR()/MINOR() for no good reason whatsoever.
MKDEV(<constant>,<constant>) is a valid thing, as far as I'm concerned. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| ![\](/images/icornerr.gif) |