lkml.org 
[lkml]   [2003]   [Jul]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: [PATCH] print_dev_t for 2.6.0-test1-mm
    Date
    Followup to:  <20030716222015.GB1964@win.tue.nl>
    By author: Andries Brouwer <aebr@win.tue.nl>
    In newsgroup: linux.dev.kernel
    > > >
    > > > 16-bit only: 8:8, otherwise 32-bit only: 16:16, otherwise 32:32.
    >
    > > Why do we need the 16:16 option?
    >
    > It is not very important, but major 0 is reserved, so if userspace
    > (or a filesystem) hands us a 32-bit device number, we have to
    > split that in some way, not 0+32. Life is easiest with 16+16.
    > (Now the major is nonzero, otherwise we had 8+8.)
    > Other choices lead to slightly more complicated code.
    >

    I would still recommend the arrangement for 64-bit dev_t that I posted
    a while ago:

    dev_t<63:40> := major<31:8>
    dev_t<39:16> := minor<31:8>
    dev_t<15:8> := major<7:0>
    dev_t<7:0> := minor<7:0>

    No aliasing, no forbidden bit patterns, no conditional code, no need
    for magic numbers, and it's fully compatible with the current
    LSB-adjusted user space dev_t format. I also posted i386 code for the
    various operations to show that they really can be done with very
    little code.

    If you want, you can even make it 32-bit-friendly, although it makes
    it more complex; for example, this version would implement 32-bit with
    a 12:20 split:

    dev_t<63:44> := major<31:12>
    dev_t<43:32> := minor<31:20>
    dev_t<31:28> := major<11:8>
    dev_t<27:16> := minor<19:8>
    dev_t<15:8> := major<7:0>
    dev_t<7:0> := minor<7:0>

    -hpa
    --
    <hpa@transmeta.com> at work, <hpa@zytor.com> in private!
    If you send me mail in HTML format I will assume it's spam.
    "Unix gives you enough rope to shoot yourself in the foot."
    Architectures needed: ia64 m68k mips64 ppc ppc64 s390 s390x sh v850 x86-64
    -
    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/

    \
     
     \ /
      Last update: 2005-03-22 13:46    [W:2.781 / U:0.032 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site